public class RandomPolygonsDemo {
+ public static final double POLYGON_AVERAGE_SIZE = 130;
+ public static final int POLYGON_COUNT = 10000;
+
private static void addRandomPolygon(final ShapeCollection geometryCollection) {
final Point3D polygonLocation = getRandomPoint(1000);
- final double polygonAverageSize = 30;
-
final Point3D point1 = new Point3D(polygonLocation);
- point1.add(getRandomPoint(polygonAverageSize));
+ point1.add(getRandomPoint(POLYGON_AVERAGE_SIZE));
final Point3D point2 = new Point3D(polygonLocation);
- point2.add(getRandomPoint(polygonAverageSize));
+ point2.add(getRandomPoint(POLYGON_AVERAGE_SIZE));
final Point3D point3 = new Point3D(polygonLocation);
- point3.add(getRandomPoint(polygonAverageSize));
+ point3.add(getRandomPoint(POLYGON_AVERAGE_SIZE));
- final Color color = new Color(Math.random(), Math.random(),
- Math.random(), 0.5d);
+ final Color color = new Color(
+ getColorChannelBrightness(),
+ getColorChannelBrightness(),
+ getColorChannelBrightness(),
+ 1);
final SolidPolygon polygon = new SolidPolygon(point1, point2, point3,
color);
geometryCollection.addShape(polygon);
}
+ /* I don't want very dark polygons, so ensure there is at least some
+ * brightness present. */
+ private static double getColorChannelBrightness() {
+ return Math.random() * 0.7 + 0.3f;
+ }
+
private static Point3D getRandomPoint(final double amplitude) {
return new Point3D((Math.random() * amplitude * 2d) - amplitude,
(Math.random() * amplitude * 2d) - amplitude, (Math.random()
new Point3D(-1000, 1000, 1000), 300, appearance));
// add random polygons
- for (int i = 0; i < 3000; i++)
+ for (int i = 0; i < POLYGON_COUNT; i++)
addRandomPolygon(shapeCollection);
}