VTK基本概念之坐标系统

VTK学习-坐标系统 阅读详情

坐标系统

  在实际开发中,必须理解不同坐标系统之间的关系。计算机图形学里常用的四种坐标系:Model坐标系、Word坐标系、View坐标系和Display坐标系统,转换关系如下图所示。
  
这里写图片描述

VTK支持多种不同类型的坐标系统。类vtkCoordinate可以在不同的坐标系统进行变换,VTK支持的坐标系统如下:

这里写图片描述

不同坐标系介绍

Model坐标系统

  Model坐标系统是定义模型时所用采用的坐标系统,通常是局部的笛卡尔坐标系。例如:要定义一个表示球体的Actor,一般的做法是将改球体定义在一个柱坐标系统里。

World坐标系统

  World坐标系统是放置Actor、相机和光照的三维空间坐标系。Actor的一个功能就是负责将Model坐标系统变换到World系统。World坐标系统只有一个,每个Actor必须通过放缩、旋转、平移等操作将Model坐标系变换到World坐标系。类似Python实现代码。

actor = vtkActor()
transform = vtkTransform()
actor.SetUserTransform(transform)

View坐标系统

  View坐标系统表示的是相机所看见的坐标系统。由x,y值组成,范围位于(-1,1),z值表示深度坐标。x,y值指定物体在图像平面的位置,而z值表示的是离照相机的距离。
相机的位置信息是由一个4*4的矩阵来表示的,这个矩阵用于将Word坐标系统变换到View坐标系。

ViewPort坐标系统

  ViewPort坐标系统是把不同的渲染场景放在同一个窗口进行显示。用vtkRenderer::SetViewPort()来设置视口的范围。视口的x,y取值为(0, 1)。

Display坐标系统

  Display坐标系统跟View坐标系统类似,但是各坐标轴的取值不是[-1, 1],而是使用屏幕像素值。z值表示深度信息。屏幕上显示的不同窗口的大小会影响View坐标系的坐标值[-1, 1]到Display坐标系的映射。

VTK基础教程(1)- vtkPolyData 介绍 目录 VTK的编译与环境搭建 VTK一般渲染流程 VTK数据类型-vtkPolyData 使用vtk自带的多边形数据 使用自己创建的数据 添加顶点颜色 添加面颜色 VTK的编译与环境搭建 这部分目前已经有了大佬做了成熟的傻瓜式配置,大家可以参考这篇文章:VTK+VS2019(或其他版本均可) 傻瓜式一站式 配置_Nancy_fairy的博客-优快云博客_vs2019 vtk VTK一般渲染流程 这部分的介绍也很多,大家可以参考这篇文章:VTK笔记-了解VTK_黑山老妖的博客. 阅读详情

相关推荐

VTK使用指南:介绍

本章讨论了开发大型和/或复杂软件系统的一些问题,并描述了面向对象设计如何解决其中的许多问题。本章定义了面向对象建模和设计中使用的关键术语,并通过一个真实世界的例子进行了工作。本章最后简要介绍了一些面向对象的语言以及与面向对象可视化相关的一些问题。

weixin_44897632的博客 3338

VTK 基本介绍

VTK(Visualization Toolkit)是 Kitware 公司发布的开源免费软件系统,受到国内外高等院校与科研机构的欢迎,广泛地应用于计算机图形学、图像处理与三维可视化等领域。VTK 独立于系统的图形界面接口(GUI),可方便的嵌入到其他的相关软件中。同时开发人员可以基于 VTK 独立的基础类库开发自己的库函数,拓展 VTK 的应用范围。 VTK 采用面向对象思想,基于 OpenGL 开发出目标函数库。它将将一些常用的算法封装为类的形式,用户在开发过程中可以直接调...

钢铁男儿 2万+

基于C++的VTK8学习笔记1(VTK基本概念)

使用的平台是VS2019+VTK8.2,参考的是张晓东的《VTK图形图像开发进阶》和水灵的视频Study VTK Together,初学VTK,文章中有不合适之处还希望大家能不吝赐教。

qq_32809093的博客 1万+

VTK修行之相见恨晚

开启我的VTK之路

保持分享欲 2344

摘要-VTK图形图像开发进阶

本章小结 1 本章主要介绍了什么是VTK;VTK能做些什么事情;如何获取VTK的源码,同时列举了除本书以外的其他VTK学习资源。 此外,为安装VTK做了非常充分的准备工作,了解了在编译安装VTK之前需要先安装哪些软件。然后一步一步地演示如何编译VTK,这个过程还是比较简单的。编译完VTK后,通过这个小程序学习了CMakeLists.txt脚本的写法,并掌握了6个CMake命令,分别是CMA...

qq_34356368的博客 1178

基于C++的水灵VTK8学习笔记1(VTK基本概念)

张晓东的《VTK图形图像开发进阶》全套资料(包含书籍电子版,配套每章节所有源码、实现效果图和工程配置文件): https://download.youkuaiyun.com/download/qq_32809093/12550945 水灵VTK学习全套资料(包含全部视频、PPT、源码和每个项目对应的工程配置文件CmakeLists.txt): https://download.youkuaiyun.com/download/qq_32809093/12550933 水灵VT视频在线观看:https://www.ixigua.c

qq_32809093的博客 2016

VTK系列9-10_坐标系统

实例9:坐标系统1 #include "vtkAutoInit.h" VTK_MODULE_INIT(vtkRenderingOpenGL2); VTK_MODULE_INIT(vtkInteractionStyle); #include <vtkConeSource.h>//源数据 #include <vtkCubeSource.h>//立方体 #include <vtkPolyDataMapper.h>//数据映射 #include <vtkRendere

qq_32809093的博客 576

VTK修炼之道9:坐标系统及空间变换(窗口-视图分割)

1.坐标系统 计算机图形学里常用的坐标系统主要有四种,分别是:Model坐标系统、World坐标系统、View坐标系统和Display坐标系统,以及两种表示坐标点的方式:以屏幕像素值为单位和归一化坐标值(各坐标轴取值都为[-1, 1])。 Model坐标系统是定义模型时所采用的坐标系统,通常是局部的笛卡尔坐标系。例如,我们要定义一个表示球体的Actor,一般的做法是将该球体定义在一个柱

沈春旭的博客 7310

VTK- 可视化过程 & 四种坐标系统

这个坐标系统与具体的模型相关联,是定义模型时使用的坐标系统,通常是局部的笛卡尔坐标系。每个模型(如通过vtkPolyData或vtkImageData表示的数据集)都在自己的模型坐标系统中定义。例如,一个球体可能在其模型坐标系统中定义为以原点为中心、半径为1的单位球。

2301_79503228的博客 1528

【VTK-Rendering::Core】vtkCoordinate坐标系统

本文分享vtkCoordinate源码解析,并对VTK中的各种坐标变换进行分析,希望对各位小伙伴有所帮助!

qq_40041064的博客 1480

VTK编程指南<五>:VTK中的坐标系统、空间变换及VTK矩阵详解

VTK编程指南<五>:VTK中的坐标系统、空间变换及VTK矩阵详解

欧特GO 2326

VTK初学-抄书笔记(2)

该类派生自vtkPolyDataAlogorithm。顾名思义,

qq_51627050的博客 1793

Trae AI开发工具:大前端环境配置与避坑指南

大前端开发的第一步往往不是选框架,而是搭建一套可靠的工具链。IDE作为编码、调试与AI能力协同的载体,直接决定后续开发的顺畅度。传统编辑器需要手动拼装插件生态,而新一代AI开发工具将对话、代码生成与项目脚手架能力内置到编辑器底层,降低了环境准备的门槛。Trae基于VS Code内核,兼容其插件体系,同时提供Chat、Builder、内联对话三种AI交互模式,适合从VS Code迁移的开发者,也适合大前端新人快速上手。安装时需认准官方渠道,注意Node.js、Git版本联动,配置自动格式化与手动更新策略,并结

weixin_26833139的博客 281

03-VTK基础概念(2)

3.3 光照 剧场里有各式各样的灯光,三维渲染场景中也一样,可以有多个光照存在。光照和相机是三维渲染场景必备的因素,如果没有指定(像3.1.1_RenderCylinder例子,我们没有给Renderer指定相机和光照),vtkRenderer会自动地创建默认的光照和相机。VTK里用类vtkLight来表示渲染场景中的光照。与现实中的灯光类似,VTK中的vtkLight实例也可以打开、关闭,设置...

weixin_34390996的博客 104

利用Ghidra与SVD插件实现STM32固件深度逆向分析

本文详细介绍了如何利用Ghidra逆向工程框架结合SVD插件,实现对STM32固件(.bin文件)的深度逆向分析。通过加载描述芯片外设寄存器的SVD文件,Ghidra能将晦涩的硬件地址操作转换为可读的寄存器符号,极大提升了对嵌入式固件中通信协议、安全校验等关键逻辑的分析效率。文章涵盖了从Java环境搭建、工具配置到实战逆向解析的完整流程。

peach的博客 942

基于物联网技术智慧园林绿化养护管理信息平台

近几年来,随着经济不断的发展,城市面积不断的扩大,城市管理中的园林绿化工作也在这种趋势下不断的发生着深刻改变。管养企业是否按制定的管养计划严格执行?绿化事件整改是否及时到位?绿地面积是否在稳步增长?管养的效果如何?如何客观评价管养企业的管养工作?这些都是我们各级管理者需要面对的问题。   智慧园林绿化养护管理信息平台的开发思路以“考核”为核心,整个信息平台体现出“新、快、高、全、享”五个特点。   智慧园林绿化养护管理信息平台的整个开发理念为:依托五大技术手段(全球卫星定位系统技术、地理信...

Cesium的博客QQ2252224326 2459

03-VTK基础概念(2) - 博客频道

剧场里有各式各样的灯光,三维渲染场景中也一样,可以有多个光照存在。光照和相机是三维渲染场景必备的因素,如果没有指定(像3.1.1_RenderCylinder例子,我们没有给Renderer指定相机和光照),vtkRenderer会自动地创建默认的光照和相机。VTK里用类vtkLight来表示渲染场景中的光照。与现实中的灯光类似,VTK中的vtkLight实例也可以打开、关闭,设置光照的颜色,照射

fanhenghui的专栏 1655

科研智能体平台搭建与实战:大模型如何驱动科研自动化

大模型技术的快速发展,正推动AI智能体从单纯对话工具向主动执行任务的科研伙伴演进。智能体的核心原理在于整合模型调用、工具使用、知识库检索与工作流编排,使其能够自主拆解目标、执行操作并迭代优化。在科研场景中,这一技术价值尤为突出:文献初筛、实验数据清洗、代码调试、结果汇总等高频重复劳动均可实现自动化,大幅释放研究者精力。从基础组件配置到多智能体协同,从平台选型到提示词调优,实际落地需要关注模型匹配、工具稳定性、记忆管理与人机校验机制。本文基于真实工程经验,系统梳理科研智能体平台的搭建路径、应用案例与高频问题排

weixin_32597009的博客 283

光照

3.3 光照 剧场里有各式各样的灯光,三维渲染场景中也一样,可以有多个光照存在。光照和相机是三维渲染场景必备的因素,如果没有指定(像3.1.1_RenderCylinder例子,我们没有给Renderer指定相机和光照),vtkRenderer会自动地创建默认的光照和相机。VTK里用类vtkLight来表示渲染场景中的光照。与现实中的灯光类似,VTK中的vtkLight实例也可以打开、关闭,设置

yu132563的专栏 704

Exchange Server 2013 运维系列——邮箱配额设置(管理中心)

邮箱配额需要设置三个参数: 1、发出警告限制:表示在向用户发出警告之前的最大存储限制。如果邮箱大小达到或超过指定值,Exchange 将向邮箱用户发送警告消息。 2、禁止发送限制:表示邮箱的“禁止发送”限制。如果邮箱大小达到或超过指定的限制,Exchange 将阻止邮箱用户发送新邮件,并显示一条描述性错误消息。 3、禁止发送和接收限制:表示此邮箱的“禁止发送和接收”限制。如果邮箱大小

白昼的技术专栏 1万+

UE5实现物体高亮描边效果(含UE相关源码浅析)

UE5实现物体高亮描边效果

专注GIS开发 7334

VTK随笔三:坐标系统、空间变换、VTK管线、VTK智能指针

VTK随笔三:坐标系统、空间变换、VTK管线、VTK智能指针

u012959478的博客 2637

虚幻商城 Fab 免费资产自动化入库

Fab 商城的所有的免费资产自动化入库

一碗清深的博客 3636

3.VTK坐标系统以及VTK管线

这个专栏是用于记录我在学习VTK过程中的一些心得体会。参考的资料主要有以下三个:1. 张晓东 罗火灵《VTK图形图像开发进阶》3. 沈子恒 《VTK 三维数据渲染进阶》遇到的一个大问题就是由于版本更新,这些资料中很多代码无法正常运行,需要进行一定的修改,所以这个专栏会记录下来我修改后的程序代码,以便于我之后温习。也希望能给和我有同样困扰的小伙伴们一些帮助。我使用的版本:VTK9 + VS2022在上一篇中我介绍了VTK的流水线设计。

weixin_52194015的博客 555

基于Simulink的轨道交通信号控制系统仿真详细介绍

轨道交通信号控制系统是确保列车安全、高效运行的核心技术。通过Simulink进行信号控制系统的仿真,可以验证系统的设计、优化调度策略并提高安全性。以下是如何在MATLAB和Simulink中设计并仿真一个轨道交通信号控制系统的详细步骤。通过上述步骤,我们成功设计并实现了基于Simulink的轨道交通信号控制系统仿真。该系统能够根据列车位置、速度和轨道状态生成控制指令,确保列车的安全、高效运行。通过虚拟场景仿真、硬件在环测试和实机测试,验证了系统的性能,并通过参数优化进一步提升了系统的可靠性。引入智能调度。

xiaoheshang_123的博客 462

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

上一篇: VTK基本概念之灯光
下一篇: VTK基本概念之光照
暮-成-雪
博客等级 码龄12年 5328粉丝 319原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值