|| What's Quadrium? Quadrium は、Scratch で塗りつぶされた正方形を描画するシンプルなユーティリティです。 Quadrilateral が名称の元ですが、長方形や台形などは描画できません。 誰でも簡単に正方形を描画できることに焦点を当てています。 || デモについて 画面左上のスライダーでモードを切り替えられます。 DEMO が 1 のとき: 画面をドラッグして正方形を描けます。重ねて描くこともできます。 正方形は最大 30 FPS で常に再描画されています。 DEMO が 2 のとき: ランダムな位置・色・サイズの正方形を大量に描画する簡易ベンチマークです。 一辺の長さは 10-100 の範囲でランダムに決定され、描画速度が画面左下に表示されます。 全ての状況で同じ性能が出るわけではありませんが、参考にはなると思います。 手元の環境では以下の速度でした。 - Core 5 120U + Firefox 155.0.1 + Scratch: 毎秒 12000 個 - Core 5 120U + Chrome 152.0.7977.84 + TurboWarp: 毎秒 28000 個 - Pixel 9a + Firefox 155.0.1 + Scratch: 毎秒 6000 個 - Pixel 9a + Chrome 152.0.7977.82 + TurboWarp: 毎秒 18000 個 || 機能とバリエーション Quadrium には用途に応じて選べる 4 種類のバリエーションがあります。 Quadrium: 中心座標、一辺の長さ、色 (カラーコード) の指定ができます。透明度は指定できません。 Quadrium_novariable: Quadrium と同等の機能ですが、変数を一切使用せず再帰呼び出しで描画します。 最後の引数 (_pensize) は必ず空欄にしてください。 Quadrium_rotatable: Quadrium に角度の指定を追加したものです。 ブロック数が増えるため、より多くのスペースが必要です。 Quadrium_rotatable_novariable: Quadrium_rotatable と同等ですが、変数を一切使用せず再帰呼び出しで描画します。 最後の引数 (_pensize) は必ず空欄にしてください。 || 使い方 1. 「中を見る」を押してエディターに移動し、バックパックを開きます。 2. 4 種類から使用したいバリエーションを選択します。 3. 同じ名前の定義ブロックを丸ごとバックパックに入れます。 4. 使用したいプロジェクトでバックパックを開き、Quadrium を取り出します。 5. 取り出した瞬間に Tritium に変化しないことを確認してください。 6. 引数に適切な値を指定すると、正方形を描けます。 - x: 中心の x 座標 (数値) - y: 中心の y 座標 (数値) - Size: 一辺の長さ (非負整数) - Color: カラーコード (例: #fff) - Rotate: 回転角度 (数値、正の値で時計回り、負の値で反時計回り) - _pensize: 空欄 7. Quadrium を利用したプロジェクトを Scratch で共有する際は、クレジットを記載してください。 正方形の描画: Quadrium 作者: @tomato-0809_sub URL: https://scratch.mit.edu/projects/1071407248 || よくあるかもしれない質問 Q-01. なぜ Quadrium を開発したのですか。 A-01. 急な思い付きで開発したものの、何を血迷ったか素早さに気を取られすぎたからです。 Q-02. なぜ Quadrium という名前なのですか。 A-02. Quadrilateral の語尾に -ium を付けると元素名っぽくなることに気づいたからです。 Q-03. 正方形しか描けないのに、なぜ Quadrilateral なのですか。 A-03. Squarium だとやや違和感を覚えませんか。 Q-04. Chromium の二番煎じにしか見えないのですが。 A-04. 多少の影響は受けています。Boxpen, Quadrilateraster とかいう名前を思いついたときに思いとどまったことだけでも褒めていただきたいです(供養)。 Q-05. なぜ 4 種類あるのですか。 A-05. 全ての用途で多機能が必要なわけではないからです。用途に合ったものを選べば、スクリプトエリアを圧迫せずに済みます。 Q-06. なぜ 4 種類なのですか。 A-06. Quadrium を命名した直後に、「四重水素」という意味があると分かったからです。 Q-07. 欲しい機能がありません。 A-07. 主に僕が使うために作ったので、必要な機能以外は実装していません。必要ならご自身で改造してご利用ください。試行錯誤の末に改造したものが動く歓びをお楽しみください。 Q-08. Size の値によって、わずかに大きくなる、端が薄い、内部がわずかに濃くなる・薄くなるなど、複数の不具合が見られるのですが。 A-08. 仕様です。主な原因は Scratch のペンです。TurboWarp で「ペンできれいに描画する」を有効にすると多少改善します。 修正するとブロック数が最大約 3 倍になり、保守するための対価も受け取っていないので、まったく割に合いません。 Quadrium はシンプルかつカジュアルに使えることを重視しています。 なお、当該のコードは Quadrium_rotatable の右側にあります。Remix して改造していただけると助かります。 Q-09. TurboWarp で「ペンできれいに描画する」を有効にして Size を 1 にすると形が崩れます。 A-09. TurboWarp の不具合です。ペンの太さを 1 にしたときだけ描画位置がわずかにズレます。おそらく TurboWarp/scratch-render の不具合ですが、確証はありません。詳細に調査して Issue を立てていただける方を探しています。 Q-10. 四重水素は非常に不安定だと聞き、Quadrium も心配です。 A-10. 確かに不安定ですが、バックパックから取り出した瞬間に Tritium に変化しなければ、ほとんど問題ありません。万が一変化した場合は、 までご連絡ください。 Q-11. なぜ A-07 で「歓び」という表現を用いたのですか。 A-11. おそらく、指をくわえて Xperia 1 VIII の製品ページを眺める日々を送っていたせいです。 https://www.sony.jp/xperia/products/xperia1m8 Q-12. なぜ冗談めいたことばかり言っているのですか。 A-12. 毎年エイプリルフールにプロジェクトを共有していますが、2026年は何も共有できませんでした。その代わりに Quadrium でご容赦願います。 Q-13. なぜ、9月16日に公開したのですか。 A-13. 9, 16はいずれも平方数で、平方数は「正方形数」とも呼ばれるからです。 Q-14. 2025年に公開すれば 45² にできたのではないですか。 A-14. 2026年に思いついたので後の祭りです。 Q-15. なぜ一部だけ英語なのですか。 A-15. 深夜テンションの副産物です。 Q-16. 正方形を描くだけとは思えないほど説明文が豪華なのはなぜですか。 A-16. 深夜テンションの副産物です。 Q-17. 不具合があることをわかっていながら共有するのはなぜですか。 A-17. ここまで狂った説明文を書いた後では引き下がれませんでした。また、エイプリルフールの代替となるものがこれしか思いつきませんでした。誠に申し訳ございません。 Q-18. 説明文の日本語がところどころ不自然です。 A-18. なぜかエラーで保存できなかったので GPT-5.6 Luna に少しだけ短く書き直してもらったからです。その後に目視で確認・修正していますが、不自然な箇所があればご容赦ください。 || 既知の問題、制限、注意事項、免責事項 - Scratch 上で Size に特定の値を指定すると、わずかに大きくなる、一部が濃くなる・薄くなるなどの不具合があります。(残念ながら、Scratch の仕様に何十時間も付き合おうと思わせてくれるほど、Scratch は僕の存在を救ってくれていません) - TurboWarp 上で「ペンできれいに描画する」を有効にして Size に 1 を指定すると、形が崩れます。(TurboWarp の不具合です) - 透明度は指定できません。(無理やり指定できますが、正しく表示されません) - 想定外の値を指定した場合の動作確認およびバリデーションは行っていません。 - Quadrium の使用に起因する事象について、僕 () に故意または重過失がある場合を除き、一切の責任を負いません。 || Contributor & Special Thanks Sol4numato. (): Idea, Coding, Description writing, and everything else GPT-5.6 Luna: Assistance with the sin/cos algorithm, Description revision, trashy talk by Sol4numato.