游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2309|回复: 3

请教:顺时针与逆时针旋转哪个划得来呢?

[复制链接]

53

主题

419

帖子

451

积分

中级会员

Rank: 3Rank: 3

积分
451
发表于 2004-1-27 12:55:00 | 显示全部楼层 |阅读模式
我在做游戏时遇到一个急手的智能问题
圆上有两个点,分别是a 当前点,oa目标点,我准备在圆上作旋转,就是a点向oa点旋转,使之重合。是用顺时针还是逆时针旋转划得来呢,是我最头痛的问题,因为考虑的因素很多,特别是0和360度的过度,许多时候都不竟人意。






以下是我写的C程序,希望各位大哥给我一个解决问题的方法,谢谢!!!
===============================================================

代码段(有时候失败)

/* 确定旋转角度 方向 */
if( oa-a <= 180 )
{
if( oa-a >0 ) PLAYER[n].turn_right=1; /*顺时针旋转*/
else PLAYER[n].turn_left=1;/*逆时针旋转*/
}

else if( oa-a > 180 )
{
if( oa-a >0 ) PLAYER[n].turn_right=1;/*顺时针旋转*/
else PLAYER[n].turn_left=1;/*逆时针旋转*/
}
===============================================================
int ask_round(int a,int oa)
{
想写一个这样的函数 变量SZ顺时针旋转的距离(距离也就是要转的角度的多少) NZ逆时针旋转的距离,比较谁用的角度少就用谁,return(1) 用顺时针 return(2)用逆时针。
}

就是很难解决,想了好久了,都没有满意的答案,郁闷啊~~~~希望各位大哥帮忙写一个这样的判断函数了,不胜感激!!
如果用纯角度的计算方法,该怎么做,给个提示吧,哈哈~~~~~~

这是图解,我的角度坐标系 a 当前点,oa目标点 和各种角度情况
[em10] [em10] [em10]
sf_2004127125550.jpg

53

主题

419

帖子

451

积分

中级会员

Rank: 3Rank: 3

积分
451
 楼主| 发表于 2004-1-27 17:14:00 | 显示全部楼层

Re:请教:顺时针与逆时针旋转哪个划得来呢?

大家来帮忙啊~~~~~~~~~

0

主题

10

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2004-1-28 01:48:00 | 显示全部楼层

Re:请教:顺时针与逆时针旋转哪个划得来呢?

int d=oa-a;
if (d<0)d+=360;
if(d<=180)
return 1;
return 2;

:)

53

主题

419

帖子

451

积分

中级会员

Rank: 3Rank: 3

积分
451
 楼主| 发表于 2004-1-28 11:55:00 | 显示全部楼层

Re:请教:顺时针与逆时针旋转哪个划得来呢?

谢谢您!!! nickgr
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-2-24 23:56

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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