当前位置: 首页 > news >正文

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()
http://www.jsqmd.com/news/118581/

相关文章:

  • 2025年南通管道疏通联系方式汇总:全市专业服务商官方联系方式与高效合作指引 - 品牌推荐
  • 为什么90%的企业都低估了Open-AutoGLM的远程诊断能力?真相令人震惊
  • AI赋能Excalidraw:自然语言生成架构图全攻略
  • Excalidraw AI提升市场营销活动策划效率
  • 2025年南通管道疏通联系方式汇总:全市专业服务商官方联系渠道与高效合作指引 - 品牌推荐
  • 从零构建AI读书助手,Open-AutoGLM实践路径全公开
  • 选对苗木批发基地,2025年这份权威榜单请收好!br,金叶女贞/油松/金森女贞/金叶复叶槭/红叶李/丝棉木/栾树苗木批发基地批发商排行榜 - 品牌推荐师
  • 别再错过!Open-AutoGLM仅限内测的功能曝光,手慢无
  • Python有哪些冷门但好用的库?10个隐藏库推荐
  • Excalidraw AI简化SCM供应链架构表达
  • 从杂乱到清晰:Open-AutoGLM实现笔记自动结构化的3个关键步骤
  • Open-AutoGLM到底有多强?1个工具解决90%的笔记混乱问题
  • CAN:STM32 CAN外设2 - 详解
  • 14、网络安全综合指南:区域、协议与认证详解
  • Excalidraw手绘风格图表让技术文档更生动
  • day19-Trae开发微信小程序03
  • Open-AutoGLM书籍智能解析技术深度剖析(仅限专业人士阅读)
  • 为什么你的Open-AutoGLM远程连接总失败?这7个坑你一定得避开
  • 12、网络基础:广域网与互联网接入技术解析
  • Open-AutoGLM 快捷键配置完全手册,AI开发者的必备生存技能
  • 混合动力汽车动态规划算法理论油耗计算:Matlab 实现之路
  • 【高效阅读新范式】:基于Open-AutoGLM的7步书籍精读法
  • 18、网络技术基础术语与概念详解
  • day18-Trae开发微信小程序02
  • 【紧急通知】Open-AutoGLM远程权限漏洞曝光,立即检查你的配置!
  • 15、网络访问安全与管理全解析
  • 2025年成都最火平价火锅店盘点,这10家天天排队,火锅店/重庆火锅/川渝火锅/特色美食/火锅/老火锅/美食火锅品牌推荐榜单 - 品牌推荐师
  • 【大神私藏】Open-AutoGLM 快捷键配置清单流出:提升3倍编码速度
  • 【专家亲授】Open-AutoGLM高可用架构设计与生产环境调优秘籍
  • Excalidraw AI助力中小企业降本增效案例