我有一個由具有 with 和 height 屬性的一維陣列組成的二維網格。在那個網格中,我有一個盒子物件,我想旋轉 X 度數。我已經使用這個公式來旋轉網格中物件的每個像素:
newX = floor(cos(angle)*x - sin(angle)*y)
newY = floor(sin(angle)*x cos(angle)*y)
當盒子很小時它作業正常,但如果盒子更大,我會得到一些空單元格。我怎樣才能填補空位女巫應該被填補。這是一個寬度和高度為 10 的框的示例,然后旋轉了 45 度:

uj5u.com熱心網友回復:
執行反向映射:
遍歷結果的所有像素。您可以使用旋轉影像的邊界框并掃描其線條。
對于每個像素,獲取相應源像素的坐標。如果它們位于有效范圍內(源矩形),則將源顏色復制到結果。
要獲得反向映射公式,只需更改角度符號(如果您有沒有移位的純旋轉)
oldx = cos(angle)*newx sin(angle)*newy
oldy = -sin(angle)*newx cos(angle)*newy
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/512736.html
標籤:javascript数学
下一篇:將值映射到順序范圍
