Chris@108: module scraps.plot2; Chris@107: Chris@107: import org.jzy3d.plot3d.builder: Mapper; Chris@107: import org.jzy3d.maths: Range; Chris@107: import org.jzy3d.plot3d.primitives: Shape; Chris@107: import org.jzy3d.chart: Chart, ChartLauncher; Chris@107: import org.jzy3d.plot3d.builder: Builder; Chris@107: import org.jzy3d.plot3d.builder.concrete: OrthonormalGrid; Chris@107: import org.jzy3d.colors.colormaps: ColorMapRainbow; Chris@107: import org.jzy3d.colors: ColorMapper; Chris@107: import org.jzy3d.colors: Color; Chris@107: import org.jzy3d.plot3d.rendering.canvas: Quality; Chris@107: Chris@107: newMapper mapFunction = Chris@107: (class YMapper extends Mapper Chris@107: double f(double x, double y) Chris@107: mapFunction x y Chris@107: end; Chris@107: new YMapper()); Chris@107: Chris@107: range = new Range(-150, 150); Chris@107: steps = 50; Chris@107: Chris@107: mapper = newMapper do x y: 10 * sin(x / 10) * cos(y / 20) * x done; Chris@107: Chris@107: surface = Builder#buildOrthonormal(new OrthonormalGrid(range, steps, range, steps), mapper); Chris@107: surface#setColorMapper(new ColorMapper(new ColorMapRainbow(), surface#getBounds()#getZmin(), surface#getBounds()#getZmax(), new Color(1, 1, 1, 0.5))); Chris@107: surface#setFaceDisplayed(true); Chris@107: surface#setWireframeDisplayed(false); Chris@107: surface#setWireframeColor(Color#BLACK); Chris@107: Chris@117: println "Z Bounds: \(surface#getBounds()#getZmin()) -> \(surface#getBounds()#getZmax())"; Chris@117: Chris@108: chart = new Chart(Quality#Nicest); Chris@107: chart#getScene()#getGraph()#add(surface); Chris@107: ChartLauncher#openChart(chart); Chris@107: