我试图找到一个旋转矩形的中点。
我已经制作了一个 javascript 函数来执行此操作,但它输出的答案不正确。我不明白我的数学哪里出了问题,或者我没有将所有内容都转换为弧度?
你能告诉我如何让我的函数正确计算旋转矩形的中点吗?
这个 JSFiddle 演示了我如何得到不正确的中点值:http: //jsfiddle.net/HyFrX/1/
function getMidPoint( /*int*/ x, /*int*/ y, /*int*/ width, /*int*/ height, /*int(in degrees)*/ angle )
{
width = width/2;
height = height/2
var dist = Math.sqrt( (Math.pow(width,2)) + (Math.pow(height,2)) );
var degtorad = Math.PI/180;
x += Math.cos(degtorad * (45+angle)) * dist;
y += Math.sin(degtorad * (45+angle)) * dist;
return {px: x, py: y};
}
var p = getMidPoint(50,90,200,300,0);
var p2 = getMidPoint(10,500,600,100,0);
alert("p1: "+p.px+","+p.py); // Should be 150,240 right?
alert("p2: "+p2.px+","+p2.py); // Should be 310,550 right?