重複の可能性:
Rotate Image .pbm Haskell
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))
マトリックスを回転させますが、機能しません。
結果は次のようなものです