最近、3Dになったユニバ社のロゴ。 3Dの描画機能だけを切り出してみたので、皆さん使ってね。 ユニバの新ロゴはcanvas+Processing.jsで作られていますが、Processingの3D系の命令は使っていません(WebGLに対応しているブラウザがまだ少ないので…)。3Dのオブジェクトをスクリーン(canvas)に投影する計算を行って、2D系の命令だけで描画しています。 その描画系を切り出したのが以下の関数です。 使い方 draw3DLine(x1, y1, z1, x2, y2, z2, xRotate, yRotate, zRotate) 6つの引数(XYZ座標を2つと、XYZ軸の回転角度)を渡すと、canvasに2座標を結ぶ線を描画します。原点は画面の中央です。 カメラはZ軸上に固定です。カメラの視野角(radS)、カメラの位置(camZ)、スクリーン位置(scZ)だけ、変更