研究開発

畳を敷く(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 );