准备 IDE:Visual Studio 2015 了解并学习:SharpDx官方GitHub 推荐Demo:SharpDX_D3D12HelloWorld第一节 世界 世界坐标系是一个特殊的坐标系,它建立了描述其他坐标系所需要的参考框架。 世界坐标系 从另一方面说, ...
准备
IDE:Visual Studio 2015
了解并学习:SharpDx官方GitHub
推荐Demo:SharpDX_D3D12HelloWorld
第一节 世界
世界坐标系是一个特殊的坐标系,它建立了描述其他坐标系所需要的参考框架。
世界坐标系
从另一方面说,不能用更大的、外部的坐标系来描述世界坐标系
关于世界坐标系的典型问题都是关于初始位置和环境的:
- 每个物体的位置和方向
- 摄像机的位置和方向
- 世界中每一点的地形是什么(如山丘、建筑、湖泊等)
- 一个物体从哪里来,到哪里去(NPC的运动策略)
左、右手坐标系
所有的2D坐标系是等价的,但3D坐标系有“手性”之分
左、右手坐标系可以互相转换,最简单的方法是只翻转一个轴的符号
传统的计算机图形学使用左手坐标系,而线性代数则倾向于使用右手坐标系
SharpDx采用左手坐标系,即X轴由右向左,Y轴由下至上,Z轴由里至外
SharpDx的世界有多大
首先,这个世界是有限且离散的
描述三维坐标需要使用SharpDx或System.Numerics命名空间下的Vector3类型
Vector3表示一个三维向量,它的x,y,z分量都是float类型(单精度浮点数),我们知道float范围是-3.40E+38 ~ +3.40E+38
而原子的直径是0.1nm级别,若以它作为基本单位,那么这个世界大约是一个边长6.80E+25公里的方盒(约71877亿光年)
这个世界足够大了吗
目前认为银河系直径是10~12万光年,宇宙可视直径是920亿光年
单精度浮点数可精确到小数点后6位,即当前世界最小分辨率是10-6倍原子大小
那么离散的float类型足以描述现实世界了吗?向您介绍计算机图形学第一准则,留给您思考:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。