X-Git-Url: http://www2.svjatoslav.eu/gitweb/?p=sixth-3d-demos.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fsixth%2Fe3d%2Fexamples%2FSphereDemo.java;fp=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fsixth%2Fe3d%2Fexamples%2FSphereDemo.java;h=0000000000000000000000000000000000000000;hp=95be617d5693fe7c93c7732a270c1351a1096f66;hb=708969a9a1413480d4679bec1642ef550fc6dc84;hpb=34fba471448cb65ba4864059b0a12ca38ba7d493 diff --git a/src/main/java/eu/svjatoslav/sixth/e3d/examples/SphereDemo.java b/src/main/java/eu/svjatoslav/sixth/e3d/examples/SphereDemo.java deleted file mode 100755 index 95be617..0000000 --- a/src/main/java/eu/svjatoslav/sixth/e3d/examples/SphereDemo.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Sixth 3D engine demos. Author: Svjatoslav Agejenko. - * This project is released under Creative Commons Zero (CC0) license. - * -*/ - -package eu.svjatoslav.sixth.e3d.examples; - -import eu.svjatoslav.sixth.e3d.geometry.Point3D; -import eu.svjatoslav.sixth.e3d.gui.ViewFrame; -import eu.svjatoslav.sixth.e3d.gui.ViewPanel; -import eu.svjatoslav.sixth.e3d.renderer.raster.Color; -import eu.svjatoslav.sixth.e3d.renderer.raster.ShapeCollection; -import eu.svjatoslav.sixth.e3d.renderer.raster.shapes.basic.line.LineAppearance; -import eu.svjatoslav.sixth.e3d.renderer.raster.shapes.basic.solidpolygon.SolidPolygon; -import eu.svjatoslav.sixth.e3d.renderer.raster.shapes.composite.wireframe.WireframeSphere; - -public class SphereDemo { - - private static final double WAVE_FREQUENCY = 50d; - private static final double WAVE_AMPLITUDE = 50d; - private static final Color SQUARE_PLATE_COLOR = new Color("88F7"); - - private static void makeSquarePlate(final ShapeCollection shapeCollection, - final double y, final double x, final double z) { - final Point3D p1 = new Point3D(x, y, z); - final Point3D p2 = new Point3D(x + 20, y, z); - final Point3D p3 = new Point3D(x, y, z + 20); - final Point3D p4 = new Point3D(x + 20, y, z + 20); - final SolidPolygon polygon1 = new SolidPolygon(p1, p2, p3, SQUARE_PLATE_COLOR); - final SolidPolygon polygon2 = new SolidPolygon(p4, p2, p3, SQUARE_PLATE_COLOR); - shapeCollection.addShape(polygon1); - shapeCollection.addShape(polygon2); - } - - /** - * @param surfaceElevation surface total elevation - */ - private static void makeWobblySurface(final ShapeCollection shapeCollection, - final double surfaceElevation) { - for (double x = -500; x < 500; x += 20) - for (double z = -500; z < 500; z += 20) { - - // use Pythagorean theorem to compute distance from the center - final double distanceFromCenter = Math.sqrt((x * x) + (z * z)); - - double plateElevation = Math.sin(distanceFromCenter / WAVE_FREQUENCY) * WAVE_AMPLITUDE; - - makeSquarePlate(shapeCollection, plateElevation + surfaceElevation, x, - z); - } - } - - public static void main(final String[] args) { - - final ViewFrame viewFrame = new ViewFrame(); - final ViewPanel viewPanel = viewFrame.getViewPanel(); - - final ShapeCollection geometryCollection = viewPanel - .getRootShapeCollection(); - - final LineAppearance appearance = new LineAppearance(4, new Color(255, - 0, 0, 30)); - - // add sphere - geometryCollection.addShape(new WireframeSphere(new Point3D(0, 0, 0), - 100, appearance)); - - // create floor - makeWobblySurface(geometryCollection, 200); - makeWobblySurface(geometryCollection, -200); - - viewPanel.getAvatar().setLocation(new Point3D(0, 0, -340)); - - } -}