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

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()
http://www.cnnetsun.cn/news/172183.html

相关文章:

  • Excalidraw AI绘制前端微前端架构图
  • Excalidraw手绘风格图表让技术文档更生动
  • FactoryIO 自动化仿真:PLC 学习的绝佳入门模型
  • 9 个降AI率工具,专科生也能轻松应对
  • 【专家亲授】Open-AutoGLM高可用架构设计与生产环境调优秘籍
  • Open-AutoGLM 快捷键配置完全手册,AI开发者的必备生存技能
  • 从零构建AI读书助手,Open-AutoGLM实践路径全公开
  • Open-AutoGLM到底有多强?1个工具解决90%的笔记混乱问题
  • Excalidraw AI促进跨学科协作的潜力
  • 移动应用性能评测指标体系构建
  • 8、无线联网与OSI模型全解析
  • Excalidraw AI生成BI数据分析逻辑图
  • 基于Web的智能家教服务平台设计与实现-计算机毕业设计源码+LW文档
  • Open-AutoGLM异地设备协同管理实战(20年专家私藏方案曝光)
  • 在Bug爆发前“排雷”:预防性测试
  • 你真的懂Open-AutoGLM回滚吗?:从原理到实操的4层防护体系构建
  • 毕业设计 yolo深度学习动物识别
  • 31、SharePoint Web Parts 开发全解析
  • Excalidraw AI功能本地化部署的硬件要求
  • 39、SharePoint 2010 及相关工具安装与站点创建指南
  • (Open-AutoGLM标准化流程首次公开):支撑千万级请求的底层架构设计
  • Excalidraw AI模型版本迭代管理机制
  • 告别复杂编程:Open-AutoGLM无代码平台5大隐藏功能首次曝光
  • 如何用Open-AutoGLM脚本库缩短80%模型部署时间?真相在这里
  • Open-AutoGLM到底有多强?3个真实案例看懂自动流程生成黑科技
  • 3个关键步骤,用Open-AutoGLM实现AI流程秒级部署,效率飙升500%
  • Ceph基础原理分享
  • Excalidraw AI支持多轮对话修改图表
  • 24、SharePoint 内容类型与工作流深度解析
  • 26、深入了解 SharePoint 工作流:从设计到导入