
我正在嘗試計算一個圓在另一個圓內旋轉時的 x,y 點,如圖所示。
給定角度,計算內圓的 x,y 值所需的數學公式是什么?
javascript中的解決方案:
function innerX(angle) {
var rad = toRadians(angleOffset(angle));
var sx = cx (R-r)*Math.cos(rad);
return sx;
}
function innerY(angle) {
var rad = toRadians(angleOffset(angle));
var sy = cy (R-r)*Math.sin(rad);
return sy;
}
function topLeft(angle) {
var sx = innerX(angle);
var sy = innerY(angle);
var tl = [sx - r, sy -r];
return tl;
}
查看完整代碼: https ://jsfiddle.net/axmjh45u/2/
uj5u.com熱心網友回復:
大圓心cx, cy,大半徑R,小半徑r,我們可以看到小圓心是
sx = cx (R-r)*cos(angle - Pi/2)
sy = cy (R-r)*sin(angle - Pi/2)
所以外接矩形坐標是
top = sx - r
left = sy - r
and similar for right, bottom
我添加了-Pi/2summand 因為你的零角度對應于-Pi/2 (270 or -90 degrees)方向
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/431635.html
