我需要幫助有關Haskell的旋轉矩陣
我有2個數據類型:
data RGBdata= RGB Int Int Int
data PBMfile= PBM Int Int [[RGBdata]]
和我的功能得到:
spin :: PBMfile -> PBMfile
spin (PBM x y l) = (PBM x y ((transpose . reverse) l))
其中'x'和'y'分別是柱和行的數量(也許可以幫助做功能)。
例如:
(PBM 2 2 [[(RGB 0 255 255),(RGB 255 0 0)],[(RGB 255 255 255),(RGB 255 0 0)]])
我嘗試使用具有反向和轉置的組合旋轉90°的左側,但圖像的結果是錯誤的。
我嘗試
spin :: PBMfile -> PBMfile
spin (PBM x y l) = (PBM x y ((reverse . transpose) l))
和
spin :: PBMfile -> PBMfile
spin (PBM x y l) = (PBM x y ((transpose . reverse) l))
和
spin :: PBMfile -> PBMfile
spin (PBM x y l) = (PBM x y (((map reverse) . transpose) l))
旋轉矩陣,但不起作用。
的結果是一樣的東西
http://imageshack.us/photo/my-images/52/catmc.jpg/
「圖像結果是錯誤的......」但以什麼方式錯了?嘗試用「我做了X,期待Y,但是Z發生了」的形式來表達你的問題。「 –
我添加說明,幫助我們瞭解 – user495943
不僅僅爲了我們瞭解,還爲您測試您的功能。將kunwoo32的解決方案應用於您自己的例子的結果是什麼? –