@Override public Point[] generatePoints(Point center, int number) { float angle = 0; float distance = 1; Point[] points = new Point[number]; points[0] = center; for (int i = 1; i < number; i++) { distance = (float) Math.sqrt(i); Vector3 offset = Point.FORWARD.transform(MathHelper.rotateY(angle)); offset = offset.multiply(distance).multiply(scaleRadius); points[i] = center.add(offset); angle += scaleCircumference * 360.0 / (Math.PI * distance); } return points; }