我在AS3中工作。在旋轉矩形上求解點
我有一個普通的矩形。這個矩形可以有任何長度,任何寬度和任何旋轉。我正在嘗試解決矩形四個角的x和y座標。我知道矩形中心的座標,我知道它的寬度,高度,最高點和最低點之間的y距離以及最左邊和最右邊點之間的x距離以及知道旋轉。我的代碼目前看起來像這樣(對象,當然是問題的矩形,請記住,當我應用它時,它可以有任何尺寸 - 這只是一種可能性,初始寬度和高度是實際長度和寬度,而稍後引用的寬度和高度是最高點和最低點以及最遠左右點之間的x和y距離,旋轉當然是旋轉的,並且x和y是對象的中心座標)。
import flash.events.Event;
addEventListener(Event.ENTER_FRAME, Rotate, false, 0, true);
var Radius:Number = Math.sqrt(((Object.height/2) * (Object.height/2)) + ((Object.width/2) * (Object.width/2)));
function Rotate(event:Event)
{
Object.rotation += 1;
Marker1.x = Math.sqrt((Radius * Radius) - ((Object.height/2) * (Object.height/2))) + Object.x;
Marker2.x = - Math.sqrt((Radius * Radius) - ((Object.height/2) * (Object.height/2))) + Object.x;
Marker3.y = Math.sqrt((Radius * Radius) - ((Object.width/2) * (Object.width/2))) + Object.y;
Marker4.y = - Math.sqrt((Radius * Radius) - ((Object.width/2) * (Object.width/2))) + Object.y;
Marker1.y = Object.y + (Object.height/2);
Marker2.y = Object.y - (Object.height/2);
Marker3.x = Object.x + (Object.width/2);
Marker4.x = Object.x - (Object.width/2);
}
正如你可以看到我在嘗試使用圓形的幾何形狀在矩形的角落放置四個小圓圈(標記1-4),只是爲了測試目的,以確認我已經收集了正確的座標。問題是,座標將始終放置在+ x和+ y或-x和-y中,但永遠不會放置在圖的其他兩個象限中。我無法弄清楚在程序中動態模擬二次方程的+ - 的簡單方法。有沒有人知道一種方法來找到矩形的長度,寬度和旋轉這四個點?
誰能告訴我這是如何通常命名爲數學 –