博客
关于我
日落20180714001 - 图形学基础之OneTwoThree转啊转
阅读量:193 次
发布时间:2019-02-28

本文共 582 字,大约阅读时间需要 1 分钟。

1D数学,一条轴,X轴;

可以任意转动,随意在各种空间中自由变换。

 

2D数学,两条轴,X轴和Y轴;

引用书上说法,有两种情况,

标准形式:

 

非标准形式:

 

标准形式与非标准形式的四种情况,都是同方向(顺时针/逆时针)同时转动两个轴的n倍90度,而标准形式与非标准形式之间就是只转动其中一个轴180度。

 

 

3D数学,三条轴,X轴,Y轴,Z轴;

引用书上说法,左手系与右手系各有24种情况,

 

左手系/右手系的24种情况:

锁定+X

+Y,+Z

-Y,+Z

+Y,-Z

-Y,-Z

锁定-X

+Y,+Z

-Y,+Z

+Y,-Z

-Y,-Z

锁定+Y

+X,+Z

-X,+Z

+X,-Z

-X,-Z

锁定-Y

+X,+Z

-X,+Z

+X,-Z

-X,-Z

锁定+Z

+X,+Y

-X,+Y

+X,-Y

-X,-Y

锁定-Z

+X,+Y

-X,+Y

+X,-Y

-X,-Y

 

当左转右,或右转左时,就需要翻转其中一个轴,例如+X变-X,+Y变-Y,+Z变-Z。

 

然后,如果锁定任意两轴,就会发现,咦?!第三个轴就被卡住,转不动了,这大概就是万向锁了吧。

 

 

总结1、2、3,会发现更多维度的坐标系,其变换将会受到更多制约条件。大概在4D时空里,时间轴也会被3D空间死锁。

 

以上简单回顾。

 

参考: 

《3D数学基础:图形与游戏开发》第2章

《Unity Shader入门精要》第4.2节

你可能感兴趣的文章
Netty工作笔记0075---handler链调用机制实例1
查看>>
Netty工作笔记0076---handler链调用机制实例3
查看>>
Netty工作笔记0077---handler链调用机制实例4
查看>>
Netty工作笔记0078---Netty其他常用编解码器
查看>>
Netty工作笔记0079---Log4j整合到Netty
查看>>
Netty工作笔记0080---编解码器和处理器链梳理
查看>>
Netty工作笔记0081---编解码器和处理器链梳理
查看>>
Netty工作笔记0082---TCP粘包拆包实例演示
查看>>
Netty工作笔记0083---通过自定义协议解决粘包拆包问题1
查看>>
Netty工作笔记0084---通过自定义协议解决粘包拆包问题2
查看>>
Netty工作笔记0085---TCP粘包拆包内容梳理
查看>>
Netty常用组件一
查看>>
Netty常见组件二
查看>>
Netty应用实例
查看>>
netty底层——nio知识点 ByteBuffer+Channel+Selector
查看>>
netty底层源码探究:启动流程;EventLoop中的selector、线程、任务队列;监听处理accept、read事件流程;
查看>>
Netty心跳检测
查看>>
Netty心跳检测机制
查看>>
netty既做服务端又做客户端_网易新闻客户端广告怎么做
查看>>
netty时间轮
查看>>