曲面プログラム

制御点4×4のNURBS曲面を描きます。JAVA 1.4.1で確認済み。

広告

Contents

ソースリスト

Surface.java
メインフレーム
Cuboid.java
直方体の構造(未使用)
NURBSSurface.java
NURBS曲面の構造
Point3D.java
3次元の座標の構造
PerspectiveProjection.java
透視投影
GraphicPanel.java
曲面表示部分
SettingPanel.java
設定部分
TextInputBox.java
重み入力部分

実行

アプレットとして動かす場合はこちら。ただし、各ウィンドウのサイズは単独アプリケーションの場合で調整していますので、アプレットだとウィンドウの高さがあわないと思います。

単独アプリケーションとして動かす場合はWindowsなら3DcurveフォルダにあるSurface.batを実行、それ以外なら3Dcurveディレクトリ上で

java -classpath Surface.jar Surface

を実行してください。

操作方法

4×4個の制御点からなる曲面が表示される。それを変形する。

曲面の操作

  • 制御点の移動:青い点が制御点で、ドラッグで移動できる
  • ノット列の変更:右側のテキストボックス。数値を入力して Set knots ボタンを押すと変更できる
  • 重みの変更:制御点を Alt+クリックでテキストボックスが表示される。数値を入力して Return キーを押すと確定

透視投影の操作

回転以外は動きが怪しいです。

  • 制御点以外の場所をドラッグすると視点を回転
  • Shift+ドラッグで注視点移動
  • 制御点以外の場所をクリックすると注視点に近づく、Shift+クリックで遠ざかる

リセット

  • Reset:曲面、視点、注視点を最初の状態に戻す
  • Focus Reset:視点、注視点を最初の状態に戻す

結果

Surface-snapshot

アーカイブ

3Dcurve.zip
実行に必要なファイル+ソース

環境

Java™ 2 Runtime Environment, Standard Edition 1.4.1_01 で確認

Copyright © 2001 Hiren
hiren_w AT naby.livedoor.com