首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Java中编写不需要任何库的3D形状

在Java中编写不需要任何库的3D形状
EN

Stack Overflow用户
提问于 2012-12-29 00:22:23
回答 3查看 8K关注 0票数 2

我想知道是否有任何简单的代码示例或指南来在Java语言中创建3D矩形,而不使用任何3D库,如Java3D或OpenGL!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-12-29 01:21:49

三维矩形称为矩形柱。

定义3D形状并不是很困难。这里有一个矩形棱镜的定义。

代码语言:javascript
复制
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场景。

票数 2
EN

Stack Overflow用户

发布于 2012-12-29 00:30:23

您可以使用java.awt.Graphics.draw3DRect()方法。

http://www.java-examples.com/draw-3d-rectangle-square-applet-window-example

票数 0
EN

Stack Overflow用户

发布于 2012-12-29 00:35:24

我实现了一个简单的查看器,你可以从http://dl.dropbox.com/u/14767221/projection.7z下载

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14072492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档