フラクタル描画
|
|
描画中...
クリックでズーム、ドラッグで移動
※ ズームが深くなるほど描画に時間がかかります
📋 このツールを作ったプロンプト
以下のプロンプトをClaude・ChatGPT・GeminiなどのAIに貼り付けると、同じようなツールを作ることができます。
ブラウザで動くフラクタル描画ツールをHTML単一ファイル(HTML/CSS/JS完結)で実装してください。 【描画対象】 以下3種類をセレクトボックスで切り替えられる。 - マンデルブロ集合: z(n+1) = z(n)^2 + c、初期値 z=0、c が描画点の複素座標 - ジュリア集合: 同じ式だが c を固定(例: c = -0.7269 + 0.1889i)、描画点を z の初期値にする - バーニングシップ: マンデルブロと同様だが zy の算出しに Math.abs を使用する 【カラーマップ】 以下5種類をセレクトボックスで切り替えられる。 - Classic: 繰り返し数をベースに黑→青→白のグラデーション - Fire: 0−1 の t を 3 分割して赤→橙→白のグラデーション - Ocean: t に応じた青系グラデーション - Mono: t*255 のグレースケール - Rainbow: t*360 を hue にした HSL→RGB 変換 集合内部(収束しない点)は黑にする。 【操作】 - クリック/タップ: その点を中心にズームイン(倍率 0.5 倍) - ドラッグ: 移動に応じて視野をパン - ホイール: スクロール方向に応じたズーム(マウス位置を中心に) - ピンチ(タッチ): 2指の距離比でズーム備率を変更 - ズームイン/アウトボタンとリセットボタンを表示する 【描画方式】 - canvas に createImageData で直接ピクセル書き込みを行う - 描画は setTimeout の遅延実行にし 1忍ローディング表示を出す - カンバス左下に現在の中心座標と倍率を表示する - リサイズ時に再描画する 【制約】 - 外部ライブラリ不使用 - グローバル汚染防止のため即時関数(IIFE)で全体を囲む - HTML/CSS/JS をすべて1ファイルに収める
Rui Software