簡體   English   中英

使用局部比例和旋轉比例縮放對象

[英]Scaling an object with a local scale and a rotation

我有一個具有位置,旋轉角度和比例(x和y)的對象。 總體變換矩陣如下:

QTransform xform;
xform.translate(instance.definition.position.x, instance.definition.position.y);
xform.rotateRadians(instance.definition.rotation);
xform.scale(instance.definition.scale.x, instance.definition.scale.y);

我需要使用全局比例縮放該對象,然后修改該對象的局部比例。 例如,將對象旋轉45度,我應用1,2的比例,我需要知道這如何影響局部比例,因為它會影響兩個局部比例軸。

謝謝。

PS:也許這是不可能的,因為是非仿射轉換,我不知道,我在Google上沒有發現太多關於此特定問題的信息

更新:我認為我至少需要3行2行矩陣轉換才能保留足夠的信息,我在SVG中嘗試了一些使用這種矩陣轉換的方法,並且似乎可行,我需要根據到位置和旋轉。

要么先縮放對象

或計算逆矩陣,將其應用於對象(撤消平移/旋轉),縮放比例並再次應用第一個矩陣。

如果使用矩形,請對其進行旋轉,使其邊緣不再與坐標軸平行,然后將縮放因子應用於X,它將不再是矩形。 這將是一個平行四邊形,您的數據結構將不得不容納比現在更多的信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM