游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2831|回复: 5

三维坐标系有点搞不清

[复制链接]

21

主题

158

帖子

174

积分

注册会员

Rank: 2

积分
174
发表于 2010-10-26 20:00:00 | 显示全部楼层 |阅读模式
至今我似乎总是能看到两种不同的关于三维坐标系的轴的定义方式。

1) X向右 Y向上 Z向里
2) X向右 Y向外 Z向上

我想问问这两种方式通常各自在什么情况下使用。

21

主题

158

帖子

174

积分

注册会员

Rank: 2

积分
174
 楼主| 发表于 2010-10-26 20:11:00 | 显示全部楼层

Re:三维坐标系有点搞不清

另外在现实世界里我应该怎么理解Roll, Yaw 和 Pitch这三个动词?


--------------
意思是,怎么转算Roll,怎么转算Yaw,怎么转算Pitch ???

2

主题

429

帖子

435

积分

中级会员

Rank: 3Rank: 3

积分
435
发表于 2010-10-26 20:33:00 | 显示全部楼层

Re:三维坐标系有点搞不清

都是左手坐标系。具体哪个轴朝向相对屏幕的方向,完全看你自己喜欢怎么定。只要统一使用即可。

至于roll, yaw, pitch。 一般都是相对当前方向来定义的。现实中理解的话,歪头就是roll,摇头是yaw,点头是pitch。这里理解后,计算上就比较直观了,比如roll就是以当前向前的方向为旋转轴旋转,yaw就是以当前向上的方向为旋转轴旋转。

21

主题

158

帖子

174

积分

注册会员

Rank: 2

积分
174
 楼主| 发表于 2010-10-26 20:42:00 | 显示全部楼层

Re:三维坐标系有点搞不清

谢谢楼上 按照Roll(Z) Yaw(Y) Pitch(X)来讲

对应的坐标系方向应该是Z朝里,Y朝上。

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
发表于 2010-10-27 12:30:00 | 显示全部楼层

Re:三维坐标系有点搞不清

1) X向右 Y向上 Z向里
如果你说的向“里”是指“屏幕里”,也就是“前方”的话,那么这种方式是Direct3D里的默认方式。

2) X向右 Y向外 Z向上
如果你说的向“外”是指“屏幕外”,也就是“后方”的话,这种方式应该是自定义的方式。

怎么转算Roll,怎么转算Yaw,怎么转算Pitch?
你完全可以用 TurnX,TurnY,TurnZ 来代替上面这3个。
我不知道他们之间的对应关系,不过无所谓。

1

主题

266

帖子

280

积分

中级会员

Rank: 3Rank: 3

积分
280
发表于 2010-10-29 00:32:00 | 显示全部楼层

Re:三维坐标系有点搞不清

1) X向右 Y向上 Z向里
2) X向右 Y向外 Z向上
——这两种是相同的,都是指“左手坐标系”(D3D所使用),实际上这个(2)就等于把(1)向屏幕外翻转了90度。
想想伸出你的左手,拇指指向上方,食指指向你的前方,中指指向你的右方。这时你的拇指相当于+Y、食指是+Z、中指是+X,看看(1)和(2)是不是一样的!?(只是旋转了90度)


另外在现实世界里我应该怎么理解Roll, Yaw 和 Pitch这三个动词?
——Roll是指绕物体坐标系Z轴旋转,Yaw是指绕物体坐标系Y轴旋转,Pitch是指绕物体坐标系X轴旋转。注:这里的XYZ是指左手坐标系。
注意Roll-Pitch-Yaw和heading-pitch-bank极易混淆!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-3 08:46

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表