物理への応用はあまり期待できないので、ここはpostscriptの勉強でもしながら問題を解いていくことにしよう。
今年の図形の問題は、三角形に外接する円が登場する。この三角形の一辺の長さは4、もう一つは2、およびこの2つの辺に挟まれた角の余弦(cos)が1/4と与えられている。電卓を叩いてarccos(1/4)を計算させると、凡そ75.5°となる。このすぐ後の小問でわかるように、この三角形は底辺が75.5°の二等辺三角形となる。精密な図形を描くのは大変だが、できる限り正確に描いてみよう。
まずは、外接円の「中心O」を描くことにする。そのために、絶対座標と相対座標を使い分けることにする。前者は「紙」の四隅の一つを原点とする座標。postscriptの場合は、左下隅が原点となり、右方向にx軸、上方向にy軸がセットされる。絶対座標を使うと、紙から図形がはみ出ることが多くなるので、原点を紙の中心部分に移動した「相対座標」を導入する。いままでの経験からして、だいたいx,yそれぞれの座標を250ずつ平行移動した感じでちょうど良くなる(平行移動に関しては第2問でちょっと扱ったが、ここでいまやっているような感じで、実際には応用するというわけだ。)そこで、相対座標の原点を、絶対座標における座標によってまずは定義しておく。対応する命令は
/x0 250 def /y0 250 defと、こんな感じになる。
次に、この相対座標の原点を表す「点O」を描く。これは半径5の塗りつぶされた小円によって表す。対応する命令は
/r0 3 def
x0 y0 r0 0 360 arc fillとなる。 2行目が黒丸の円を描く命令。4と5番目の数字(0と360)では円周を一周分描くよう指定している。原点の周りに「外接円」を描いてしまおう。その半径はr0の30倍とする。
x0 y0 (r0 30 mul) 0 360 arc
strokeここまでの結果をまとめた図が次の図。
/th 150 def
/R r0 30 mul def
x0 R th cos mul add y0 R th sin mul add r0 0 360 arc fillここまでの結果をまとめた図は次の通り。
後は、頂点を直線で結べばよい。これらの操作をまとめると、次のようなpostscriptとなる。
newpath/x0 250 def /y0 250 def /r0 3 def/th 150 def /ph 35 def /R r0 30 mul defx0 y0 r0 0 360 arc fill x0 y0 R 0 360 arcstroke/xi 0 ph add def/x1 x0 R xi cos mul add def /y1 y0 R xi sin mul add defx1 y1 moveto x1 y1 r0 0 360 arc fill/xi th ph add def/x2 x0 R xi cos mul add def /y2 y0 R xi sin mul add def
x2 y2 r0 0 360 arc fill/xi -1 th mul ph add def/x3 x0 R xi cos mul add def /y3 y0 R xi sin mul add defx3 y3 r0 0 360 arc fillstrokex1 y1 moveto x2 y2 linetox3 y3 lineto x1 y1 linetostroke[2 1] 10 setdashx0 y0 moveto x1 y1 linetox0 y0 moveto x2 y2 linetox0 y0 moveto x3 y3 linetostroke
三角形全体をちょっとだけ回転して不自然な対称配置を修正し、さらに頂点から原点までを点線で結んだ。対応する図は次のような感じとなる。
図が完成したので、問題を解くとしよう。
0 件のコメント:
コメントを投稿