news 2026/6/23 21:41:23

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/6/23 3:39:38

Excalidraw AI绘制前端微前端架构图

Excalidraw AI 绘制前端微前端架构图 在大型前端项目日益复杂的今天,一个常见的场景是:架构师在会议中描述“我们将主应用通过 Module Federation 加载三个子应用,分别是订单、用户和商品中心”,话音刚落,产品经理皱眉…

作者头像 李华
网站建设 2026/6/23 19:41:57

Excalidraw手绘风格图表让技术文档更生动

Excalidraw:让技术图表“活”起来的开源白板利器 在一次远程架构评审会上,团队成员正对着屏幕皱眉——PPT里的系统图线条笔直、配色规整,却总让人觉得“像在看年报”。有人提议:“要不我们直接画?”于是大家打开一个链…

作者头像 李华
网站建设 2026/6/23 21:32:45

FactoryIO 自动化仿真:PLC 学习的绝佳入门模型

FactoryIO自动视觉分拣+加工中心+物料装配+立体库入库仿真,统一结构化编程程序做成标准模板框架,PLC学习最佳模型 使用简单的梯形图与SCL语言编写,通俗易懂,写有详细注释,起到抛砖引…

作者头像 李华
网站建设 2026/6/23 20:24:27

9 个降AI率工具,专科生也能轻松应对

9 个降AI率工具,专科生也能轻松应对 AI降重工具:专科生也能轻松应对论文难题 在当前高校教育中,越来越多的学生开始接触到AI写作工具,这虽然提高了写作效率,但也带来了AIGC率过高的问题。尤其对于专科生而言&#xff0…

作者头像 李华
网站建设 2026/6/23 6:45:42

【专家亲授】Open-AutoGLM高可用架构设计与生产环境调优秘籍

第一章:Open-AutoGLM高可用架构设计与生产环境调优概述在大规模语言模型服务部署中,Open-AutoGLM 的高可用架构设计是保障系统稳定性与响应性能的核心。该架构通过多副本部署、动态负载均衡与自动故障转移机制,确保在节点宕机或流量激增时仍能…

作者头像 李华
网站建设 2026/6/23 20:26:35

Open-AutoGLM 快捷键配置完全手册,AI开发者的必备生存技能

第一章:Open-AutoGLM 快捷键配置的核心价值快捷键配置在 Open-AutoGLM 中不仅是效率工具,更是提升交互流畅性的核心机制。通过合理设定键盘指令,用户能够在无需鼠标干预的情况下完成模型调用、上下文切换与结果导出等关键操作,显著…

作者头像 李华