【问题标题】:Looking for simple 3D Java lib [closed]寻找简单的 3D Java lib [关闭]
【发布时间】:2011-04-24 19:56:53
【问题描述】:

问题:我必须绘制一个简单的 3D 图形/图表,其中为某些点提供 x、y、z 坐标。 我的目标是将这个 3D 图表导出到 svg -> 我必须进行投影,因为 svg (还)不能处理 3D。

所以我的输入是带有 x,y,z 坐标的 3D 图表,输出是简化为 x,y 坐标的 2D 视图。

有谁知道一个(最好是小的)java lib,比如 this one for javascript?

投影可能只是 point3d 到 point2d。这就是我真正需要的。

谢谢!

【问题讨论】:

    标签: java 3d svg


    【解决方案1】:

    如果你只需要一些简单的东西,那么我可能会说你自己写。如果您不需要移动相机,您可以假设很多计算为零,您可以执行以下操作来获取任何 3d 点的 2d 坐标:

    rect2d.x = rect3d.x / rect3d.z;
    rect2d.y = rect3d.y / rect3d.z;
    

    这样做,您可以简单地获取构成多边形的所有 3d 点,并将 2d 点用作您的 SVG 图元。您将不得不处理的棘手部分是隐藏的表面去除,但这并不太难。阴影将是您真正的问题,但也许您可以使用渐变来模拟光线。

    【讨论】:

    • 谢谢。我还应该能够使用另一个视角/相机位置来旋转整个图表。阴影目前并不重要。
    【解决方案2】:

    看看JFreeChart。查看Batik 将其保存为 SVG

    【讨论】:

    • 谢谢,不过好像只支持 3d 样式,没有真正的 3d 图表。例如:我需要在前景、背景、左侧或右侧的地面上放置条形图。 “地面”必须在 3D 空间中旋转,以便为用户提供更好的概览。
    猜你喜欢
    • 2010-10-09
    • 1970-01-01
    • 1970-01-01
    • 2011-10-02
    • 2012-01-21
    • 2011-06-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多