vtk学习6:坐标系统的学习

        在计算机系统里面的常用的坐标系统分4种:model坐标系统、world坐标系统、view坐标系统、display坐标系统。

#include "vtkAutoInit.h" 
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);

#include <vtkConeSource.h>     //源数据
#include <vtkCubeSource.h>     //立方体
#include <vtkPolyDataMapper.h> //数据映射
#include <vtkRenderer.h>       //绘制器
#include <vtkRenderWindow.h>   //绘制窗口
#include <vtkActor.h>          //演员
#include <vtkCamera.h>         //照相机
#include <vtkRenderWindowInteractor.h>//加入交互机制类

int main()
{
	vtkConeSource* cone = vtkConeSource::New();
	cone->SetResolution(5);//圆锥的棱边数
	cone->SetHeight(3);//指定高度
	cone->SetRadius(1);//指定半径

	//指针创建一个柱体
	vtkCubeSource* cube = vtkCubeSource::New();
	
	vtkPolyDataMapper* coneMapper = vtkPolyDataMapper::New();
	coneMapper->SetInputConnection(cone->GetOutputPort());//源数据输出给映射器输入

	//实例化一个映射器cubeMapper
	vtkPolyDataMapper* cubeMapper = vtkPolyDataMapper::New();
	cubeMapper->SetInputConnection(cube->GetOutputPort());//源数据输出给映射器输入
	
	//创建一个演员对象coneActor
	vtkActor* coneActor = vtkActor::New();
	coneActor->SetMapper(coneMapper);//为演员指定mapper进行映射

	//创建一个演员对象cubeActor
	vtkActor* cubeActor = vtkActor::New();
	cubeActor->SetMapper(cubeMapper);//为演员指定mapper进行映射
	
	//搭建舞台  实例化渲染器对象renderer
	vtkRenderer* renderer = vtkRenderer::New();
	renderer->AddActor(coneActor);//将演员加入场景
	renderer->SetBackground(0.0, 0.0, 1.0);//设置场景背景颜色为蓝色(R,G,B)
	//renderer->SetViewport(0.0, 0.0, 0.5, 1.0);//左边视口
	renderer->SetViewport(0.5, 0.0, 1.0, 1.0);//左边视口

	vtkRenderer* renderer2 = vtkRenderer::New();
	renderer2->AddActor(cubeActor);//将演员加入场景
	renderer2->SetBackground(1.0, 0.0, 0.0);//设置场景背景颜色为红色(R,G,B)
	//renderer2->SetViewport(0.5, 0.0, 1.0, 1.0);//右边视口
	renderer2->SetViewport(0.0, 0.0, 0.5, 1.0);

		//实例化一个窗口对象renWin
	vtkRenderWindow* renWin = vtkRenderWindow::New();
	renWin->SetSize(400, 200);//设置窗口大小宽*高
	renWin->AddRenderer(renderer);//将场景renderer加入renWin窗口中
	renWin->AddRenderer(renderer2);//将场景renderer2加入renWin窗口中

	//实例化一个交互对象
	vtkRenderWindowInteractor* interactor = vtkRenderWindowInteractor::New();//交互对象加入renWin窗口中
	interactor->SetRenderWindow(renWin);

	renWin->Render();//绘制舞台上的东西

	interactor->Initialize();//交互对象初始化
	interactor->Start();//开始交互事件

	cone->Delete();
	cube->Delete();
	coneActor->Delete();
	cubeActor->Delete();
	coneMapper->Delete();
	cubeMapper->Delete();
	renderer->Delete();
	renderer2->Delete();
	renWin->Delete();
	interactor->Delete();

	return 0;

}

本例中的坐标系统的学习只是简单的在窗口视图上的展示位置的确认

  1. 冠状面(Coronal Plane): 冠状面是一个垂直于垂直平面(sagittal plane)且横跨身体的平面。它将身体分为前后两个部分。在头部到脚部的方向上,冠状面是水平的。这个平面与地面平行,与正中矢状面垂直。冠状面可以想象为把身体切成了上半部分和下半部分的切片。

  2. 轴状面(Transverse Plane): 轴状面是一个垂直于冠状面和矢状面的平面,也称为水平面或横断面。轴状面将身体分为上下两个部分,与地面垂直。当在人体中从头到脚的方向上观察时,轴状面是水平的,平行于地面。这个平面可以想象为把身体切成了上半部分和下半部分的切片。

  3. 矢状面(Sagittal Plane): 矢状面是一个垂直于冠状面的平面,将身体分为左右两个部分。如果平面通过中心线,将身体分为完全相等的左右两部分,则称为中矢状面;如果平面稍微偏向其中一侧,则称为侧矢状面。在人体中,通常将垂直于冠状面的平面称为矢状面,但严格来说,中矢状面才是真正的矢状面

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值