// ピク太郎(ピクトグラム男)の利用例 // クロスカントリースキー選手の未完成版 #include "shapes.inc" // 基本形状の組み込み #include "colors.inc" // 色名の組み込み #include "pictaro.inc" // ピクトグラム男の組み込み // スキー板(基準点:足首位置)...先端に反り上げが必要 #declare Ski = object { Cube scale <0.05, 0.01, 0.8> // 板厚=0.02 translate <0, -0.01 - FootR, -0.3> } // ストック(基準点:グリップ位置)...リングとかも必要 #declare Pole = object { Disk_Z scale <0.01, 0.01, 0.6> translate 0.5*z } // クロカンスキー選手 ...ポーズとかを整えるべき #declare XCSkier = union { union { // 上体 object { Torso } // 胴 object { Head translate y*HeadY } // 頭 // ...ヘルメットに変えるなり,向きを変えるなり object { LeftArm(30, -15, 15, -30, object { Pole rotate 45*x }) } // 左腕,ストック装着 object { RightArm(90, 0, 15, 90, object { Pole rotate -45*x }) } // 右腕,ストック装着 rotate -15*x // 上体前傾 } object { Hip } // 腰 object { LeftLeg(30, 0, 0, 30, object { Ski rotate -15*x }) } // 左脚,スキー装着 object { RightLeg(30, 0, 0, -30, object { Ski rotate 45*x }) } // 右脚,スキー装着 translate -y*LeftFootPos.y // 左足で着地 translate 0.02*y // さらに,スキーの板厚だけ持ち上げ // これで,スキー板の裏面が雪面にビタ着 } /* LeftArm(A, Y, Z, X, Eqp) 等の使用方法 A:肘を曲げる(腕を縮める)角度 0 なら曲げない. 90 なら直角に曲げ,肘を45度だけ後へ引く. Y:肘を外へ張る(脇を開ける)角度 Z:腕を横へ開く(羽ばたく)角度 X:腕を前へ出す(腕を振る)角度 Eqp:手に持つ用具等のオブジェクト 何か持たせる場合は object { ... } 何も持たない場合は Null */ // クロカンスキー選手の配置 object { XCSkier rotate 90*y } // 地面 object { Plane_XZ pigment { color Quartz } } /* // 座標軸 union { object { Cylinder_X scale 0.02 pigment { color Red } } // x軸 object { Cylinder_Y scale 0.02 pigment { color Green } } // y軸 object { Cylinder_Z scale 0.02 pigment { color Blue } } // z軸 no_shadow } */ // 背景 background { color LightBlue } // 照明 light_source { <-10, 15, -20> // 照明の位置 color White*1.5 // 照明光の色 parallel point_at <0, 0, 0> // 照射先の位置 } // カメラ camera { location <0.0, 1.0, -10.0> // カメラの位置 look_at <0.0, 1.0, 0.0> // 注目先の位置 angle 20 // カメラの視野角 }