游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1026|回复: 1

求助三维物体的旋转问题

[复制链接]

2

主题

3

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2006-7-19 10:24:00 | 显示全部楼层 |阅读模式
我用C++builder调用opengl在Form的panel上画出一三维图形,想实现用鼠标拖动其平移和旋转,网络上有平移和旋转的提法,大都不完整,都需要外部给出平移量和旋转角度,很不方便。
opengl函数中是否有点击鼠标可以获得当前的鼠标坐标,鼠标移动后,可再获得一个坐标;然后计算坐标之间的差(三个方向)及角度(三个方向),然后把移动距离和旋转角度分别带入函数glRotate()和glTranslate();就可以实现鼠标的拖动平移和旋转了。
不明白的是:
1。这种思路是不是正确?
2。怎么样获得鼠标所点击位置的坐标(两次)。
3。旋转的角度怎么计算。

这里的高手很多,敬请大家帮助我。

5

主题

686

帖子

697

积分

高级会员

Rank: 4

积分
697
QQ
发表于 2006-7-20 12:59:00 | 显示全部楼层

Re:求助三维物体的旋转问题

旋转和平移应该是分开处理的,不可能用一个键又旋转又平移啊
平移简单,旋转其实只需要处理两个轴的旋转就成了,按下旋转键后鼠标分别向xy移动的距离可以直接挪作旋转角度,分别绕两个轴旋转,一般都能满足要求,如果非得要三个轴,就再加一个专门的按键来处理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-24 23:07

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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