游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1593|回复: 4

有个非常基础的问题想请教大家,关于空间几何

[复制链接]

227

主题

1793

帖子

1866

积分

金牌会员

Rank: 6Rank: 6

积分
1866
发表于 2008-7-25 20:09:00 | 显示全部楼层 |阅读模式


向量(x,y,z)的模是L
相对3个轴的转向角度turnX,turnY,turnZ
turnX,turnY,turnZ和L是已知数
求向量(x,y,z)

19

主题

638

帖子

638

积分

高级会员

Rank: 4

积分
638
发表于 2008-7-25 20:11:00 | 显示全部楼层

Re: 有个非常基础的问题想请教大家,关于空间几何

取决于你的三个角度是怎么定义的。一般只需两个角度。

227

主题

1793

帖子

1866

积分

金牌会员

Rank: 6Rank: 6

积分
1866
 楼主| 发表于 2008-7-25 20:15:00 | 显示全部楼层

Re:有个非常基础的问题想请教大家,关于空间几何

       
        glRotatef( turnX, 1.0f, 0.0f, 0.0f );                                       
        glRotatef( turnY, 0.0f, 1.0f, 0.0f );
        glRotatef( turnZ, 0.0f, 0.0f, 1.0f );               
就是这个
如果用飞机来举例子的话
turnX是横向平移,飞机本身保持水平
turnY是纵向翻滚
turnZ是横向翻滚

19

主题

638

帖子

638

积分

高级会员

Rank: 4

积分
638
发表于 2008-7-26 08:26:00 | 显示全部楼层

Re:有个非常基础的问题想请教大家,关于空间几何

你想说的角度是欧拉角吧,欧拉角是由yaw,pitch,roll三个旋转构成,用于以类似控制飞机的模式控制模型角度。但对向量来说roll旋转没意义,因为向量以自己为轴旋转是不变的。

yaw是水平方向角,以前为0,pitch是上下的偏角,以前为0。右手系下逆时针为正。常用习惯中或者以Y轴向上,则yaw是绕+Y转;或者以Z轴向上,则yaw绕+Z转。以+Z向上、+Y向前为例:
v = (L * cos(pitch) * -sin(yaw), L * cos(pitch) * cos(yaw), L * sin(pitch))

227

主题

1793

帖子

1866

积分

金牌会员

Rank: 6Rank: 6

积分
1866
 楼主| 发表于 2008-7-26 14:38:00 | 显示全部楼层

Re:有个非常基础的问题想请教大家,关于空间几何

好像不是欧拉角
应该是我的问题本身就不正确……
看来我原本就是按照欧拉角度来旋转的
可实际转动效果明显不对
http://oz01.512j.com/p/actest.rar
这是我写的demo

我感觉我的问题应该改成这样

已知某半径R球体上一点(x0,y0,z0),
这个球体绕x轴顺时针旋转turnX度,
这个球体绕y轴顺时针旋转turnY度,
这个球体绕z轴顺时针旋转turnZ度,
求这点的坐标(x1,y1,z1)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-21 21:03

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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