首页 > 其他分享 >vtk保存 ply 颜色

vtk保存 ply 颜色

时间:2024-03-20 17:36:34浏览次数:12  
标签:polyData 颜色 0.0 vtk writer ply vtkSmartPointer colors New

 1 // 创建一个vtkPolyData对象
 2 vtkSmartPointer<vtkPolyData> polyData = vtkSmartPointer<vtkPolyData>::New();
 3 
 4 // 创建点坐标
 5 vtkSmartPointer<vtkPoints> points = vtkSmartPointer<vtkPoints>::New();
 6 points->InsertNextPoint(0.0, 0.0, 0.0);
 7 points->InsertNextPoint(1.0, 0.0, 0.0);
 8 points->InsertNextPoint(0.0, 1.0, 0.0);
 9 
10 vtkSmartPointer<vtkCellArray> cells = vtkSmartPointer<vtkCellArray>::New();
11 vtkSmartPointer<vtkTriangle> triangle = vtkSmartPointer<vtkTriangle>::New();
12 
13 triangle->GetPointIds()->SetId(0, 0);
14 triangle->GetPointIds()->SetId(1, 1);
15 triangle->GetPointIds()->SetId(2, 2);
16 cells->InsertNextCell(triangle);
17 
18 // 设置点的颜色信息
19 vtkSmartPointer<vtkUnsignedCharArray> colors = vtkSmartPointer<vtkUnsignedCharArray>::New();
20 colors->SetNumberOfComponents(3); // RGB
21 colors->SetName("Colors");
22 unsigned char color1[3] = { 255, 0, 0 }; // Red
23 unsigned char color2[3] = { 0, 255, 0 }; // Green
24 unsigned char color3[3] = { 0, 0, 255 }; // Blue
25 colors->InsertNextTypedTuple(color1);
26 colors->InsertNextTypedTuple(color2);
27 colors->InsertNextTypedTuple(color3);
28 
29 
30 // 将点和颜色添加到vtkPolyData对象中
31 polyData->SetPoints(points);
32 polyData->SetPolys(cells);
33 polyData->Modified();
34 polyData->GetPointData()->AddArray(colors);
35 
36 std::cout << polyData->GetPointData()->GetArrayName(0) << std::endl;
37 
38 // 保存PLY文件
39 vtkSmartPointer<vtkPLYWriter> writer = vtkSmartPointer<vtkPLYWriter>::New();
40 writer->SetFileName("output_with_color.ply");
41 writer->SetInputData(polyData);
42 writer->SetArrayName("Colors");
43 writer->SetFileTypeToASCII();
44 writer->Write();

 

标签:polyData,颜色,0.0,vtk,writer,ply,vtkSmartPointer,colors,New
From: https://www.cnblogs.com/lmao/p/18085690

相关文章

  • Qt+vs2019+PCL1.12.1+VTK9.1环境搭建中的相关问题
    目录1.VS中双击Ui文件无法打开2.VTK9.0以后在QtDesigner中找不到QVTKWidget组件3.无法打开源文件"QVTKOpenGLNativeWidget.h"4.无法打开源文件"QOpenGLWidget"5.QWidget:MustconstructaQApplicationbeforeaQWidget6.无法打开源文件"QtWidgets/QApplicati......
  • Unity类银河恶魔城学习记录10-14 p102 Applying damage to skills and clean up源代码
     Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考此代码仅为较上一P有所改变的代码【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibiliEntity.csusingSystem.Collections;usingSystem.Collections.Generic;usingUnit......
  • Python教程:如何获取颜色的RGB值
    简介在许多计算机图形和图像处理应用中,颜色的RGB值是至关重要的信息。Python作为一种多功能的编程语言,提供了丰富的工具和库,可以轻松地获取颜色的RGB值。本文将介绍如何使用Python获取颜色的RGB值,以及一些实际应用的示例。使用PIL工具获取颜色的RGB值PIL(PythonImagingLibrar......
  • P3939 数颜色 题解
    题目链接:数颜色经典题目了,暴力数据结构随便过,不过这种不带修的单个颜色的数量查找有个经典的做法:分桶+二分。具体的为每个颜色分桶,记录有序下标,这样就可以二分出\([l,r]\)上的下标个数。对于一次交换来说,如果相邻的颜色相同那么并不会发生交换,如果不同那么就发生交换,由于下标在......
  • [bzoj2120]数颜色/维护队列 (分块)
    数颜色/维护队列[做题笔记]此生第一道不贺题解\(AC\)的分块蓝题!!!题目描述墨墨@hs_mo购买了一套\(N\)支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问。墨墨会向你发布如下指令:\(Q\L\R\)代表询问你从第\(L\)支画笔到第\(R\)支画笔中共有几种不同颜色的......
  • 14届蓝桥杯省赛E题——颜色平衡树
    一、题目描述二、题目分析设颜色平衡树的节点有n个,颜色种类为p种,每种颜色的出现次数均为q,则n=p*q。换句话说,如果一棵树的出现次数最多的颜色们的出现次数之和等于该树的节点个数,那么这棵树是颜色平衡树。为了降低遍历次数,采用树上启发式合并,定义树中节点最多的子树为重子树......
  • 【面试题】手写call、apply、bind
    区别相同点:都可以改变函数的this指向第一个参数都是this要指向的对象,如果没有这个参数或参数为undefined或null,则默认指向全局window都可以利用后续参数传参不同点:call可以传入多个参数;apply需要传入一个参数对象(数组或类数组);bind可以分开传参,例如:constfoo=fn.bind(th......
  • html5&css&js代码 018颜色表
    html5&css&js代码018颜色表一、代码二、效果三、解释这段代码展示了一个基本的颜色表,方便参考使用,同时也应用了各种样式应用方式。一、代码<!DOCTYPEhtml><htmllang="zh-cn"><head><title>编程笔记html5&css&js颜色表</title><metacharset="utf......
  • D. Divide by three, multiply by two
    https://codeforces.com/contest/977/problem/Dvoidsolve(){intn;cin>>n;vector<pair<int,longlong>>a(n);for(auto&[x,y]:a){cin>>y;x=0;longlongtemp=y;while(......
  • WPF实现颜色选择器
    先看效果图; 再说一下思路: 打开设计器,属性里面找到"颜色",设置为渐变色,将渐变色设置为9段,分别是,红橙黄绿青蓝紫白黑(Red,Orange,Yellow,Lime,Cyan,Blue,Magenta,White,Black);然后移动滑块儿,比如在红色和橙色和黄色之间移动的时候,会发现颜色的RGB值是有规律的变化的,R是固定......