news 2026/1/11 15:31:49

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/9 3:35:40

TriangulateTerrainMap Delaunay 三角剖分创建 3D 地形

一:主要的知识点 1、说明 本文只是教程内容的一小段,因博客字数限制,故进行拆分。主教程链接:vtk教程——逐行解析官网所有Python示例-CSDN博客 2、知识点纪要 本段代码主要涉及的有①Delaunay三角剖分创建3维模型 二&#xf…

作者头像 李华
网站建设 2026/1/10 9:48:20

技术团队必备:Excalidraw实时协作功能深度解析

技术团队必备:Excalidraw实时协作功能深度解析 在一场跨时区的架构评审会上,三位工程师正围在一个“虚拟白板”前激烈讨论。北京的后端负责人拖动一个服务模块,柏林的前端同事立刻看到变化并添加了API调用箭头,而旧金山的AI助手则…

作者头像 李华
网站建设 2025/12/23 18:02:19

语音指令集成难题一网打尽,Open-AutoGLM实战经验全分享

第一章:语音指令集成难题一网打尽,Open-AutoGLM实战经验全分享在现代智能系统开发中,语音指令的无缝集成已成为提升用户体验的关键环节。然而,实际落地过程中常面临语义理解偏差、多轮对话断裂、环境噪声干扰等挑战。Open-AutoGLM…

作者头像 李华
网站建设 2026/1/2 17:21:07

Excalidraw AI构建企业知识图谱的基础工具

Excalidraw AI:构建企业知识图谱的轻量化智能入口 在技术团队的日常协作中,你是否经历过这样的场景?架构师在白板前手绘系统流程,讲到一半被问:“这个服务到底调用的是哪个数据库?” 有人掏出手机拍照&…

作者头像 李华
网站建设 2025/12/24 3:30:03

Excalidraw AI生成深度学习网络结构图

Excalidraw AI生成深度学习网络结构图 在撰写一篇关于ResNet变体的论文时,研究团队需要快速向评审专家解释模型改动:原ResNet-50主干中的第三阶段被替换为轻量级注意力模块,并引入跨层跳跃连接。传统做法是打开绘图软件,手动拖拽矩…

作者头像 李华
网站建设 2025/12/23 0:52:51

Excalidraw AI在智能制造产线规划中的角色

Excalidraw AI在智能制造产线规划中的角色 在某新能源电池模组装配线的项目启动会上,几位工程师围坐在会议室里。机械工程师描述着“上料—焊接—测试—下料”的流程,电气同事却对工位间的信号交互方式感到困惑,而项目经理则不断追问&#xf…

作者头像 李华