news 2026/6/9 22:09:55

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/10 11:55:14

掌握这3种高级配置模式,轻松玩转Open-AutoGLM远程管理

第一章:Open-AutoGLM 远程控制配置 Open-AutoGLM 是一款基于大语言模型的自动化远程控制框架,支持跨平台设备管理与任务调度。通过标准化 API 接口和轻量级代理服务,用户可在任意网络环境下实现对目标主机的安全访问与指令执行。 环境准备 在…

作者头像 李华
网站建设 2026/6/10 12:00:06

混合动力汽车动态规划算法理论油耗计算:Matlab 实现之路

混合动力汽车动态规划算法理论油耗计算,使用matlab编写快速计算程序,整个工程结构模块化,程序清晰易调,输出结果定量统计和图表详尽。 DP为混合动力汽车燃油经济性提供了一种极限油耗的方法,利用DP能够得到特定构型在特…

作者头像 李华
网站建设 2026/6/10 3:18:02

为什么90%的企业都选Open-AutoGLM做文档自动化归档?

第一章:为什么90%的企业都选Open-AutoGLM做文档自动化归档?在数字化转型浪潮中,企业面临海量非结构化文档的管理难题。Open-AutoGLM 凭借其强大的语义理解与自动化处理能力,成为90%头部企业的首选解决方案。该系统基于开源大语言模…

作者头像 李华
网站建设 2026/6/9 21:37:10

Excalidraw AI学术研究引用规范建议

Excalidraw AI学术研究引用规范建议 在当今学术研究与技术设计日益依赖可视化表达的背景下,如何高效、透明且合规地生成技术图示,已成为一个不可忽视的问题。尤其是在系统架构、软件工程或跨学科协作的研究中,图表不仅是成果展示的载体&#…

作者头像 李华
网站建设 2026/6/10 11:24:28

从 6 秒保存到秒级响应:用 SAP ABAP Action Profile 自动邮件发送 Smart Form 的一次真实排障与优化路线

在 SAP CRM(或仍沿用 CRM Order 框架的解决方案)里,保存销售订单看似只是一次业务对象的更新,背后却可能牵动一整串框架逻辑:事务处理、伙伴确定、动作(Action)评估、输出(Smart Form)生成、再到 SAPconnect 外发队列。很多性能问题并不出在你写的那几行增强代码,而是…

作者头像 李华
网站建设 2026/6/9 14:13:48

AI在自动化测试中的反模式:警惕“为了AI而AI”

随着人工智能技术在软件测试领域的快速渗透,越来越多的团队开始将AI驱动测试作为数字化转型的核心战略。然而,在行业狂热追逐技术革新的表象下,一种危险的倾向正在蔓延——将AI视为万能解决方案而忽视测试本质需求的"为了AI而AI"现…

作者头像 李华