【发布时间】:2014-07-30 23:49:59
【问题描述】:
首先,让我说我在数学上绝对是个糟糕透顶的人,请多多包涵。
我正在尝试计算圆上两点之间的角度,这两点是用户在一定时间内拖动的距离。
这是我目前所拥有的:
intervalId = setInterval(function(){
if(p1x != undefined){
p2x = Xpos;
}
if(p1y != undefined){
p2y = Ypos;
}
if( p1x != p2x || p1y != p2y ){
p1a = p1x - wheelMiddleVer;
p1b = p1y - wheelMiddleHor;
a = Math.sqrt((p1a * p1a) + (p1b * p1b));
p2a = p2x - wheelMiddleVer;
p2b = p2y - wheelMiddleHor;
b = Math.sqrt((p2a * p2a) + (p2b * p2b));
u = p1x - p2x;
v = p1y - p2y;
c = Math.sqrt((u * u) + (v * v));
}
p1x = Xpos;
p1y = Ypos;
}, 1000);
我不知道如何完成它。我曾尝试使用 cos A = (b^2 + c^2 - a^2)/2bc 公式,但对我来说并不奏效。我将感谢您对此的意见。如果我能让问题更清楚,请告诉我。
【问题讨论】:
-
两个
lines之间的角度不是两个points之间的角度 -
var v = Math.abs(Math.atan2(p1y-wheelMiddleVer, p1x-wheelMiddleHor) - Math.atan2(p2y-wheelMiddleVer, p2x-wheelMiddleHor));
-
我修改了我的评论,现在我认为它是正确的
-
很抱歉,我不确定如何实施您的回复。它究竟返回了什么?
标签: javascript jquery math geometry