2016年1月17日日曜日

CAD遊び:2D-CADで遠近法♪

初詣の時のことです。「浄財」を見て、形容詞+名詞なのか、動詞+目的語なのか考えてしまいました。正しくは前者でしょうが、後者なら「財」を「浄める」。何だかマネーロンダリングっぽい。ちなみに、マネーロンダリングを中国語では「洗銭」「洗黒銭」あるいは「清洗黒銭」と書くようです。違う字で良かった~(笑)。

新年早々おバカですな~(>ワタシ)。いや、指摘しなくても良いデスよ? ワタシ、24時間365日営業でおバカですってば(笑)。

・  ・  ・  ・  ・

閑話休題。

2D-CAD(紙の上での製図でも良い)で、ある立体を色々な方向から見た時の絵(正射影)が描けることを以前書きました。遠近法を使った絵は3D-CADを使わないと描けない(2D-CADでは描けない)…と思っていたのですが、ふとした思いつきを試してみたら、2D-CADでも描けることが判ったという話です。まぁ、あまり実用面で有用なテクニックではないのですけど、製図技法のパズルゲームとしてはアリかと。

さて、今回のお題。

最初にラフスケッチを書いておきます。

ラフスケッチ

凸凹立体です。正面から見ると「凸」、横から見ると「凹」という形です(またまたバカっぽいネタでスミマセン/笑)。

で、2D-CAD製図の結果です。正射影による図は、前に書いたのと同じ技法を用いています。空間内に「視線」を設定し、立体の各点が視線と平行な線により、仮想スクリーン上に投影される点を求めて描きます。

正射影による作図

次に、遠近法です。この場合、空間内に特定の点(「視点」)を設定し、この点と立体の各点を結んだ線(平行ではない)により、仮想スクリーン上に投影される点を求めて描きます。

遠近法による作図

まぁソレだけなんですが、仮想スクリーンに垂直な2方向から見た絵を描く必要があるので、普通の正射影と比べて何倍もの手間と時間がかかります。さらに、(光学系におけるいわゆる「収差」は無いので) 直線は直線に、楕円は楕円になりますが、正射影とは違って長さと角度が保存されない(スケールしない)ので、立体の対称性を利用したcopy & pasteによる手抜きができません。

各点の対応を考えながらうまく整理して描かないとすぐ間違えちゃうとか、図面も頭の中もスパゲッティになっちゃうとか。良い頭の体操にはなりますが、手間暇かかる割には、あまり実用的でないな~(笑)。

・  ・  ・  ・  ・

少し前に正射影と遠近法それぞれについての座標変換の計算手順を考えたのですが、コレと同じ操作を図面上で行えば2D-CADでも遠近法で作図できるじゃないか、と思ったワケです。試してみたら(手間はかかるけど)不可能ではないことが判ったよ、という話。
  • 正射影による立体形状の投影
    1. 立体の各点(x,y,z)から特定の面(仮想スクリーン)に垂線を下ろして投影点(x',y',z')を求める。
    2. 仮想スクリーンを空間内の回転操作によってXY平面に移す。この操作によって、1.の垂線の足(x',y',z')はXY平面上の点(x'',y'',0)に移される。
    3. この操作を立体の各点(x,y,z)すべてについて行い、立体の正射影を求める。
  • 遠近法による立体形状の投影
    1. 空間内の特定の点(x0,y0,z0)から、立体の各点(x,y,z)を通る直線を引き、これが仮想スクリーンと交わる点(x',y',z')を求める。
    2. 仮想スクリーンを空間内の回転操作によってXY平面に移す。この操作によって、1.の垂線の足(x',y',z')はXY平面上の点(x'',y'',0)に移される。
    3. この操作を立体の各点(x,y,z)すべてについて行い、立体を遠近法で見た絵を求める。
以下、確認のためMS-Excelでグラフを描いてみたものです(Excelシートの中身は三角関数がいくつも入ったチョット面倒なモノになっていますが、ゴチャゴチャ書いてもしょうがないので詳細は省略です)

ジャングルグローブ(正射影)


ジャングルグローブ(遠近法)


違いがわかりにくいですが、正射影では緯線を表す楕円が互いに平行になっているところ、遠近法では平行になっていません。

ジャングルジム(正射影)

ジャングルジム(遠近法)

遠近法では、長さや角度が保存されないのがよくわかります。

そんだけ。ちゃんちゃん。

0 件のコメント:

コメントを投稿