This is code:
package plot3d;
import java.util.Random;
import org.jzy3d.analysis.AbstractAnalysis;
import org.jzy3d.analysis.AnalysisLauncher;
import org.jzy3d.chart.factories.AWTChartComponentFactory;
import org.jzy3d.colors.Color;
import org.jzy3d.maths.Coord3d;
import org.jzy3d.plot3d.primitives.Scatter;
import org.jzy3d.plot3d.rendering.canvas.Quality;
public class Plot3DExample extends AbstractAnalysis{
public static void main(String[] args) throws Exception {
AnalysisLauncher.open(new Plot3DExample());
}
public void init(){
int size = 500000;
float x;
float y;
float z;
float a;
Coord3d[] points = new Coord3d[size];
Color[] colors = new Color[size];
Random r = new Random();
r.setSeed(0);
for(int i=0; i<size; i++){
x = r.nextFloat() - 0.5f;
y = r.nextFloat() - 0.5f;
z = r.nextFloat() - 0.5f;
points[i] = new Coord3d(x, y, z);
a = 0.25f;
colors[i] = new Color(x, y, z, a);
}
Scatter scatter = new Scatter(points, colors);
chart = AWTChartComponentFactory.chart(Quality.Advanced, "newt");
chart.getScene().add(scatter);
}
}
And this is the stacktrace:
------------------------------------
Rotate : Left click and drag mouse
Scale : Roll mouse wheel
Z Shift : Right click and drag mouse
Animate : Double left click
Screenshot : Press 's'
------------------------------------
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 1
at jogamp.opengl.windows.wgl.awt.WindowsAWTWGLGraphicsConfigurationFactory.chooseGraphicsConfigurationImpl(WindowsAWTWGLGraphicsConfigurationFactory.java:171)
at com.jogamp.nativewindow.GraphicsConfigurationFactory.chooseGraphicsConfiguration(GraphicsConfigurationFactory.java:424)
at com.jogamp.nativewindow.awt.AWTGraphicsConfiguration.create(AWTGraphicsConfiguration.java:125)
at com.jogamp.newt.awt.NewtCanvasAWT.addNotify(NewtCanvasAWT.java:590)
at java.desktop/java.awt.Container.addNotify(Container.java:2801)
at java.desktop/java.awt.Panel.addNotify(Panel.java:87)
at java.desktop/java.awt.Container.addNotify(Container.java:2801)
at java.desktop/java.awt.Window.addNotify(Window.java:787)
at java.desktop/java.awt.Frame.addNotify(Frame.java:493)
at java.desktop/java.awt.Window.pack(Window.java:825)
at org.jzy3d.bridge.awt.FrameAWT.initialize(FrameAWT.java:39)
at org.jzy3d.bridge.awt.FrameAWT.<init>(FrameAWT.java:21)
at org.jzy3d.chart.factories.AWTChartComponentFactory.newFrameAWT(AWTChartComponentFactory.java:128)
at org.jzy3d.chart.factories.AWTChartComponentFactory.newFrame(AWTChartComponentFactory.java:239)
at org.jzy3d.chart.ChartLauncher.frame(ChartLauncher.java:84)
at org.jzy3d.chart.ChartLauncher.openChart(ChartLauncher.java:41)
at org.jzy3d.chart.ChartLauncher.openChart(ChartLauncher.java:35)
at org.jzy3d.chart.ChartLauncher.openChart(ChartLauncher.java:31)
at org.jzy3d.analysis.AnalysisLauncher.open(AnalysisLauncher.java:25)
at org.jzy3d.analysis.AnalysisLauncher.open(AnalysisLauncher.java:13)
at plot3d.Plot3DExample.main(Plot3DExample.java:16)
I have checked and my arrays are not empty.