vtk创建圆柱体

news/2025/3/15 1:23:56/

vtk创建圆柱体

  • 引言
  • 开发环境
  • 示例
  • 运行效果

引言

本文记录使用vtk创建一个圆柱体。

开发环境

使用QtCreator4.11.2创建一个空项目,使用的vtk9.2的库和头文件,基于Qt5.14.2。

示例

这里提供pro文件中的内容和main.cpp中的内容。内容如下:
.pro

QT       += core#greaterThan(QT_MAJOR_VERSION, 4): QT += widgetsCONFIG += c++11 vtk9.2# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0SOURCES += \main.cppSOUPDIR = $$PWD/../../SOUPdependency
vtk9.2 {contains(QT_ARCH, x86_64) {include($$SOUPDIR/vtk-9.2/vtk-9.2.pri)} else {include($$SOUPDIR/vtk-9.2-2017-omp-win32/vtk-9.2.pri)}DEFINES += vtkEventDataButton3D=vtkEventDataDevice3DDEFINES += vtkEventDataMove3D=vtkEventDataDevice3D
}# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

main.cpp

#include <vtkNew.h>
#include <vtkCylinderSource.h>
#include <vtkPolyDataMapper.h>
#include <vtkActor.h>
#include <vtkRenderer.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkNamedColors.h>
#include <vtkProperty.h>
#include <vtkCamera.h>#include "vtkAutoInit.h"
VTK_MODULE_INIT(vtkRenderingOpenGL2);//渲染
VTK_MODULE_INIT(vtkInteractionStyle);//交互样式
VTK_MODULE_INIT(vtkRenderingFreeType)//文本图像
VTK_MODULE_INIT(vtkRenderingVolumeOpenGL2)//体素int main(int argc,char *argv[])
{vtkNew<vtkNamedColors> colors;std::array<unsigned char,4> backGroundColor{{26,51,102,255}};colors->SetColor("BkgColor",backGroundColor.data());vtkNew<vtkCylinderSource> cyLinderSource;cyLinderSource->SetResolution(8);//设置圆柱体的面数vtkNew<vtkPolyDataMapper> mapper;mapper->SetInputConnection(cyLinderSource->GetOutputPort());//与数据建立绑定,后续直接取数组,取到的数据是最新的vtkNew<vtkActor> actor;actor->SetMapper(mapper);actor->GetProperty()->SetColor(colors->GetColor4d("Tomato").GetData());actor->RotateX(30.0);//整数——朝我旋转, 负数——向屏幕内旋转actor->RotateY(-45.0);//竖直方向
//    actor->RotateZ(45.0);//负数——向右旋转,正数——向左旋转vtkNew<vtkRenderer> render;render->AddActor(actor);render->SetBackground(colors->GetColor3d("BkgColor").GetData());render->ResetCamera();render->GetActiveCamera()->Zoom(1.5);//将相机的视角进行放大,>!放大,<1缩小vtkNew<vtkRenderWindow> renderWindow;renderWindow->AddRenderer(render);renderWindow->SetSize(300,300);renderWindow->SetWindowName("CyLinder");renderWindow->Render();vtkNew<vtkRenderWindowInteractor> interactor;interactor->SetRenderWindow(renderWindow);interactor->Initialize();//指向初始化interactor->Start();//启动时间循环return 0;
}

运行效果

在这里插入图片描述
此工程中存在一个问题就是程序刚启动的时候会出现黑色的窗口,紧接着才变为上图中的效果。目前不知如何消除这种现象。


http://www.ppmy.cn/news/642046.html

相关文章

CompletableFuture线程编排工具类

如果任务的执行方式逻辑比较复杂&#xff0c;开发成本来说比较高。CompletableFuture就是帮你处理这些任务之间的逻辑关系&#xff0c;编排好任务的执行方式后&#xff0c;任务会按照规划好的方式一步一步执行&#xff0c;不需要让业务线程去频繁的等待。 runAsync() 和 suppl…

GA入门

文章目录 GA入门GA入门培训how to setup GAezbuy GA sample GA入门 GA入门培训 https://support.google.com/analytics/answer/3424288?hlzh-Hans&ref_topic3424286 参考文档&#xff1a;https://blog.csdn.net/cathycheny/article/details/109630858 how to setup GA…

遗传算法、遗传算法库函数ga和gamultiobj、遗传算法工具箱GOT实例介绍

目录 前言 适应度函数和目标函数的关系 1. 常规遗传算法 2.结合非线性规划fmincon函数的遗传算法 2.1 fmincon非线性规划函数使用 2.2 结合非线性规划fmincon函数的遗传算法使用及示例 2.2.1 编码 2.2.2 选择 2.2.3交叉 2.2.4变异 2.2.5非线性规划fmincon函数 2.2.…

JDK 16 GA 发布,你还停留在JDK 8吗?

【CSDN 编者按】是的&#xff0c;JDK 16 GA 版本来了。 责编 | 张红月 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 3 月 16 日&#xff0c;OpenJDK 官网如期公布了 JDK 16 GA 版本。与 Java 15 一样&#xff0c;该版本的支持时间只有 6 个月。 GA 是指 Genera…

GA示例代码

GA示例代码 源自《深度学习计算机视觉实战 卷积神经网络、Python 、TensorFlow和Kivy》 作者:[埃] 艾哈迈德法齐迦得&#xff08;Ahmed Fawzy Gad&#xff09;著 林赐 译 优化具有六个参数的线性方程完整代码 import GA import numpy as np# 求解能使y w1x1w2x2w3x3w4y4w5y5w…

拼多多在海外暂时不会上线砍一刀功能;微软落户中国三十周年;JDK 19 GA发布|极客头条

「极客头条」—— 技术人员的新闻圈&#xff01; CSDN 的读者朋友们早上好哇&#xff0c;「极客头条」来啦&#xff0c;快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 一分钟速览新闻点&…

GA-调研

GA-调研 两种GA&#xff1a; generational-GAs&#xff1a;子代是全新的。 steady-GAs: 部分全新子代和部分优秀父代组成下一代的新种群&#xff08;特点&#xff1a;精英主义&#xff0c;留存最好的解&#xff1b;较大的种群&#xff1b;较高的的交叉&#xff0c;变异概率。…

U-GAT-IT

论文原文&#xff1a;U-GAT-IT: Unsupervised Generative Attentional Networks with Adaptive Layer-Instance Normalization for Image-to-Image Translation 一、解决的问题——unpaired image-to-image translation 1. Selfie2Anime 2. Anime2Selfie 3. Horse2Zebra 4. Z…