游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2082|回复: 6

怎样计算?将X1,Y1的角度面向X2,Y2

[复制链接]

197

主题

1041

帖子

1104

积分

金牌会员

Rank: 6Rank: 6

积分
1104
QQ
发表于 2006-9-3 03:05:00 | 显示全部楼层 |阅读模式
假设X1,Y1,X2,Y2为int
X1和Y1坐标的角度要怎样算才能面向X2,Y2

我在写脚本,这里要写个转换,我看不懂这几句汇编指令

197

主题

1041

帖子

1104

积分

金牌会员

Rank: 6Rank: 6

积分
1104
QQ
 楼主| 发表于 2006-9-3 15:16:00 | 显示全部楼层

Re:怎样计算?将X1,Y1的角度面向X2,Y2

在实际过程中,X1,Y1,X2,Y2都是单浮点,这个过程的逆运算我是这样写的得到一个圆周的绝对坐标,_D为半径

_T=1到360之间任意整数
X2 = X1+(_D * cos(DegToRad(_T)));
Y2 = Y1+(_D * sin(DegToRad(_T)));


197

主题

1041

帖子

1104

积分

金牌会员

Rank: 6Rank: 6

积分
1104
QQ
 楼主| 发表于 2006-9-3 15:25:00 | 显示全部楼层

Re:怎样计算?将X1,Y1的角度面向X2,Y2

但是将坐标转换成度数,即0..360之间,就算不正确了

197

主题

1041

帖子

1104

积分

金牌会员

Rank: 6Rank: 6

积分
1104
QQ
 楼主| 发表于 2006-9-3 16:31:00 | 显示全部楼层

Re: 怎样计算?将X1,Y1的角度面向X2,Y2

sf_200693163031.jpg

197

主题

1041

帖子

1104

积分

金牌会员

Rank: 6Rank: 6

积分
1104
QQ
 楼主| 发表于 2006-9-3 16:41:00 | 显示全部楼层

Re:怎样计算?将X1,Y1的角度面向X2,Y2

这样计算正确吗?

  RadToDeg(
       ArcTan2(
            (X2-X1),(Y2-Y1)
                  )
                )

197

主题

1041

帖子

1104

积分

金牌会员

Rank: 6Rank: 6

积分
1104
QQ
 楼主| 发表于 2006-9-3 16:44:00 | 显示全部楼层

Re:怎样计算?将X1,Y1的角度面向X2,Y2

写反了。这样写正确吗?

  RadToDeg(
       ArcTan2(
            (Y2-Y1),(X2-X1)
                  )
                )

197

主题

1041

帖子

1104

积分

金牌会员

Rank: 6Rank: 6

积分
1104
QQ
 楼主| 发表于 2006-9-3 19:04:00 | 显示全部楼层

Re:怎样计算?将X1,Y1的角度面向X2,Y2

以上是正确的计算方法,刚刚通过试验
感兴趣的朋友不妨将它做成函数,很多地方会用到
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-25 07:21

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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