繁体   English   中英

如何使用 Jzy3d java 3d 图表库?

[英]How to use Jzy3d java 3d chart library?

有人可以给我一些关于如何使用jzy3d额外基本示例吗?
(源站点的示例不适合我)

我尝试了以下代码:

import org.jzy3d.chart.Chart;
import org.jzy3d.colors.Color;
import org.jzy3d.colors.ColorMapper;
import org.jzy3d.colors.colormaps.ColorMapRainbow;
import org.jzy3d.maths.Range;
import org.jzy3d.plot3d.builder.Builder;
import org.jzy3d.plot3d.builder.Mapper;
import org.jzy3d.plot3d.builder.concrete.OrthonormalGrid;
import org.jzy3d.plot3d.primitives.Shape;

public class Test {

    public static void main(String[] args) {

        JFrame frame = new JFrame();
        Chart chart = getChart();

        frame.add((javax.swing.JComponent) chart.getCanvas());

        frame.setSize(800, 800);
        frame.setLocationRelativeTo(null);
        frame.setTitle("test");
        frame.setVisible(true);
    }

    public static Chart getChart() {
        // Define a function to plot
        Mapper mapper = new Mapper() {
            public double f(double x, double y) {
                return 10 * Math.sin(x / 10) * Math.cos(y / 20) * x;
            }
        };

        // Define range and precision for the function to plot
        Range range = new Range(-150, 150);
        int steps = 50;

        // Create the object to represent the function over the given range.
        org.jzy3d.plot3d.primitives.Shape surface = (Shape) Builder.buildOrthonormal(new OrthonormalGrid(range, steps, range, steps), mapper);
        surface.setColorMapper(new ColorMapper(new ColorMapRainbow(), surface.getBounds().getZmin(), surface.getBounds().getZmax(), new Color(1, 1, 1, .5f)));
        surface.setWireframeDisplayed(true);
        surface.setWireframeColor(Color.BLACK);
        //surface.setFace(new ColorbarFace(surface));
        surface.setFaceDisplayed(true);
        //surface.setFace2dDisplayed(true); // opens a colorbar on the right part of the display

        // Create a chart
        Chart chart = new Chart();
        chart.getScene().getGraph().add(surface);
        return chart;
    }
}

但是当我尝试运行它时,出现异常:

线程“main”中的异常 java.lang.UnsatisfiedLinkError:java.library.path 中没有 jogl

任何人都可以帮忙吗?

您应该将jogl.jar添加到 classpath 并将jogl.dll添加到 PATH。
有关更多信息,请查看此处此处

您可以在此处阅读jogl安装说明

您应该在 JOGL 本地库所在的位置运行您的程序或演示,即 ./bin/{platform}。 如果您正在使用 Eclipse,请右键单击该项目,选择属性、Java 构建路径,然后选择库选项卡。 在“jogl.jar - ...”项下选择“本机库位置:(无)”并单击“编辑”按钮。 按 Workspace... 按钮并选择 ./bin/{platform} 文件夹。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM