news 2026/6/10 23:41:59

Decimation 模型的下采样

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Decimation 模型的下采样

一:主要的知识点

1、说明

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

2、知识点纪要

本段代码主要涉及的有①模型下采样


二:代码及注释

import vtkmodules.vtkRenderingOpenGL2 import vtkmodules.vtkInteractionStyle from vtkmodules.vtkCommonColor import vtkNamedColors from vtkmodules.vtkIOXML import vtkXMLPolyDataReader from vtkmodules.vtkFiltersCore import vtkDecimatePro from vtkmodules.vtkCommonDataModel import vtkPolyData from vtkmodules.vtkRenderingCore import vtkPolyDataMapper, vtkProperty, vtkActor, vtkRenderer, vtkRenderWindow, \ vtkRenderWindowInteractor, vtkCamera def main(): filePath = "Data/Torso.vtp" reduction = 0.9 colors = vtkNamedColors() backFaceColor = colors.GetColor3d("Gold") inputActorColor = colors.GetColor3d("NavajoWhite") decimatedActorColor = colors.GetColor3d('NavajoWhite') reader = vtkXMLPolyDataReader() reader.SetFileName(filePath) reader.Update() inputPolyData = reader.GetOutput() """ vtkDecimatePro 通过去除冗余的或不重要的三角形和顶点,将一个高分辨率的模型转换为一个低分辨率的模型 """ decimate = vtkDecimatePro() decimate.SetInputData(inputPolyData) decimate.SetTargetReduction(reduction) decimate.PreserveTopologyOn() # 保存原先的拓扑结构,不破坏洞或边界 decimate.Update() decimated = vtkPolyData() decimated.ShallowCopy(decimate.GetOutput()) inputMapper = vtkPolyDataMapper() inputMapper.SetInputData(inputPolyData) backFace = vtkProperty() backFace.SetColor(backFaceColor) inputActor = vtkActor() inputActor.SetMapper(inputMapper) inputActor.GetProperty().SetInterpolationToFlat() inputActor.GetProperty().SetColor(inputActorColor) inputActor.SetBackfaceProperty(backFace) decimatedMapper = vtkPolyDataMapper() decimatedMapper.SetInputData(decimated) decimatedActor = vtkActor() decimatedActor.SetMapper(decimatedMapper) decimatedActor.GetProperty().SetColor(decimatedActorColor) decimatedActor.GetProperty().SetInterpolationToFlat() decimatedActor.SetBackfaceProperty(backFace) renderWindow = vtkRenderWindow() renderWindow.SetSize(600, 300) renderWindow.SetWindowName('Decimation'); # And one interactor interactor = vtkRenderWindowInteractor() interactor.SetRenderWindow(renderWindow) leftViewport = [0.0, 0.0, 0.5, 1.0] rightViewport = [0.5, 0.0, 1.0, 1.0] leftRenderer = vtkRenderer() renderWindow.AddRenderer(leftRenderer) leftRenderer.SetViewport(leftViewport) # leftRenderer.SetBackground((colors.GetColor3d('leftBkg'))) leftRenderer.SetBackground((colors.GetColor3d('Peru'))) rightRenderer = vtkRenderer() renderWindow.AddRenderer(rightRenderer) rightRenderer.SetViewport(rightViewport) # rightRenderer.SetBackground((colors.GetColor3d('rightBkg'))) rightRenderer.SetBackground((colors.GetColor3d('CornflowerBlue'))) # Add the sphere to the left and the cube to the right leftRenderer.AddActor(inputActor) rightRenderer.AddActor(decimatedActor) # Shared camera # Shared camera looking down the -y axis camera = vtkCamera() camera.SetPosition(0, -1, 0) camera.SetFocalPoint(0, 0, 0) camera.SetViewUp(0, 0, 1) camera.Elevation(30) camera.Azimuth(30) leftRenderer.SetActiveCamera(camera) rightRenderer.SetActiveCamera(camera) leftRenderer.ResetCamera() leftRenderer.ResetCameraClippingRange() renderWindow.Render() renderWindow.SetWindowName('Decimation') interactor.Start() if __name__ == '__main__': main()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 20:31:27

LangFlow负载均衡部署方案设计

LangFlow负载均衡部署方案设计 在大语言模型(LLM)快速渗透到企业服务、内容生成和智能交互的今天,如何让非专业开发者也能高效构建 AI 应用,成为技术落地的关键瓶颈。LangChain 的出现为复杂 LLM 流程提供了强大的编程抽象&#x…

作者头像 李华
网站建设 2026/6/10 15:09:38

LangChain 工具API:超越简单函数调用的智能体工程实践

LangChain 工具API:超越简单函数调用的智能体工程实践 引言:工具调用作为大模型能力的延伸 在大语言模型(LLM)应用开发领域,LangChain已成为事实标准框架之一。其核心价值之一在于通过工具API(Tools API)使大模型能够…

作者头像 李华
网站建设 2026/6/9 4:37:54

LangFlow自动伸缩机制在云环境中的实现

LangFlow自动伸缩机制在云环境中的实现 在AI应用开发日益普及的今天,大语言模型(LLM)驱动的智能代理正从实验室走向生产环境。越来越多的企业开始尝试构建基于LangChain的自动化流程——从客服机器人到知识检索系统,再到内部运营助…

作者头像 李华
网站建设 2026/6/9 20:02:00

LangFlow知乎专栏内容运营策略

LangFlow:让AI开发“看得见” 在大模型时代,构建一个能回答问题、调用工具甚至自主决策的AI智能体,听起来像是资深工程师才能驾驭的任务。可如果告诉你,现在不需要写一行代码,也能在十分钟内搭出一个支持检索增强&…

作者头像 李华
网站建设 2026/6/10 20:45:31

探秘书匠策AI期刊论文“魔法箱”:解锁科研效率与质量的双重密码

在科研的广袤天地里,期刊论文宛如一座座闪耀的灯塔,指引着学术前进的方向。每一位科研人都怀揣着让自己的研究成果在学术海洋中熠熠生辉的梦想,然而,从选题时的迷茫无措,到写作过程中的艰难挣扎,再到投稿前…

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

交易数据模式识别在大数据中的应用场景

交易数据模式识别:大数据时代的“数字侦探”游戏关键词:交易数据、模式识别、大数据、客户分群、欺诈检测、趋势预测、个性化推荐 摘要:当你在超市扫码付款时,当你用信用卡网购时,当你在股票APP上买卖股票时&#xff0…

作者头像 李华