news 2026/5/15 16:12:52

TriangulateTerrainMap Delaunay 三角剖分创建 3D 地形

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
TriangulateTerrainMap Delaunay 三角剖分创建 3D 地形

一:主要的知识点

1、说明

本文只是教程内容的一小段,因博客字数限制,故进行拆分。主教程链接:vtk教程——逐行解析官网所有Python示例-CSDN博客

2、知识点纪要

本段代码主要涉及的有①Delaunay三角剖分创建3维模型


二:代码及注释

import vtkmodules.vtkRenderingOpenGL2 import vtkmodules.vtkInteractionStyle from vtkmodules.vtkCommonColor import vtkNamedColors from vtkmodules.vtkCommonCore import vtkPoints, vtkMinimalStandardRandomSequence from vtkmodules.vtkCommonDataModel import vtkPolyData from vtkmodules.vtkFiltersGeneral import vtkVertexGlyphFilter from vtkmodules.vtkRenderingCore import vtkPolyDataMapper, vtkActor, vtkRenderer, vtkRenderWindowInteractor, \ vtkRenderWindow from vtkmodules.vtkFiltersCore import vtkDelaunay2D def main(): colors = vtkNamedColors() points = vtkPoints() gridSize = 10 seed = 10 rng = vtkMinimalStandardRandomSequence() rng.SetSeed(seed) # 等价于 rng.Initialize(seed) for x in range(0, gridSize): for y in range(0, gridSize): d = rng.GetValue() rng.Next() points.InsertNextPoint(x, y, d * 3) polydata = vtkPolyData() polydata.SetPoints(points) # 将点集转换为可以渲染的单元 glyphFilter = vtkVertexGlyphFilter() glyphFilter.SetInputData(polydata) glyphFilter.Update() pointsMapper = vtkPolyDataMapper() pointsMapper.SetInputConnection(glyphFilter.GetOutputPort()) pointsActor = vtkActor() pointsActor.SetMapper(pointsMapper) pointsActor.GetProperty().SetPointSize(3) pointsActor.GetProperty().SetColor(colors.GetColor3d("Red")) # 根据三维坐标点生成一个三角剖分地图 delaunay = vtkDelaunay2D() delaunay.SetInputData(polydata) delaunay.Update() triangulatedMapper = vtkPolyDataMapper() triangulatedMapper.SetInputConnection(delaunay.GetOutputPort()) triangulatedActor = vtkActor() triangulatedActor.SetMapper(triangulatedMapper) # Create a renderer, render window, and interactor renderer = vtkRenderer() renderWindow = vtkRenderWindow() renderWindow.AddRenderer(renderer) renderWindowInteractor = vtkRenderWindowInteractor() renderWindowInteractor.SetRenderWindow(renderWindow) # Add the actor to the scene renderer.AddActor(pointsActor) renderer.AddActor(triangulatedActor) renderer.SetBackground(colors.GetColor3d("Green")) # Background color green # Render and interact renderWindow.SetWindowName('TriangulateTerrainMap') renderWindow.Render() renderWindowInteractor.Start() if __name__ == '__main__': main()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/15 3:39:22

技术团队必备:Excalidraw实时协作功能深度解析

技术团队必备:Excalidraw实时协作功能深度解析 在一场跨时区的架构评审会上,三位工程师正围在一个“虚拟白板”前激烈讨论。北京的后端负责人拖动一个服务模块,柏林的前端同事立刻看到变化并添加了API调用箭头,而旧金山的AI助手则…

作者头像 李华
网站建设 2026/5/14 1:05:40

语音指令集成难题一网打尽,Open-AutoGLM实战经验全分享

第一章:语音指令集成难题一网打尽,Open-AutoGLM实战经验全分享在现代智能系统开发中,语音指令的无缝集成已成为提升用户体验的关键环节。然而,实际落地过程中常面临语义理解偏差、多轮对话断裂、环境噪声干扰等挑战。Open-AutoGLM…

作者头像 李华
网站建设 2026/5/13 9:07:23

Excalidraw AI构建企业知识图谱的基础工具

Excalidraw AI:构建企业知识图谱的轻量化智能入口 在技术团队的日常协作中,你是否经历过这样的场景?架构师在白板前手绘系统流程,讲到一半被问:“这个服务到底调用的是哪个数据库?” 有人掏出手机拍照&…

作者头像 李华
网站建设 2026/5/13 9:08:13

Excalidraw AI生成深度学习网络结构图

Excalidraw AI生成深度学习网络结构图 在撰写一篇关于ResNet变体的论文时,研究团队需要快速向评审专家解释模型改动:原ResNet-50主干中的第三阶段被替换为轻量级注意力模块,并引入跨层跳跃连接。传统做法是打开绘图软件,手动拖拽矩…

作者头像 李华
网站建设 2026/5/13 9:08:04

Excalidraw AI在智能制造产线规划中的角色

Excalidraw AI在智能制造产线规划中的角色 在某新能源电池模组装配线的项目启动会上,几位工程师围坐在会议室里。机械工程师描述着“上料—焊接—测试—下料”的流程,电气同事却对工位间的信号交互方式感到困惑,而项目经理则不断追问&#xf…

作者头像 李华
网站建设 2026/5/14 3:43:41

安全测试左移的实施方案与效益分析

1. 安全测试左移的理念溯源与核心价值1.1 理念演进历程安全测试左移(Shift-Left Security Testing)是近年来软件安全工程领域的重要范式转变。其核心理念源于敏捷开发与DevOps文化的深入实践,将安全测试活动从传统的开发流程末端前置到需求分…

作者头像 李华