带Jzy3d(Java)的简易散射绘图仪
我正试图编写一个plotter类来显示一组存储在数组中的数据点(x,y,z)。该类应包含一个方法带Jzy3d(Java)的简易散射绘图仪,java,plot,scatter-plot,jogl,jzy3d,Java,Plot,Scatter Plot,Jogl,Jzy3d,我正试图编写一个plotter类来显示一组存储在数组中的数据点(x,y,z)。该类应包含一个方法plot(),该方法获取数据集并(自动)在三维坐标系中显示该数据集。该方法应按时间相关循环顺序调用 到目前为止,我已经设法得到了一个工作,但我不知道每一位的代码做什么。Jzy3d的文档没有提供那么多信息,我也无法在网上找到任何教程 如果有人能解释演示或(甚至更好)编写一个包含类似方法的简单绘图仪,我们将不胜感激 任何有效的工作绘图替代Jzy3d也将不胜感激 演示代码: import java.util
plot()
,该方法获取数据集并(自动)在三维坐标系中显示该数据集。该方法应按时间相关循环顺序调用 到目前为止,我已经设法得到了一个工作,但我不知道每一位的代码做什么。Jzy3d的文档没有提供那么多信息,我也无法在网上找到任何教程 如果有人能解释演示或(甚至更好)编写一个包含类似方法的简单绘图仪,我们将不胜感激 任何有效的工作绘图替代Jzy3d也将不胜感激 演示代码:
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 ScatterDemo extends AbstractAnalysis{
public static void main(String[] args) throws Exception {
AnalysisLauncher.open(new ScatterDemo());
}
@Override
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);
}
}
import java.util.Random;
导入org.jzy3d.analysis.AbstractAnalysis;
导入org.jzy3d.analysis.AnalysisLauncher;
导入org.jzy3d.chart.factories.awtchart组件工厂;
导入org.jzy3d.colors.Color;
导入org.jzy3d.math.Coord3d;
导入org.jzy3d.plot3d.primitives.Scatter;
导入org.jzy3d.plot3d.rendering.canvas.Quality;
公共类ScatterDemo扩展了抽象分析{
公共静态void main(字符串[]args)引发异常{
打开(新的ScatterDemo());
}
@凌驾
公共void init(){
int size=500000;
浮动x;
浮动y;
浮动z;
浮动a;
Coord3d[]点=新的Coord3d[尺寸];
颜色[]颜色=新颜色[尺寸];
随机r=新随机();
r、 固定种子(0);
对于(int i=0;i此方法应创建新的散点
public void plot(Coord3d[] points, Color[] colors) {
Scatter scatter = new Scatter(points, colors);
chart = AWTChartComponentFactory.chart(Quality.Advanced, "newt");
chart.getScene().add(scatter);
}
这段代码显示了如何创建数据集,只需使用坐标和颜色值
int size = 100
Coord3d[] points = new Coord3d[size];
Color[] colors = new Color[size];
for(int i=0; i < size; i++){
x = i;
y = i;
z = i;
points[i] = new Coord3d(x, y, z);
r = 0.5;
b = 0.5;
g = 0.5;
colors[i] = new Color(r, g, b);
}
int size=100
Coord3d[]点=新的Coord3d[尺寸];
颜色[]颜色=新颜色[尺寸];
对于(int i=0;i