我想知道是否有任何简单的代码示例或指南来在Java语言中创建3D矩形,而不使用任何3D库,如Java3D或OpenGL!
发布于 2012-12-29 01:21:49
三维矩形称为矩形柱。
定义3D形状并不是很困难。这里有一个矩形棱镜的定义。
import java.awt.Graphics;
public class RectangularPrism {
protected Point3D originPoint;
protected Point3D xPoint;
protected Point3D yPoint;
protected Point3D zPoint;
public RectangularPrism() {
}
public RectangularPrism(Point3D originPoint, Point3D xPoint,
Point3D yPoint, Point3D zPoint) {
this.originPoint = originPoint;
this.xPoint = xPoint;
this.yPoint = yPoint;
this.zPoint = zPoint;
}
public void setOriginPoint(Point3D originPoint) {
this.originPoint = originPoint;
}
public void setxPoint(Point3D xPoint) {
this.xPoint = xPoint;
}
public void setyPoint(Point3D yPoint) {
this.yPoint = yPoint;
}
public void setzPoint(Point3D zPoint) {
this.zPoint = zPoint;
}
public void render(Graphics g, Point3D viewPoint) {
}
public class Point3D {
protected int x;
protected int y;
protected int z;
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public int getZ() {
return z;
}
public void setZ(int z) {
this.z = z;
}
}
}它正在创建需要进行一些计算呈现方法。对于您想要定义的每个3D形状,该计算都是不同的。
您的调用例程必须弄清楚渲染所有3D形状的顺序。基本上,必须首先渲染最远的3D形状,以便较近的3D形状正确重叠。
3D库不仅解决了所有这些问题,而且还进行了优化,以便可以在尽可能短的时间内渲染3D场景。
发布于 2012-12-29 00:30:23
您可以使用java.awt.Graphics.draw3DRect()方法。
http://www.java-examples.com/draw-3d-rectangle-square-applet-window-example。
发布于 2012-12-29 00:35:24
我实现了一个简单的查看器,你可以从http://dl.dropbox.com/u/14767221/projection.7z下载
https://stackoverflow.com/questions/14072492
复制相似问题