news 2026/7/2 3:52:27

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/30 22:37:31

新版MD、UE5.6 服装同步、模拟

目录 新版MD、UE5.6 服装同步、模拟 fab中搜索插件: 新版MD、UE5.6 服装同步、模拟 https://search.bilibili.com/all?keywordmd%E8%A1%A3%E6%9C%8D%E5%88%B6%E4%BD%9C&from_sourcewebtop_search&spm_id_from333.1007&search_source5&page2&…

作者头像 李华
网站建设 2026/7/1 21:10:42

集成AI后,Excalidraw如何实现智能图形生成

集成AI后,Excalidraw如何实现智能图形生成 在一场远程技术评审会议中,产品经理刚提出“我们需要一个微服务架构的草图”,还没等工程师打开绘图工具,屏幕上已经出现了一份结构清晰、风格统一的手绘图表——节点排列合理&#xff0c…

作者头像 李华
网站建设 2026/7/1 15:10:34

因果知识图谱增强大模型重构生命历程风险路径和慢病防控新范式:从妊娠期糖尿病到痴呆症的研究突破

摘要本研究开发了一种知识图谱增强的大语言模型框架,通过整合流行病学文献证据,成功重构了从妊娠期糖尿病到痴呆症的生命历程风险路径。研究识别出108个潜在中介变量,为早期疾病预防和队列研究设计提供了新的方法论支持。链接https://t.zsxq.…

作者头像 李华
网站建设 2026/7/1 7:03:39

Excalidraw AI与人工绘图的成本效益对比

Excalidraw AI与人工绘图的成本效益对比 在一场紧张的技术评审会上,产品经理刚描述完新功能逻辑,工程师便在白板上敲下一句话:“画一个包含用户认证、权限校验和日志记录的微服务架构图。”几秒后,一张结构清晰的手绘风格图表跃然…

作者头像 李华
网站建设 2026/6/28 23:59:54

12、网络基础:广域网与互联网接入技术解析

网络基础:广域网与互联网接入技术解析 1. IP 路由基础问题解答 在网络基础中,有一些关于 IP 相关的基础问题值得我们深入探讨: | 问题编号 | 正确答案及解释 | 错误答案及解释 | | ---- | ---- | ---- | | 1 | D. 将前两个 1 对应的 128 和 64 相加得到 192。 | A:128…

作者头像 李华
网站建设 2026/7/2 1:17:35

Open-AutoGLM应用实战(从零搭建高效文档管理平台)

第一章:Open-AutoGLM文档扫描归档概述Open-AutoGLM 是一个基于开源大语言模型的智能文档处理系统,专注于自动化完成纸质或电子文档的扫描、识别、分类与归档。该系统融合了OCR技术、自然语言理解与知识图谱构建能力,能够高效处理多格式文件输…

作者头像 李华