news 2026/4/16 15:02:15

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/4/16 13:16:08

AI赋能Excalidraw:自然语言生成架构图全攻略

AI赋能Excalidraw:自然语言生成架构图全攻略 在一次跨时区的远程技术评审会上,团队正讨论微服务拆分方案。一位工程师刚口头描述完“用户请求经过网关转发到订单和库存服务,最终写入数据库”,另一位便在共享的 Excalidraw 白板中…

作者头像 李华
网站建设 2026/4/14 16:20:02

为什么顶尖团队都在用Open-AutoGLM做语音自动化?真相令人震惊

第一章:为什么顶尖团队都在用Open-AutoGLM做语音自动化?真相令人震惊在人工智能驱动的语音自动化领域,Open-AutoGLM 正迅速成为顶尖技术团队的首选工具。其核心优势在于将大语言模型与语音处理流程深度集成,实现从语音识别、语义理…

作者头像 李华
网站建设 2026/4/16 14:32:37

告别手工归档!Open-AutoGLM自动化方案上线仅需2小时

第一章:告别手工归档——Open-AutoGLM的诞生背景在人工智能与自动化技术飞速发展的今天,企业面临的数据处理压力与日俱增。传统依赖人工操作的文档归档、数据分类和信息提取方式已难以满足高效、精准的业务需求。大量重复性劳动不仅消耗人力资源&#xf…

作者头像 李华
网站建设 2026/4/16 14:32:54

仅限今日公开:Open-AutoGLM 最佳快捷键配置方案(限时收藏)

第一章:Open-AutoGLM 快捷键配置的核心价值在现代开发环境中,效率直接决定生产力。Open-AutoGLM 作为一款智能化代码生成工具,其快捷键配置不仅是操作加速器,更是工作流整合的关键枢纽。通过合理设置快捷键,开发者能够…

作者头像 李华
网站建设 2026/4/16 14:33:25

Open-AutoGLM书籍智能解析技术深度剖析(仅限专业人士阅读)

第一章:Open-AutoGLM书籍阅读记录在深入研究大语言模型自动化推理框架的过程中,Open-AutoGLM作为一个新兴的开源项目,展现了强大的语义理解与任务自分解能力。其核心机制基于动态思维链(Dynamic Chain-of-Thought)生成…

作者头像 李华