我正在查看IsoSurface的给定示例代码。我想创建一个类似于示例代码的图表,但我无法重新创建所需的数据点(因为它使用的是fillSampleValues())。示例(如下所示)使用什么值?谢谢!
编辑:我特别感兴趣的是如何让它平坦以及如何创造高峰。当我尝试输入我自己的x,y,z值时,图表不会显示。我猜这是因为我没有输入有效值。所以这就是为什么我很想知道fillSampleValues是什么以及它是如何创建图表的。
series = Series.createNewSeries(chart.getChart(), IsoSurface.class, null);
series.fillSampleValues();
chart.addSeries(series);
chart.getLegend().setAlignment(LegendAlignment.BOTTOM);
chart.getHeader().setText("ISOSurface Series");
chart.getHeader().getFont().setSize(14);
chart.getAspect().setOrthogonal(false);
chart.getAspect().setZoom(70);
chart.getAspect().setRotation(320);
chart.getAspect().setElevation(340);
chart.getAspect().setPerspective(37);
chart.getAspect().setChart3DPercent(90);
((IsoSurface) series).setPaletteStyle(PaletteStyle.RAINBOW);
答案 0 :(得分:1)
Surface系列中的随机值按以下示例计算:
Surface surf1 = new Surface(tChart1.getChart());
int nValues = 10;
for (int z=1; z<=nValues; z++) {
for (int x=1; x<=nValues; x++) {
surf1.add(x, 0.5 * Utils.pow(Math.cos(x / (nValues * 0.2)), 2) +
Utils.pow(Math.cos(z / (nValues * 0.2)), 2) -
Math.cos(z / (nValues * 0.5)), z);
}
}