一个坐标值的问题

Big鹏 2009-01-11 08:26:46

//哪位大侠能帮我看看下面这段代码的思想?主要是x,y的赋值和cos ,sin??
var angel = parseFloat(xmlHttp.responseText);
rate = angel / 360 *100;
if((angel > 0.0) && (angel<=90.0))
{
x = 150 + 150*Math.cos((angel)*6.283/360);
y = 150 - 150*Math.sin((angel)*6.283/360);
}
else if((angel>90.0)&&(angel<=180.0))
{
x = 150 - 150*Math.cos((180-angel)*6.283/360);
y = 150 - 150*Math.sin((180-angel)*6.283/360);

}
else if((angel >180.0)&&(angel<=270.0))
{
x = 150 - 150*Math.cos((angel-180)*6.283/360);
y = 150 + 150*Math.sin((angel-180)*6.283/360);
}
else
{
x = 150 + 150*Math.sin((angel - 270)*6.283/360);
y = 150 + 150*Math.cos((angel - 270)*6.283/360);
}
if(angel <= 180.0)
{
fm.setAttribute("d","M 150 150 L 300 150 A 150 150 0 0 0 "+x.toString()+" "+y.toString()+" "+"L 150 150 z");
sm.setAttribute("d","M 150 150 L "+x.toString()+" "+y.toString()+" "+"A 150 150 0 1 0 300 150 L 150 150 z");
tm.firstChild.data = "disk-rate:"+rate.toString()+"%";
}
else
{
fm.setAttribute("d","M 150 150 L 300 150 A 150 150 0 1 0 "+x.toString()+" "+y.toString()+" "+"L 150 150 z");
sm.setAttribute("d","M 150 150 L "+x.toString()+" "+y.toString()+" "+"A 150 150 0 0 0 300 150 L 150 150 z");
tm.firstChild.data = "disk-rate:"+rate.toString()+"%";
}
}
}
...全文
84 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
imafish_i 2009-01-11
  • 打赏
  • 举报
回复
用angel"天使"来表示angle"角度"挺有新意的
xiaoyisnail 2009-01-11
  • 打赏
  • 举报
回复
up一下
lann64 2009-01-11
  • 打赏
  • 举报
回复
哦,还有半径也是150
lann64 2009-01-11
  • 打赏
  • 举报
回复
好像是一个圆心在(150,150)的圆,根据角度求半径跟圆的交点坐标。四个象限正负号差别导致出现+-吧。
没仔细想。
Scofield_zao 2009-01-11
  • 打赏
  • 举报
回复
看不懂
学习中。。。。
Big鹏 2009-01-11
  • 打赏
  • 举报
回复

主要是x,y的赋值和cos ,sin??
\这如何理解?
+- -- -+ ++
waizqfor 2009-01-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 baihacker 的回复:]
A = [
a1 a2
a3 ab
]正交矩阵
b =
[
150
150
]

就是在计算
A*b 呗

(angel)*6.283/360
是把角度转为弧度
[/Quote]
刚才感觉很相 现在确认了 UP
waizqfor 2009-01-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 baihacker 的回复:]
A = [
a1 a2
a3 ab
]正交矩阵
b =
[
150
150
]

就是在计算
A*b 呗

(angel)*6.283/360
是把角度转为弧度
[/Quote]
呵呵 MS刚才感觉很相 现在确认了
baihacker 2009-01-11
  • 打赏
  • 举报
回复
不好意思,我看错了.

这里不是正交矩阵.

这里一个圆的参数式方程.
baihacker 2009-01-11
  • 打赏
  • 举报
回复
A = [
a1 a2
a3 ab
]正交矩阵
b =
[
150
150
]

就是在计算
A*b 呗

(angel)*6.283/360
是把角度转为弧度
waizqfor 2009-01-11
  • 打赏
  • 举报
回复
怎么看 感觉不太明显 好象是在计算角度? 有完整代码吗

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧