我想知道是否有任何简单的代码示例或指南在Java中创建3D矩形而不使用任何3D库(如Java3D或OpenGL)!在Java中没有任何库的情况下编程3D形状
2
A
回答
1
一个3D矩形下载被称为直角棱镜。
定义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场景。
0
您可以使用java.awt.Graphics.draw3DRect()方法。
http://www.java-examples.com/draw-3d-rectangle-square-applet-window-example。
+0
这不是3D矩形,只有3D效果的矩形(阴影等)。 –
0
我已经实现了简单的浏览器,你可以在http://dl.dropbox.com/u/14767221/projection.7z
相关问题
- 1. 如何在没有任何库的情况下在java中添加日期
- 2. 在没有VISIO的情况下处理VSD中的形状
- 3. 如何在没有任何动态库的情况下编译swift?
- 4. 在没有OpenGL的情况下在C++中绘制3D球体
- 5. MyEclipse如何在没有javac的情况下编译Java类?
- 6. 如何在没有图形艺术家的情况下开始游戏编程?
- 7. 如何在没有图形API的情况下操作图形?
- 8. 如何在没有通过编程的情况下显示ContextMenuToolStripItem?
- 9. 如何在没有“unsafeWindow”的情况下编程?
- 10. 如何在没有System.Web dll的情况下进行UrlDecode编程#
- 11. 如何在没有类型安全的情况下编程
- 12. 学习如何在没有语言的情况下编程?
- 13. 如何在没有得到StackOverflowException的情况下在Java中序列化图形?
- 14. 在不使用图形API的情况下对3D游戏进行编程
- 15. 在没有编译的情况下测试我的android库
- 16. 在RVM中没有任何文档的情况下安装rails4
- 17. 如何在没有任何形式的情况下开始露天工作?
- 18. 在没有外部库的情况下过滤Java列表
- 19. 在没有图形环境的情况下启动java应用程序
- 20. 如何在没有存储库的情况下在Eclipse中安装Java EE
- 21. 是否有任何理由在没有优化的情况下进行编译?
- 22. 如何在没有任何图标的情况下使用NSAlert?
- 23. 如何在没有任何数据库的情况下保存我的datagridview?
- 24. 如何在没有任何库的情况下使用HTML,CSS,JavaScript中的json数据绘制图形
- 25. 在没有任何api的情况下在jquery上传图像
- 26. 如何在没有数据库的情况下管理java中的序列?
- 27. 如何在没有任何库或框架的情况下编写驱动程序?
- 28. 在没有cron的情况下在PHP中安排任务
- 29. 如何在没有任何外部视图组件的情况下编写portlet
- 30. Java程序在没有提示的情况下循环两次
_在Java中创建3D矩形而不使用任何3D库,比如Java3D或OpenGL_,但是为什么? –
你将不得不多解释一个3D矩形,只有6个点的空间。 – Frozendragon
您是否在问如何编写渲染器?有很多来源......大部分都是用C++语言编写的,但翻译起来并不困难......或者您正在寻求一个软件渲染库 - 我怀疑这是否存在/有重要的支持,因为它不会使在许多情况下需要做的事情 – gbtimmon