PyPython で学ぶ建築デザインブラウザだけで動く GHPython 演習環境
数理・データサイエンス・AI 入門

Python で学ぶ建築デザイン

広島工業大学第 10 〜 13 回

ブラウザだけで Python を実行し、Grasshopper と同じ書き方でジオメトリを生成して確かめられる演習環境つきの教材です。Rhino も Grasshopper も、Python のインストールも必要ありません。

はじめに読んでください 本文の右側(画面が狭いときは右下のボタン)に GHPython コンポーネントを模した演習環境があります。 左のスライダが入力、まん中が Python エディタ、右の出力が下の Rhino ビューポートに描かれます。 スライダを動かすと自動で再計算されるところも Grasshopper と同じです。
初回だけ Python 実行環境(約 10 MB)をダウンロードするため、 インターネット接続が必要です。2 回目以降はキャッシュから起動します。

この教材について

Rhino も Grasshopper も要りません

Grasshopper 本体はブラウザでは動きませんが、この教材では Rhino.Geometry の互換ライブラリをブラウザ用に実装しています。 授業で書く rg.Point3drg.Polylinerg.Extrusion.Create といった コードは、そのままここで動きます。実物の Rhino より機能はずっと少ないですが、 この授業の範囲は十分にカバーしています。

Python の実行Pyodide(CPython を WebAssembly にしたもの)
3D 表示p5.js の WEBGL モード
エディタCodeMirror(行番号・シンタックスハイライト付き)
ジオメトリRhino.Geometry 互換シム(この教材のために実装)

操作のしかた

操作結果
▶ 実行 または Ctrl + Enterコードを実行する
スライダをドラッグ入力値が変わり、自動で再計算される
ビューポートをドラッグ視点を回す(スクロールで拡大縮小)
本文を広く右の演習パネルを畳み、見出し・本文を優先表示する
最初から編集内容を捨てて、最初の穴あきコードに戻す
提出いまのコードをサーバへ提出する(教員が確認できます)
書いたコードは自動保存されます 演習ごとにブラウザの localStorage へ保存されるので、ページを閉じても消えません。 授業での提出は 提出 ボタンを押してください(学籍番号の登録が必要です)。

うまく動かないとき

  • ずっと「準備しています」のまま:ネットワークに接続されているか確認してください。 学内のプロキシで cdn.jsdelivr.net が塞がれている場合は起動できません。
  • 「実行中断」と出る:無限ループになっています。while の条件か break を見直してください(5 秒で自動的に打ち切ります)。
  • EOFError と出るinput() の回数に対して標準入力パネルの行が足りません。 行を追加してください。