vtk 动画入门 1 代码

news2025/1/13 8:58:14

实现效果如图:


#include <vtkAutoInit.h>
//VTK_MODULE_INIT(vtkRenderingOpenGL2);
//VTK_MODULE_INIT(vtkInteractionStyle);
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);
//VTK_MODULE_INIT(vtkRenderingFreeType);
#include <iostream>
#include <windows.h>
#include "vtkSmartPointer.h"
#include "vtkMultiBlockDataSet.h"
#include "vtkTecplotReader.h"
#include "vtkPointData.h"
#include "vtkCellData.h"
#include "vtkDataSetMapper.h"
#include "vtkPolyDataMapper.h"
#include "vtkActor.h"
#include "vtkRenderWindow.h"
#include "vtkRenderer.h"
#include "vtkCellDataToPointData.h"
#include "vtkAppendFilter.h" 
#include "vtkPolyData.h"
#include "vtkUnstructuredGrid.h" 
#include "vtkLookupTable.h"
#include "vtkScalarBarActor.h"
#include "vtkRenderWindowInteractor.h"
#include <string>
#include "vtkCellArray.h"
#include "vtkIdList.h" 
#include "vtkSphereSource.h" 
#include "vtkPolyDataMapper.h" 
#include "vtkAnimationCue.h" 
#include "vtkAnimationScene.h" 
#include "vtkNew.h" 


class  vtkCustomAnimationCue : public vtkAnimationCue
{
public:
	static vtkCustomAnimationCue* New();
	//vtkTypeRevisionMacro(vtkCustomAnimationCue,vtkAnimationCue);
	 vtkRenderWindow *  RenWin ;
	 vtkSphereSource *  Sphere  ;

protected:
	vtkCustomAnimationCue() {

	}
	virtual void TickInternal(double currenttime, double deltatime,double clocktime) {
		double new_st = currenttime * 180;
		this->Sphere->SetStartTheta(new_st);
		this->RenWin->Render();
	}

private:

};

vtkStandardNewMacro(vtkCustomAnimationCue);
 

void main() {

	/**/
	vtkNew<vtkRenderer> renderer ;
	vtkNew<vtkRenderWindow> renWin  ;
	renWin->SetMultiSamples(0);
	//renWin->SetSize(2000,2000);
	renWin->AddRenderer(renderer);

	vtkNew<vtkSphereSource> sphere ;

	vtkNew<vtkPolyDataMapper> mapper  ;
	mapper->SetInputConnection(sphere->GetOutputPort());
	vtkNew<vtkActor> actor ;
	actor->SetMapper(mapper);
	renderer->AddActor(actor);
	renWin->Render();

	/** /
	vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor = vtkSmartPointer<vtkRenderWindowInteractor>::New();
	renderWindowInteractor->SetRenderWindow(renWin);
	renderWindowInteractor->Start();
	**/

	vtkNew<vtkAnimationScene> scene  ;
	//scene->SetModeToRealTime();
	scene->SetModeToSequence();
	scene->SetFrameRate(30);
	scene->SetStartTime(0);
	scene->SetEndTime(60);

	vtkNew<vtkCustomAnimationCue> cue;
	cue->Sphere = sphere;
	cue->RenWin = renWin;
	cue->SetTimeModeToNormalized();
	cue->SetStartTime(.0);
	cue->SetEndTime(1.0);

	scene->AddCue(cue);
	scene->Play();
	scene->Stop();
	 
}
  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1058094.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

lv8 嵌入式开发-网络编程开发 01什么是互联网

目录 1 计算机网络的定义与分类 1.1 按照网络的作用范围进行分类 1.2 按照网络的使用者进行分类 2 网络的网络 2.1 名词解释 2.2 边缘与核心 3 互联网基础结构发展的三个阶段 3.1 第一阶段&#xff1a;1969 – 1990 3.2 第二阶段&#xff1a;1985 – 1993 3.3 第三阶…

Python大数据之PySpark(四)SparkBaseCore

文章目录 SparkBase&Core环境搭建-Spark on YARN扩展阅读-Spark关键概念[了解]PySpark角色分析[了解]PySpark架构后记 SparkBase&Core 学习目标掌握SparkOnYarn搭建掌握RDD的基础创建及相关算子操作了解PySpark的架构及角色 环境搭建-Spark on YARN Yarn 资源调度框…

UE中制作棋盘格材质效果

在UE中通过这个小技巧制作棋盘格材质效果&#xff0c;可以快速预览UV拉伸情况&#xff0c;方便调试导入的模型。 1.操作步骤 1.1 首先新建材质&#xff0c;Shading Model&#xff08;着色模式&#xff09;设置为Unlit&#xff08;无光照&#xff09;&#xff1a; 1.2 我们…

管道-匿名管道

一、管道介绍 管道&#xff08;Pipe&#xff09;是一种在UNIX和类UNIX系统中用于进程间通信的机制。它允许一个进程的输出直接成为另一个进程的输入&#xff0c;从而实现数据的流动。管道是一种轻量级的通信方式&#xff0c;用于协调不同进程的工作。 1. 创建和使用管道&#…

Docker Alist 在线网盘部署

文章目录 拉取镜像创建并运行查看容器自动生成的密码在浏览器中进行访问 挂载本地磁盘 拉取镜像 docker pull xhofe/alist-aria2创建并运行 # -v /data/alist:/opt/alist/data 挂载本地目录 docker run -d --restartalways -v /data/alist:/opt/alist/data -p 5244:5244 -e P…

国庆作业6

TCP服务器 #include "head.h" #define PORT 2580 //端口号 #define IP "192.168.31.219" //本机IP int main(int argc, const char *argv[]) {sqlite3* dbNULL;if(sqlite3_open("./my.db",&db)!SQLITE_OK){fprintf(stde…

FFmpeg 命令:从入门到精通 | ffmpeg filter(过滤器 / 滤镜)

FFmpeg 命令&#xff1a;从入门到精通 | ffmpeg filter&#xff08;过滤器 / 滤镜&#xff09; FFmpeg 命令&#xff1a;从入门到精通 | ffmpeg filter&#xff08;过滤器 / 滤镜&#xff09;ffmpeg fliter 基本内置变量视频裁剪文字水印图片水印画中画视频多宫格处理 FFmpeg 命…

BIOS 如何确定引导扇区的位置

机械硬盘的信息都是存储在磁盘的表面&#xff0c;他们是由一圈一圈的磁道组成的。以前的磁盘的不同磁道的扇区数量是相同的&#xff0c;这就导致了很大的浪费&#xff0c;因为最外面的磁道的密度是最低的&#xff0c;信息是最安全的&#xff0c;所以最外面的磁道是0磁道。后来由…

NPDP产品经理知识(产品创新管理)

复习文化&#xff0c;团队与领导力 产品创新管理&#xff1a; 如何树立愿景&#xff1a; 如何实现产品战略 计划 实施产品开发&#xff1a; 商业化&#xff0c;营销计划&#xff0c;推广活动 管理产品生命周期&#xff1a; 新式走向市场的流程&#xff1a;

win10 关闭病毒防护

windows10彻底关闭Windows Defender的4种方法 - 知乎

科技+智慧+颜值,智慧公厕黑科技提升城市形象

现代社会的科技和智慧正以惊人的速度渗透到我们生活的各个方面&#xff0c;包括公共设施。而作为城市形象的重要组成部分之一&#xff0c;公厕也在不断创新中迎来了智慧的时代。 在传统的公厕中&#xff0c;一些问题一直困扰着我们&#xff0c;比如厕位的占用情况、空气质量的…

腾讯云域名API解析升级版本(通过Java实现)腾讯云动态公网IP绑定域名实现内网服务器公网穿透

公众号推广: 目前CSDN进行VIP可见,文章可在微信公众号进行免费的阅读。 文章内容经过认证实践,比较的清晰易懂,适合初次接触的人员。 请关注微信公众号:菜鸟编程踩坑之路,进入公众号搜索关键词 内网穿透 需求场景: 首先我自己组装了一台自己的服务器,相比较购买的阿…

微信小程序——CSS3渐变

SS3 渐变&#xff08;gradients&#xff09;可以在两个或多个指定的颜色之间显示平稳的过渡。CSS3 定义了两种类型的渐变&#xff08;gradients&#xff09;&#xff1a; 说明 1、线性渐变&#xff08;Linear Gradients&#xff09;- 向下/向上/向左/向右/对角方向&#xff1…

基于体素场景的摄像机穿模处理

基于上一篇一种基于体素的射线检测 使用射线处理第三人称摄像头穿模问题 基于体素的第三人称摄像机拉近简单处理 摄像机移动至碰撞点处 简单的从角色身上发射一条射线到摄像机&#xff0c;中途遇到碰撞就把摄像机移动至该碰撞点 public void UpdateDistance(float defaultDist…

机器学习(监督学习)笔记

笔记内容 代码部分 # 实验2-1 # 批梯度下降 import pandas as pd import numpy as np import random as rd import matplotlib.pyplot as plt # load dataset df pd.read_csv(temperature_dataset.csv) data np.array(df) y0 np.array([i[0] for i in data]) # 第一列作为…

Docker项目部署

目录 一、前端项目部署 1、上传文件 2、开启容器 3、测试 二、后端项目部署 1、打包java项目 2、将jar包和Dockerfile文件长传到Linux系统 3、构建镜像 4、开启容器 5、测试 一、前端项目部署 1、上传文件 里面包括页面和配置文件 worker_processes 1;events {worker…

云畅科技TMS解决方案助力华菱线缆实现智能货运管理

9月26日下午&#xff0c;湖南华菱线缆股份有限公司TMS物流系统上线启动会成功举办&#xff0c;由云畅科技倾力打造的华菱线缆TMS物流系统正式上线运行&#xff0c;标志着湖南华菱线缆股份有限公司在智能化物流货运管理领域的一次重大突破。 湖南华菱线缆股份有限公司董事兼总经…

C#捕捉全局异常

1.运行图片 2.源码 using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.Windows.Forms;namespace 捕捉全局异常 {internal static class Program{/// <summary>/// 应用程序的主入口点。/// </summary…

竞赛选题 机器视觉opencv答题卡识别系统

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 答题卡识别系统 - opencv python 图像识别 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f947;学长这里给一个题目综合评分(每项满分5分…

【Spring】更简单的读取和存储对象

更简单的读取和存储对象 一. 存储 Bean 对象1. 前置工作&#xff1a;配置扫描路径2. 添加注解存储 Bean 对象Controller&#xff08;控制器存储&#xff09;Service&#xff08;服务存储&#xff09;Repository&#xff08;仓库存储&#xff09;Component&#xff08;组件存储&…