プチコンまとめWiki (初代/mkII)

投稿プログラム : シェルピンスキーのギャスケット

2013年3月12日投稿 / 投稿者 : J2 / タグ : 投稿プログラム ちょっといじって見てるだけ QRコード

概要

フラクタル画像 シェルピンスキーのギャスケット (三角形)を描画します。

操作方法

実行すると、左上に1ドットが点滅し始めますので、画面上の適当な位置に3箇所タッチしてください。
タッチした3箇所を頂点とする三角形で描画しつづけます。
ボタンでまたは十字キーで終了します。

下画面にはデフォルトパレットで、上画面には色を最適化したパレットで表示します。

描画アルゴリズム

指定された3点のいずれか 1箇所に1/2近づけ、点を打つことを繰り返す。

色指定アルゴリズム
  1. 頂点の履歴5回分を保管する。(12行目 変数Cを参照)
  2. 頂点となる3点に赤、緑、青 を割り当て、
    履歴の新しい側から順に最大輝度(255)の1/2,1/4,1/8,1/16,1/32をとり、累計する。
    • (履歴が RGRRB であれば、
      R=128+0+32+16+0=176
      G=0+64+0+0+0=64
      B=0+0+0+0+8=8 となる。)
  3. 履歴5回分は 3^5=243となり、パレットに収まる数なので、
    全数 色を計算してパレットに収める。
  4. 乱数で頂点と色を決定したら、変数を3で割り、81倍(3^4)した値を加算する

学習型じゃんけんへの応用

履歴5回分を1次元配列に収められるため、
学習内容の管理が容易になり、結果をファイル化しやすくなると思われます。
(正直、5回分は多過ぎるとは思いますが)

スクリーンショット・動画

SIELP.png

QR コード

プチコンmkII 向けの QR コードです。

J2_SIELP.png

プログラムリスト

  1. ACLS:CLEAR:PNLTYPE ”OFF”
  2. GPAGE 1,0,0:GPAGE 0,0,0
  3. DIM TX(3),TY(3),C(3)
  4. GOSUB @PALETSET
  5. FOR I=0 TO 1
  6.  IF TCHST−Z<1 GOTO @END_IF
  7.   TX(P)=TCHX:TY(P)=TCHY
  8.   P=(P+1)%3:GCLS
  9.   PX=TX(0):PY=TY(0)
  10.  @END_IF
  11.  Z=TCHST
  12.  R=RND(3):C=0OR C/3+R*81
  13.  PX=(PX+TX(R))/2
  14.  PY=(PY+TY(R))/2
  15.  GPSET PX,PY,C+13
  16.  I=BUTTON()
  17. NEXT
  18. END
  19. @PALETSET
  20. FOR I=0 TO 242
  21.   R=0:G=0:B=0:K=I
  22.   FOR J=0 TO 4
  23.     C=K%3:K=0OR K/3
  24.     R=R/2+(C%3==0)*128
  25.     G=G/2+(C%3==1)*128
  26.     B=B/2+(C%3==2)*128
  27.   NEXT
  28.   A$=HEX$(R,2)+HEX$(G,2)+HEX$(B,2)
  29.   COLSET ”GRP”,I+13,A$
  30. NEXT
  31. RETURN

CHECKER FLAG (ひとことコメント)

この作品に対するコメントがあれば一言どうぞ。(作品に直接関係ない質問や雑談は掲示板へ)

  • J2 : スナップショットを投稿してみたけど、正直この画質はないわー。orz (2013/03/12 (火) 01:06:55)
  • 名無しさん : 昔のケータイのカメラで撮影したような画質w (2013/03/12 (火) 01:13:41)
  • J2 : DSi を DSiLLで撮ってみました (2013/03/12 (火) 01:31:59)
  • 名無しさん : 他にデジカメ等は無かったの? (2013/03/12 (火) 02:35:50)
  • J2 : いえ、発掘に失敗してまして。 次回は綺麗に撮ります。 (2013/03/12 (火) 07:57:38)
  • シトリン : グラフィック面に描くんだから書きだして変換すればいいのに (2013/03/12 (火) 18:01:41)
  • 天郷思音 : あ、2SC使う必要はないか。GRP→pngの変換はこれをどうぞhttp://nulll7.web.fc2.com/ptc2sdgrpv/ (2013/03/12 (火) 18:33:55)
  • J2 : 綺麗になりました。ありがとうございます! (2013/03/12 (火) 19:49:29) ※改竄があったため再修正
  • 名無しさん : これなら問題ないなw (2013/03/12 (火) 20:03:51)
  • 名無しさん : 強いじゃんけんプログラムを作って (2013/03/12 (火) 21:20:34)
  • : じゃんけんなんか運ゲー (2013/03/13 (水) 16:25:51)
  • 名無しさん : ちゃんとした思考ルーチンさえ作れれば運ゲーにはならないぞ (2013/03/13 (水) 17:04:35)
  • .EXE : パターンをプチコンに覚えさせるとか? (2013/03/13 (水) 17:29:40)
  • 名無しさん : ゼ○ダ笑 (2013/03/16 (土) 23:41:15)
  • 名無しさん : なぜか緑色が出ないorz (2013/03/23 (土) 21:16:02)
  • J2 : プログラムを手打ちした結果、特に問題ありませんでした。本体の個体差でないことを祈ります。 (2013/04/27 (土) 19:23:08)

表示モード : [ スマホ・3DS対応表示 | クラシック表示 ]
PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL. Based on "PukiWiki" 1.3 by yu-ji
ページの処理時間 : 0.029 秒 | このページの最終更新 : 2013/04/27 (土) 19:23:08 (2271d) | ログイン
Copyright(C) 2011-2014 プチコンまとめWiki ◆1sxkymI8ji30