news 2026/8/24 22:29:57

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/8/24 21:20:21

Excalidraw AI简化SCM供应链架构表达

Excalidraw AI简化SCM供应链架构表达 在一次跨国制造企业的线上战略会议上,产品经理打开共享白板,输入一句:“画一个从东南亚原材料商到北美零售门店的四级供应链模型。” 几秒钟后,一张结构清晰、布局合理的流程图自动生成——供…

作者头像 李华
网站建设 2026/8/24 0:15:28

Excalidraw AI生成后端服务依赖关系图

Excalidraw AI生成后端服务依赖关系图 在一次深夜的线上故障复盘会上,团队争论不休:订单服务到底有没有直接调用库存服务?没人记得清最初的架构设计了。这时有人打开浏览器,输入一句自然语言:“画一个包含订单、支付、…

作者头像 李华
网站建设 2026/8/24 21:35:26

【紧急通知】Open-AutoGLM远程权限漏洞曝光,立即检查你的配置!

第一章:Open-AutoGLM远程权限漏洞事件概述近期,开源项目 Open-AutoGLM 被曝存在严重的远程权限提升漏洞,该漏洞允许未经身份验证的攻击者通过构造特定请求获取系统级控制权限。该问题源于其默认配置中未正确限制 API 接口访问策略&#xff0c…

作者头像 李华
网站建设 2026/8/24 0:28:00

为什么你的手势控制总延迟?Open-AutoGLM适配中必须检查的4个关键参数

第一章:为什么你的手势控制总延迟?手势控制技术在智能设备、VR/AR 和人机交互中广泛应用,但用户常遇到响应延迟的问题。延迟不仅影响体验,还可能导致误操作。根本原因通常集中在数据采集、处理算法和系统调度三个方面。传感器采样…

作者头像 李华
网站建设 2026/8/24 7:49:22

3步实现Open-AutoGLM语音控制:手把手教你打造高精度指令识别引擎

第一章:Open-AutoGLM语音指令支持概述Open-AutoGLM 是一个面向智能设备的开源自动语音理解框架,专注于将自然语言语音指令高效转化为可执行的操作命令。该系统结合了端到端的语音识别模型与语义解析引擎,能够在低延迟环境下准确理解用户意图&…

作者头像 李华