畳を敷く(2)
オブジェクト機能をつかって生きた畳ツールを作ってみましょう。
第2章 手で描いてみる
仕様を考えるというか、まず手で描いてみましょう。
簡単なところから、四畳半を描いてみます。
長方形が4つと正方形が1つで描くことができます。長方形は正方形を2つ並べた大きさなので、一辺の長さが決定すればすべての座標が決まります。一辺の長さはパラメータとして変更できるようにし、変数(pTSize)とします。左下を(0,0)とした場合に、それぞれの四角形の座標は変数を使って表します。
PROCEDURE tatami45; CONST pTSize = 880.0; BEGIN Rect( 0.0, 0.0, pTSize*2, pTSize ); Rect( pTSize*2, 0.0, pTSize*3, pTSize*2 ); Rect( 0.0, pTSize, pTSize, pTSize*3 ); Rect( pTSize, pTSize*2, pTSize*3, pTSize*3 ); Rect( pTSize, pTSize, pTSize*2, pTSize*2 ); END; Run( tatami45 );
このままではうすっぺらい2D畳になってしまうので、3D図形にするには、柱状体にする手続きBeginXtrd、EndXtrdで挟みましょう。厚みもパラメータとして出しておきましょう。
PROCEDURE tatami45; CONST pTSize = 880.0; pTAtumi = 60.0; BEGIN BeginXtrd( 0, pTAtumi ); Rect( 0.0, 0.0, pTSize*2, pTSize ); Rect( pTSize*2, 0.0, pTSize*3, pTSize*2 ); Rect( 0.0, pTSize, pTSize, pTSize*3 ); Rect( pTSize, pTSize*2, pTSize*3, pTSize*3 ); Rect( pTSize, pTSize, pTSize*2, pTSize*2 ); EndXtrd; END; Run( tatami45 );