游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3441|回复: 7

菜鸟求教:在VC求出一个角度.

[复制链接]

6

主题

33

帖子

33

积分

注册会员

Rank: 2

积分
33
QQ
发表于 2005-8-14 15:39:00 | 显示全部楼层 |阅读模式
请多多指教:用VC求出下图的那个角度?请问有什么办法吗?小弟万分感谢!

sf_200581415396.jpg

8

主题

239

帖子

239

积分

中级会员

Rank: 3Rank: 3

积分
239
发表于 2005-8-14 17:14:00 | 显示全部楼层

Re:菜鸟求教:在VC求出一个角度.

D3DXVECTOR v1(x1,y1), v2(1,0);
float cosa = D3DXVec2Dot(D3DXVec2Normalize(&v1, &v1), &v2);

0

主题

9

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2005-8-15 01:04:00 | 显示全部楼层

Re:菜鸟求教:在VC求出一个角度.

前两天刚用的角度,呵呵

double angle = 0;
angle = asin(double(y1),sqrt(x1*x1+y1*y1); //通过反正弦函数,数学里是arcsin,返回的是弧度
angle *= 180/3.1415926 //将弧度转为角度

8

主题

239

帖子

239

积分

中级会员

Rank: 3Rank: 3

积分
239
发表于 2005-8-15 11:28:00 | 显示全部楼层

Re:菜鸟求教:在VC求出一个角度.

x1=0,y=0 咋办

132

主题

1341

帖子

1341

积分

金牌会员

Rank: 6Rank: 6

积分
1341
发表于 2005-8-15 11:31:00 | 显示全部楼层

Re:菜鸟求教:在VC求出一个角度.

详细一点,应该是:
D3DXVECTOR2 v1(x1,y1), v2(1,0);
float angle =acos( D3DXVec2Dot(D3DXVec2Normalize(&v1, &v1), &v2));

0

主题

9

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2005-8-15 13:22:00 | 显示全部楼层

Re: Re:菜鸟求教:在VC求出一个角度.

z999999: Re:菜鸟求教:在VC求出一个角度.

x1=0,y=0 咋办

一些特殊的结果就不必计算可以直接得到答案,比如说两个point的X相等,那这线段的角度就是0/180度,至于是0还是180要看X1大还是X2大,Y一样。本来用atan(正切的反函数)精度是比较高的,不必计算两点的距离,不过是否反正切函数比反正弦函数运算速度快我就不知道了,因为我前面用它来写一个图像处理软件,并不是用来游戏编程。关于哪个函数快,我想某些游戏书上会提到。也可以自己写测试用例循环它10K次看运行时间。

楼上的那位兄弟用到的是DX下的东西吧,不错,我现在才刚开始接触DX,看来好多东西得学呢,呵呵

132

主题

1341

帖子

1341

积分

金牌会员

Rank: 6Rank: 6

积分
1341
发表于 2005-8-15 15:10:00 | 显示全部楼层

Re:菜鸟求教:在VC求出一个角度.

那就跨引擎实现吧:
float x1,y1,x2=1,y2=0;
float angle=acos(x1*x2+y1*y2);

15

主题

1268

帖子

1268

积分

金牌会员

Rank: 6Rank: 6

积分
1268
发表于 2005-8-15 15:12:00 | 显示全部楼层

Re:菜鸟求教:在VC求出一个角度.

实在无法理解LZ的行为
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-27 10:16

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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