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

vtk 对stl文件进行降采样

在3d渲染中 很多时候会因为模型数据太大,会造成卡顿延迟问题,这个时候就需要对模型进行降采样处理了

#include <vtkSmartPointer.h>
#include <vtkSTLReader.h>
#include <vtkDecimatePro.h>
#include <vtkPolyDataMapper.h>
#include <vtkActor.h>
#include <vtkRenderWindow.h>
#include <vtkRenderer.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkSTLWriter.h>int main(int argc, char *argv[])
{if (argc != 3){std::cerr << "Usage: " << argv[0] << " input.stl output.stl" << std::endl;return EXIT_FAILURE;}// 1. 读取 STL 文件vtkSmartPointer<vtkSTLReader> reader = vtkSmartPointer<vtkSTLReader>::New();reader->SetFileName(argv[1]);reader->Update();// 2. 降采样处理vtkSmartPointer<vtkDecimatePro> decimate = vtkSmartPointer<vtkDecimatePro>::New();decimate->SetInputConnection(reader->GetOutputPort());// 设置目标减少的三角形比例,这里设置为减少 50%decimate->SetTargetReduction(0.5);decimate->Update();// 3. 保存处理后的文件vtkSmartPointer<vtkSTLWriter> writer = vtkSmartPointer<vtkSTLWriter>::New();writer->SetFileName(argv[2]);writer->SetInputConnection(decimate->GetOutputPort());writer->Write();std::cout << "Downsampling completed. Output saved to " << argv[2] << std::endl;return EXIT_SUCCESS;
}
http://www.xdnf.cn/news/13417.html

相关文章:

  • 鹰盾播放器AI识别字幕技术栈解析:从视频帧处理到语义理解的全流程实现
  • 工作总结及记录
  • vim的相关命令 + 三种模式(10)
  • Java异步编程难题
  • 保险丝的作用、基本参数和选型
  • vite原理
  • 智慧航空 | 飞机引擎设备拆解可视化
  • pysnmp模块中 GET、SET、WALK操作详细分步解析
  • 【Java】【力扣】121.买卖股票的最佳时机
  • 分布式I/O在食品包装行业中的应用
  • 239. 滑动窗口的最大值
  • [服务器] Amazon Lightsail SSH连接黑屏的常见原因及解决方案
  • 使用Kubectl命令操作集群
  • AIStor 的模型上下文协议 (MCP) 服务器: 工作原理
  • TiDB 上线步骤是怎么样?怎么做到数据不丢失?怎么保证可靠性?
  • 网络安全之防病毒系统
  • Linux文件回收机制:安全删除文件不怕误删
  • 查看 Ubuntu 系统信息
  • 国债与企业债:稳健与高收益的债券选择
  • JSON 是什么?核心概念与语法解析
  • JavaScript解密里的ChaCha20 加密算法全解
  • MCP使用
  • Java多线程实现之线程池详解
  • 如何彻底删除Neo4j中的所有数据:完整指南
  • 数组——数组的遍历
  • 佰力博科技与您探讨铁电材料电滞回线测量法
  • SpringBoot使用oshi获取服务器相关信息
  • 【学习笔记】QUIC
  • 0611的
  • 【WebSocket】WebSocket 多功能集成冲突问题解决方案