そろそろ更新しなくては
作成した行列の機能はぜんぜんたりませんが、次の段階へ進んでみることにしてみよう。
次の段階とは、3Dを2Dに直して描画するということを行います。
とても難しいことのようですが、この問題は簡単に解くことができます。
・・・・それはね・・・・難しい部分はやらなきゃいいのです。
これでは問題解決になりませんが、問題意識がないので別にいいと思います。
たとえば”面を塗りつぶす”ことはけっこう面倒なことだと思います 。面倒=時間がかかる⇒難しいです。
この レベルならば秒殺だと思う
今回は”遠くのものは小さく見える。”ということを考えます。
あまり難しく考えないで遠くのものは小さく見えるのだから小さく表示してあげることにします。
しかし、あまり無理をすると。時間を消費してしまうので、今回は「遠い近い」ということにも挑戦しません。
目の位置と オブジェクと 平面 を作ってあげた後に、目の位置からオブジェクトへの直線と
平面とが重なるふ点を描画がします 。
しかし、これは相当面倒です。もっと限定的された状況を考えることにします。
目の位置は0として 平面はZ軸に垂直なものとすると、↓簡単にかけます。
位置は = 物体の位置 × 平面までの距離 / 物体までの距離
ためしに書いてみる
こんなのでいいかはわかりません、後で考えることにしてためしにプログラムを
書いてみることにしましょう。
Matrix、Polygon、view
Exe<
作成したもの
どんなものでしょうか? 3Dに見えますか。そうですか? なにか怪しいですね。
次へ進む前に
MatrixクラスのgetElementが思うように動かなかった。
仕方がないので、直接いじった。
次はちょっとしたアニメショーンを作成することにしよう。