2022/03/24(木) [n年前の日記]
#1 [python] 矩形を分割していく処理について実験中
Python を使って、矩形(四角)をどんどん分割していく処理について試しているところ。環境は、Windows10 x64 21H2 + Python 2.7.18 32bit or Python 3.9.11 64bit。
試すと言っても、昔書いたスクリプトから関連処理を抜き出して動くように修正している感じだけど…。昔、メカっぽいテクスチャを生成できるGIMPスクリプトを書いたことがあって、そのスクリプトを元にして書き直しているというか…。
_GitHub - mieki256/sci-fi-texture-generator: Sci-Fi bump mapping texture generator with GIMP Script-fu.
_SFだかメカだかそれっぽいテクスチャを生成するGIMPスクリプトを修正
_GIMPでメカっぽいテクスチャ画像を生成するスクリプトを書いた
_メカっぽいテクスチャを作るツールを書いた
一応、動くところまで書き直せた気がする。
_dividerectangle.py
python dividerectangle.py で実行すると、1024 x 1024 の矩形を分割して、座標を配列に入れて返す。
ただ、こうして配列をずらずらと出力されても、本当にそれらしく分割されているのか分からない。tkinter等を使って結果を表示するようにしてみようかなと…。
試すと言っても、昔書いたスクリプトから関連処理を抜き出して動くように修正している感じだけど…。昔、メカっぽいテクスチャを生成できるGIMPスクリプトを書いたことがあって、そのスクリプトを元にして書き直しているというか…。
_GitHub - mieki256/sci-fi-texture-generator: Sci-Fi bump mapping texture generator with GIMP Script-fu.
_SFだかメカだかそれっぽいテクスチャを生成するGIMPスクリプトを修正
_GIMPでメカっぽいテクスチャ画像を生成するスクリプトを書いた
_メカっぽいテクスチャを作るツールを書いた
一応、動くところまで書き直せた気がする。
_dividerectangle.py
python dividerectangle.py で実行すると、1024 x 1024 の矩形を分割して、座標を配列に入れて返す。
> python dividerectangle.py # image w,h = 1024, 1024 # divide min, max = 1, 3 # repeat count = 4 # random seed = 1648140585 [[0, 0, 189, 334], [189, 0, 303, 334], [303, 0, 471, 86], [303, 86, 471, 241], [303, 241, 471, 334], [471, 0, 648, 181], [471, 181, 648, 334], [648, 0, 819, 183], [648, 183, 819, 334], [819, 0, 1023, 334], [0, 334, 197, 766], [197, 334, 324, 766], [324, 334, 529, 766], [529, 334, 696, 417], [529, 417, 696, 532], [529, 532, 696, 604], [529, 604, 696, 766], [696, 334, 832, 372], [696, 372, 832, 449], [696, 449, 832, 489], [696, 489, 832, 550], [696, 550, 832, 584], [696, 584, 832, 635], [696, 635, 744, 766], [744, 635, 781, 766], [781, 635, 832, 766], [832, 334, 1023, 563], [832, 563, 1023, 766], [0, 766, 148, 1023], [148, 766, 268, 836], [148, 836, 268, 919], [148, 919, 268, 1023], [268, 766, 344, 834], [344, 766, 435, 834], [268, 834, 338, 943], [338, 834, 367, 943], [367, 834, 435, 943], [268, 943, 435, 1023], [435, 766, 480, 832], [480, 766, 520, 832], [520, 766, 548, 832], [548, 766, 615, 832], [435, 832, 522, 879], [435, 879, 522, 922], [435, 922, 522, 954], [522, 832, 615, 910], [522, 910, 615, 954], [435, 954, 477, 970], [435, 970, 477, 997], [435, 997, 477, 1023], [477, 954, 545, 1023], [545, 954, 575, 1023], [575, 954, 615, 1023], [615, 766, 679, 888], [679, 766, 729, 888], [729, 766, 777, 888], [615, 888, 777, 1023], [777, 766, 862, 811], [777, 811, 862, 861], [777, 861, 862, 1023], [862, 766, 1023, 858], [862, 858, 1023, 924], [862, 924, 1023, 1023]]
ただ、こうして配列をずらずらと出力されても、本当にそれらしく分割されているのか分からない。tkinter等を使って結果を表示するようにしてみようかなと…。
[ ツッコむ ]
以上、1 日分です。