[英]find point and size in scaled and rotated rectangle
我有一個矩形1:綠色,具有以下屬性:
x: 102, y: 121, width: 900, height: 900
我里面有一個子矩形,紅色(與綠色1相關的屬性):
x: 327, y: 415, width: 271, height: 183
如何計算縮放和旋轉后的綠色內 的紅色兒童(灰色) 哨子的大小和位置 , 使其與非旋轉/縮放后的紅色相同?
讓我們對此進行更多的數學計算。 我們有一個帶座標的綠色廣場
g = {(102,121),(1002,121),(1002,1021),(102,1021)}
和帶坐標的紅色矩形
r={{327,415),(498,415),(498,598),(327,598)}.
G的中心是(552,571)。
令T為從中心到原點的平移。 S是圍繞原點縮放0.75,R是旋轉30º。 以矩陣形式
T = (-552)
(-571)
S = (0.75, 0 )
(0 , 0.75)
R = (cos 30, -sin 30)
(sin 30, cos 30)
到點p =(x,y)的完全變換是
T' R S T' p
= T' R S (x-552, y-571)
= T' R (0.75*(x-552), 0.75*(y-571))
= T' (cos 30 * (0.75*(x-552) -sin 30 * 0.75*(y-571))
(sin 30 * (0.75*(x-552) +cos 30 * 0.75*(y-571))
= ( cos 30 * (0.75*(x-552) -sin 30 * 0.75*(y-571) + 552 )
(sin 30 * (0.75*(x-552) +cos 30 * 0.75*(y-571) + 571 )
如果讓矩形具有邊界xl,xh,yl,yh,則角為(xl,yl),...(xh,yh)。 我們將變形應用於每個角,給定點A =(ax,ay),B,C,D。我們需要確保每個點都在矩形內,所以xl <= ah << xh。
這給出了一組要求解的方程。 哪個應該可行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.