我想知道是否有任何簡單的代碼示例或指南在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