news 2026/8/21 18:21:22

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/8/20 10:19:37

Open-AutoGLM远程控制配置终极优化方案(仅限内部分享)

第一章:Open-AutoGLM远程控制配置概述 Open-AutoGLM 是一个基于 AutoGLM 架构设计的开源自动化远程控制框架,专为实现跨平台设备管理与智能任务调度而构建。其核心优势在于融合自然语言理解能力与远程指令执行机制,允许用户通过语义化命令触发…

作者头像 李华
网站建设 2026/8/20 23:00:55

如何用Open-AutoGLM构建全自动设备监控体系?这套方案已被头部企业验证

第一章:Open-AutoGLM 异地设备管理Open-AutoGLM 是一款面向分布式环境的智能设备管理框架,专为跨地域、多节点场景下的自动化控制与状态同步设计。其核心能力在于通过轻量级通信协议实现对远程设备的实时监控、指令下发与配置更新,适用于边缘…

作者头像 李华
网站建设 2026/8/21 3:50:41

Open-AutoGLM 快捷键配置避坑指南:5个常见错误你中了几个?

第一章:Open-AutoGLM 快捷键配置的核心价值在现代开发环境中,效率是决定生产力的关键因素之一。Open-AutoGLM 通过高度可定制的快捷键系统,显著提升了用户与智能代码生成引擎之间的交互效率。合理配置快捷键不仅减少了重复性操作,…

作者头像 李华
网站建设 2026/8/21 23:00:47

Excalidraw AI生成微服务治理全景图

Excalidraw AI生成微服务治理全景图 在一次跨部门的架构评审会上,团队花了整整一小时才理清新上线的服务依赖关系——不是因为系统多复杂,而是没人能拿出一张准确、实时更新的架构图。开发说图在Confluence里,运维说那版早就过时了&#xff0…

作者头像 李华
网站建设 2026/8/21 3:46:39

Excalidraw AI商业使用授权条款说明

Excalidraw AI商业使用授权条款说明 在现代技术团队的日常协作中,可视化表达已成为沟通系统架构、产品逻辑和业务流程的核心方式。传统的绘图工具往往过于规整、僵硬,缺乏灵活性,难以激发创造力。而 Excalidraw 以其独特的“手绘风格”脱颖而…

作者头像 李华