当前位置: 首页 > news >正文

RuledSurfaceFilter通过连接两条不平行的三维曲线(这里是两条直线段)来生成一个光滑的、由直线构成的曲面

一:主要的知识点

1、说明

本文只是教程内容的一小段,因博客字数限制,故进行拆分。主教程链接:vtk教程——逐行解析官网所有Python示例-CSDN博客

2、知识点纪要

本段代码主要涉及的有①vtkRuledSurfaceFilter几何生成类介绍


二:代码及注释

import vtkmodules.vtkRenderingOpenGL2 import vtkmodules.vtkInteractionStyle from vtkmodules.vtkCommonColor import vtkNamedColors from vtkmodules.vtkCommonCore import vtkPoints from vtkmodules.vtkCommonDataModel import vtkLine, vtkCellArray, vtkPolyData from vtkmodules.vtkFiltersModeling import vtkRuledSurfaceFilter from vtkmodules.vtkRenderingCore import vtkPolyDataMapper, vtkActor, vtkRenderer, vtkRenderWindow, vtkRenderWindowInteractor def main(): colors = vtkNamedColors() points = vtkPoints() points.InsertNextPoint(0, 0, 1) points.InsertNextPoint(1, 0, 0) points.InsertNextPoint(0, 1, 0) points.InsertNextPoint(1, 1, 1) line1 = vtkLine() line1.GetPointIds().SetId(0, 0) line1.GetPointIds().SetId(1, 1) line2 = vtkLine() line2.GetPointIds().SetId(0, 2) line2.GetPointIds().SetId(1, 3) lines = vtkCellArray() lines.InsertNextCell(line1) lines.InsertNextCell(line2) polydata = vtkPolyData() polydata.SetPoints(points) polydata.SetLines(lines) """ vtkRuledSurfaceFilter 是一个几何生成类 主要用途:从两条或多条 边界曲线(lines / polylines) 之间生成一张“规则的光顺曲面(ruled surface) """ ruledSurfaceFilter = vtkRuledSurfaceFilter() ruledSurfaceFilter.SetInputData(polydata) # SetResolution 在U和V参数方向上的采样密度,更高的分辨率使曲面看起来更光滑 ruledSurfaceFilter.SetResolution(21, 21) """ SetRuledModeToResample 确保两条输入曲线被重新采样到相同数量的点 以便在它们之间创建平行的直线段(称为母线) """ ruledSurfaceFilter.SetRuledModeToResample() mapper = vtkPolyDataMapper() mapper.SetInputConnection(ruledSurfaceFilter.GetOutputPort()) actor = vtkActor() actor.SetMapper(mapper) actor.GetProperty().SetColor(colors.GetColor3d("Banana")) actor.GetProperty().SetSpecular(0.6) actor.GetProperty().SetSpecularPower(30) render = vtkRenderer() render.AddActor(actor) render.SetBackground(colors.GetColor3d("SteelBlue")) render.GetActiveCamera().Azimuth(60) render.GetActiveCamera().Elevation(60) render.ResetCamera() renderWindow = vtkRenderWindow() renderWindow.AddRenderer(render) renderWindow.SetWindowName('RuledSurfaceFilter') iren = vtkRenderWindowInteractor() iren.SetRenderWindow(renderWindow) iren.Initialize() renderWindow.Render() iren.Start() if __name__ == '__main__': main()
http://www.cnnetsun.cn/news/172184.html

相关文章:

  • Excalidraw AI绘制前端微前端架构图
  • Excalidraw手绘风格图表让技术文档更生动
  • FactoryIO 自动化仿真:PLC 学习的绝佳入门模型
  • 9 个降AI率工具,专科生也能轻松应对
  • 【专家亲授】Open-AutoGLM高可用架构设计与生产环境调优秘籍
  • Open-AutoGLM 快捷键配置完全手册,AI开发者的必备生存技能
  • 从零构建AI读书助手,Open-AutoGLM实践路径全公开
  • Open-AutoGLM到底有多强?1个工具解决90%的笔记混乱问题
  • Excalidraw AI促进跨学科协作的潜力
  • 移动应用性能评测指标体系构建
  • 8、无线联网与OSI模型全解析
  • Excalidraw AI生成BI数据分析逻辑图
  • 基于Web的智能家教服务平台设计与实现-计算机毕业设计源码+LW文档
  • Open-AutoGLM异地设备协同管理实战(20年专家私藏方案曝光)
  • 在Bug爆发前“排雷”:预防性测试
  • 你真的懂Open-AutoGLM回滚吗?:从原理到实操的4层防护体系构建
  • 毕业设计 yolo深度学习动物识别
  • 31、SharePoint Web Parts 开发全解析
  • Excalidraw AI功能本地化部署的硬件要求
  • 39、SharePoint 2010 及相关工具安装与站点创建指南
  • (Open-AutoGLM标准化流程首次公开):支撑千万级请求的底层架构设计
  • Excalidraw AI模型版本迭代管理机制
  • 告别复杂编程:Open-AutoGLM无代码平台5大隐藏功能首次曝光
  • 如何用Open-AutoGLM脚本库缩短80%模型部署时间?真相在这里
  • Open-AutoGLM到底有多强?3个真实案例看懂自动流程生成黑科技
  • 3个关键步骤,用Open-AutoGLM实现AI流程秒级部署,效率飙升500%
  • Ceph基础原理分享
  • Excalidraw AI支持多轮对话修改图表
  • 24、SharePoint 内容类型与工作流深度解析
  • 26、深入了解 SharePoint 工作流:从设计到导入