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

6.VTK 颜色

文章目录

  • 概念
  • RGB示例
  • HSV示例

概念

RGB颜色系统:通过红(R)、绿(G)、蓝(B)三个颜色分量的组合来定义颜色。每个分量的取值范围是0到1,其中(0, 0, 0)代表黑色,而(1, 1, 1)代表白色。可以使用vtkProperty::SetColor(r, g, b)方法为Actor设置颜色。HSV颜色系统:基于色相(Hue)、饱和度(Saturation)和亮度(Value)三个属性来定义颜色。HSV颜色模型更接近人类对颜色的感知方式。色相表示颜色的类型(如红色、绿色等),饱和度表示颜色的纯度,亮度则控制颜色的明暗程度。这三个属性的取值同样在0到1之间。HSV颜色系统的设置可以通过vtkLookupTable类来实现。

RGB示例

#include <istream>
#include <vtkSmartPointer.h>
#include <vtkRenderer.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkCamera.h>
#include <vtkInteractorStyleTrackballCamera.h>
#include <vtkCylinderSource.h>
#include <vtkPolyDataMapper.h>
#include <vtkActor.h>
#include <vtkProperty.h>
#include <vtkAutoInit.h>
#include <vtkSphereSource.h>
#include <vtkLineSource.h>
#include <vtkPlaneSource.h>
#include <vtkNamedColors.h>VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);
VTK_MODULE_INIT(vtkRenderingFreeType);using namespace std;int main()
{vtkNew<vtkNamedColors> colors;// 创建球体数据源vtkNew<vtkSphereSource> sphereSource;sphereSource->Update();// 映射器vtkNew<vtkPolyDataMapper> mapper;mapper->SetInputConnection(sphereSource->GetOutputPort());// ActorvtkNew<vtkActor> actor;actor->SetMapper(mapper);// 使用RGB颜色系统设置Actor的颜色actor->GetProperty()->SetColor(colors->GetColor3d("Tomato").GetData());// 渲染器vtkNew<vtkRenderer> renderer;renderer->AddActor(actor);renderer->SetBackground(colors->GetColor3d("SlateGray").GetData());// 渲染窗口vtkNew<vtkRenderWindow> renderWindow;renderWindow->AddRenderer(renderer);renderWindow->SetSize(640, 480);// 交互器vtkNew<vtkRenderWindowInteractor> renderWindowInteractor;renderWindowInteractor->SetRenderWindow(renderWindow);renderWindow->Render();renderWindowInteractor->Start();return 0;
}

在这里插入图片描述

HSV示例

在这里插入图片描述

#include <vtkLineSource.h>
#include <vtkPlaneSource.h>
#include <vtkNamedColors.h>
#include <vtkLookupTable.h>VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);
VTK_MODULE_INIT(vtkRenderingFreeType);using namespace std;int main()
{vtkNew<vtkNamedColors> colors;// 创建球体数据源vtkNew<vtkSphereSource> sphereSource;sphereSource->Update();// Lookup TablevtkNew<vtkLookupTable> lookupTable;lookupTable->SetHueRange(0.667, 0.0); // 设置色相范围从蓝色到红色lookupTable->Build();// 映射器vtkNew<vtkPolyDataMapper> mapper;mapper->SetInputConnection(sphereSource->GetOutputPort());mapper->SetLookupTable(lookupTable);mapper->UseLookupTableScalarRangeOn();// ActorvtkNew<vtkActor> actor;actor->SetMapper(mapper);// 渲染器vtkNew<vtkRenderer> renderer;renderer->AddActor(actor);renderer->SetBackground(colors->GetColor3d("SlateGray").GetData());// 渲染窗口vtkNew<vtkRenderWindow> renderWindow;renderWindow->AddRenderer(renderer);renderWindow->SetSize(640, 480);// 交互器vtkNew<vtkRenderWindowInteractor> renderWindowInteractor;renderWindowInteractor->SetRenderWindow(renderWindow);renderWindow->Render();renderWindowInteractor->Start();return EXIT_SUCCESS;}

相关文章:

  • 构建自动翻译工作流:技术与实践
  • 汇编语言中的数据
  • 警惕阿里云中的yum update操作不当导致:/sbin/init被清空导致Linux无法正常启动
  • 05.Spring_AOP详解
  • MDG 实现后端主数据变更后快照自动刷新的相关设置
  • 【k8s系列4】工具介绍
  • 【网工第6版】第3章 局域网②
  • 天梯赛DP汇总
  • 前端资源加载失败后重试加载(CSS,JS等引用资源)
  • Linux 内核开发/测试工具对比 Windows 驱动验证工具 (Driver Verifier)
  • 【CPP】死锁产生、排查、避免
  • leetcode0146. LRU 缓存-medium
  • 服务器的算力已经被被人占用了,我如何能“无缝衔接”?
  • Kaamel隐私与安全分析报告:Apple Intelligence隐私保护机制
  • 使用Hypre BoomerAMG求解大规模泊松方程示例
  • 图像预处理-图像噪点消除
  • 星智CASE|拆解行业工具类智能体搭建方法论!
  • 12.FFN基于位置的前馈网络
  • 中华传承-医山命相卜-易经
  • Linux MySQL版本升级(rpm安装方式)
  • 电动自行车新国标将于9月1日落地,首批6家检测机构出炉
  • 中办、国办印发《农村基层干部廉洁履行职责规定》
  • 第六次国民体质监测展开,高抬腿俯卧撑等新增运动指标受关注
  • 龙登高谈近世的基层治理及制度变迁
  • “80后”辽宁石油化工大学副校长杨占旭已任阜新市领导
  • 习近平主席东南亚三国行|元首外交硕果累累 • 一图读懂