Java Computer Graphics

Javaによるコンピュータグラフィックスの基礎について、思いつくままに書いてみようと思う。
まずは頂点を表現するところからだ。

とりあえず、3次元における頂点をクラスで表すと、こんな感じだろう。点の情報を保持するようにし、その情報を文字列にするメソッドを用意した。

public class Vertex {
int x;
int y;
int z;
public Vertex(int x0, int y0, int z0) {
setValue(x0, y0, z0);
}
public void setValue(int x0, int y0, int z0) {
x = x0; y = y0; z = z0;
}
public String toString() {
return “(x, y, z)=(“+x+”, “+y+”, “+z+”)”;
}
}

次に、3次元のオブジェクトを表すスーパークラスをインタフェースとして定義してみる。まぁ、とりあえず描画メソッドがあればいいだろうか。

public interface Object3d {
public void draw();
}

次に直線を表すクラスを用意してみよう。2点が決まれば直線は決まるので、その情報を持つようにしてみた。描画メソッドでは、とりあえず頂点座標を出力するようにしている。これで一応の確認はできるはずだ。

public class Line implements Object3d{
Vertex v0;
Vertex v1;
public Line(int x0, int y0, int z0, int x1, int y1, int z1) {
v0 = new Vertex(x0, y0, z0);
v1 = new Vertex(x1, y1, z1);
}
public void draw() {
System.out.print(“Line:”);
System.out.print(“v0:”+v0.toString());
System.out.print(” – “);
System.out.print(“v1:”+v1.toString());
System.out.println(“”);
}
}

最後のクラスはテスト用のクラスだ。まずは、思ったとおりにプログラムが動作するかを確認してみる。

public class Starter {
public static void main(String[] args) {
Object3d obj;
obj = new Line(1,1,1,3,3,3);
obj.draw();
obj = new Line(1,2,3,2,4,6);
obj.draw();
}
}
同じカテゴリの記事: Java