您的位置:首页 > 游戏 > 游戏 > 山东省建设工程招标投标信息网_企业为什么要自助建站_seo搜索引擎优化介绍_潍坊网站收录

山东省建设工程招标投标信息网_企业为什么要自助建站_seo搜索引擎优化介绍_潍坊网站收录

2025/5/3 8:57:20 来源:https://blog.csdn.net/weixin_42990464/article/details/147395581  浏览:    关键词:山东省建设工程招标投标信息网_企业为什么要自助建站_seo搜索引擎优化介绍_潍坊网站收录
山东省建设工程招标投标信息网_企业为什么要自助建站_seo搜索引擎优化介绍_潍坊网站收录

文章目录

  • 效果
  • 大致步骤
  • 代码
  • 参考

效果

在这里插入图片描述

大致步骤

  1. 包含必要的头文件:引入 VTK 中用于创建、渲染和显示图形的各种类。
  2. 创建颜色管理对象:vtkNamedColors 用于通过名称选择颜色。
  3. 创建圆锥源:vtkConeSource 用于生成圆锥的多边形数据。
  4. 创建映射器:vtkPolyDataMapper 将多边形数据转换为图形基元。
  5. 创建演员:vtkActor 负责协调圆锥的渲染,并设置其颜色。
  6. 创建渲染器:vtkRenderer 负责管理演员的渲染,并设置背景颜色。
  7. 创建渲染窗口:vtkRenderWindow 用于显示渲染结果,并设置窗口大小和名称。
  8. 循环渲染:通过循环 360 次,每次旋转相机 1 度并渲染图像,实现圆锥的旋转效果。

代码

/*=========================================================================版权归 Ken Martin、Will Schroeder 和 Bill Lorensen 所有保留所有权利。有关详细信息,请参阅 Copyright.txt 或 http://www.kitware.com/Copyright.htm。此软件在分发时不提供任何形式的保证;甚至不保证其适用于特定目的。有关更多信息,请参阅上述版权声明。=========================================================================*/// 首先包含我们要使用的 VTK 类所需的头文件。
#include <vtkActor.h>
#include <vtkCamera.h>
#include <vtkConeSource.h>
#include <vtkNamedColors.h>
#include <vtkNew.h>
#include <vtkPolyDataMapper.h>
#include <vtkProperty.h>
#include <vtkRenderWindow.h>
#include <vtkRenderer.h>int main(int, char*[])
{//// 接下来,我们创建一个 vtkNamedColors 实例,用于为对象和背景选择颜色。//vtkNew<vtkNamedColors> colors;//// 现在,我们创建一个 vtkConeSource 实例,并设置它的一些属性。// vtkConeSource 实例 “cone” 是可视化管道的一部分(它是一个源处理对象);// 它生成数据(输出类型为 vtkPolyData),其他过滤器可以对这些数据进行处理。//vtkNew<vtkConeSource> cone;// 设置圆锥的高度为 3.0cone->SetHeight(3.0);// 设置圆锥底面的半径为 1.0cone->SetRadius(1.0);// 设置圆锥的分辨率为 10,即圆锥的侧面由多少个多边形组成cone->SetResolution(10);//// 在这个例子中,我们用一个映射器处理对象来终止管道。// (像 vtkShrinkPolyData 这样的中间过滤器可以插入到源和映射器之间。)// 我们创建一个 vtkPolyDataMapper 实例,将多边形数据映射为图形基元。// 我们将圆锥源的输出连接到这个映射器的输入。//vtkNew<vtkPolyDataMapper> coneMapper;coneMapper->SetInputConnection(cone->GetOutputPort());//// 创建一个演员(actor)来表示圆锥。演员负责协调映射器图形基元的渲染。// 一个演员还通过 vtkProperty 实例引用属性,并且包含一个内部变换矩阵。// 我们将这个演员的映射器设置为上面创建的 coneMapper。//vtkNew<vtkActor> coneActor;coneActor->SetMapper(coneMapper);// 设置圆锥演员的颜色为 “MistyRose”(淡玫瑰色)coneActor->GetProperty()->SetColor(colors->GetColor3d("MistyRose").GetData());//// 创建渲染器(Renderer)并为其分配演员。渲染器就像一个视口。// 它是屏幕上窗口的一部分或全部,负责绘制它所拥有的演员。// 我们还在这里设置背景颜色。//vtkNew<vtkRenderer> ren1;// 将圆锥演员添加到渲染器中ren1->AddActor(coneActor);// 设置渲染器的背景颜色为 “MidnightBlue”(深蓝色)ren1->SetBackground(colors->GetColor3d("MidnightBlue").GetData());// 最后,我们创建一个将显示在屏幕上的渲染窗口。// 我们使用 AddRenderer 将渲染器放入渲染窗口中。// 我们还将窗口大小设置为 300 像素宽,300 像素高。//vtkNew<vtkRenderWindow> renWin;// 将渲染器添加到渲染窗口中renWin->AddRenderer(ren1);// 设置渲染窗口的大小为 300x300 像素renWin->SetSize(300, 300);// 设置渲染窗口的名称为 "Tutorial_Step1"renWin->SetWindowName("Tutorial_Step1");//// 现在,我们循环 360 度,每次都渲染圆锥。//for (int i = 0; i < 360; ++i){// 渲染图像renWin->Render();// 将活动相机绕方位角旋转 1 度ren1->GetActiveCamera()->Azimuth(1);}return EXIT_SUCCESS;
}

参考

https://examples.vtk.org/site/Cxx/Tutorial/Tutorial_Step1/

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com