1
如何將圖像旋轉90度(右和左)一維數組n元素?C - 使用一個陣列將圖像旋轉90度(右和左) - 位圖
我的陣列是24位位圖(N×N個)
例如,我的數組
A[16] = {
1,2,3,4
5,6,7,8
9,10,11,12
13,14,15,16}
旋轉到新的數組:
{4,8,12,16
3,7,11,15
2,6,10,14
1,5,9,13}
和:
{13,9,5,1,
14,10,6,2,
15,11,7,3,
16,12,8,4}
你有什麼試過?你能弄清楚'A [0] [0]'中的值應該結束嗎?如果將該單元格交換爲「A [0] [0]」會發生什麼?你接下來需要交換什麼? – StoryTeller
您需要將源數組的列複製到目標數組的行中,或者將源數組的行復制到目標數組的列中。唯一的問題是你在哪個序列中執行操作。首先編寫一個傳遞源和目標數組的骨架函數,以及它們的大小。然後仔細考慮如何將行復制到列中。 –
你有從2D像素座標到1D數組索引的映射。把它寫成座標的函數。有了這些,你也應該能夠寫出一個反函數。您還有兩個從2D座標到旋轉的2D座標的映射 - 也將這些映射寫爲函數。你想要的變換隻是一個(1D - > 2D),(2D旋轉),(2D - > 1D)的組合。你已經關閉了所有這些形式的公式,所以你應該能夠爲整個變換編寫一個表達式。 –