public static Point3d[] generatePointsOnSphere(double sphereRadius, int numberOfPointsToGenerate, double deltaN) { return generatePointsOnSphere(new Point3d(), sphereRadius, numberOfPointsToGenerate, deltaN); }
public SphereVoxelShape(ReferenceFrame parentFrame, double voxelSize, int numberOfRays, int numberOfRotationsAroundRay, SphereVoxelType type) { this.voxelSize = voxelSize; this.parentFrame = parentFrame; this.type = type; this.numberOfRays = numberOfRays; this.numberOfRotationsAroundRay = numberOfRotationsAroundRay; pointsOnSphere = SpiralBasedAlgorithm.generatePointsOnSphere(sphereOrigin, voxelSize, numberOfRays); rotations = SpiralBasedAlgorithm.generateOrientations(numberOfRays, numberOfRotationsAroundRay); }
public static Point3d[] generatePointsOnSphere(Point3d sphereOrigin, double sphereRadius, int numberOfPointsToGenerate) { return generatePointsOnSphere(sphereOrigin, sphereRadius, numberOfPointsToGenerate, computeMagicDeltaN(numberOfPointsToGenerate)); }
public static Quaternion[][] generateOrientations(int numberOfRays, int numberOfRotationsAroundRay) { return generateOrientations(numberOfRays, numberOfRotationsAroundRay, computeMagicDeltaN(numberOfRays)); }
public static Quat4d[][] generateOrientations(int numberOfRays, int numberOfRotationsAroundRay) { return generateOrientations(numberOfRays, numberOfRotationsAroundRay, computeMagicDeltaN(numberOfRays)); }
public static Point3D[] generatePointsOnSphere(double sphereRadius, int numberOfPointsToGenerate, double deltaN) { return generatePointsOnSphere(new Point3D(), sphereRadius, numberOfPointsToGenerate, deltaN); }
public static Point3D[] generatePointsOnSphere(Point3D sphereOrigin, double sphereRadius, int numberOfPointsToGenerate) { return generatePointsOnSphere(sphereOrigin, sphereRadius, numberOfPointsToGenerate, computeMagicDeltaN(numberOfPointsToGenerate)); }
public SphereVoxelShape(ReferenceFrame parentFrame, double voxelSize, int numberOfRays, int numberOfRotationsAroundRay, SphereVoxelType type) { this.voxelSize = voxelSize; this.parentFrame = parentFrame; this.type = type; this.numberOfRays = numberOfRays; this.numberOfRotationsAroundRay = numberOfRotationsAroundRay; pointsOnSphere = SpiralBasedAlgorithm.generatePointsOnSphere(sphereOrigin, voxelSize, numberOfRays); rotations = SpiralBasedAlgorithm.generateOrientations(numberOfRays, numberOfRotationsAroundRay); }
private PlanarRegionsList createVisibleRegions(PlanarRegionsList regions, Point3D observer, PlanarRegionsList knownRegions, List<YoFramePoint3D> rayPointsToPack) Point3D[] pointsOnSphere = SpiralBasedAlgorithm.generatePointsOnSphere(observer, 1.0, rays); List<ConvexPolygon2D> visiblePolygons = new ArrayList<>(); for (int i = 0; i < regions.getNumberOfPlanarRegions(); i++)
public static Point3D[] generatePointsOnSphere(double sphereRadius, int numberOfPointsToGenerate) { return generatePointsOnSphere(new Point3D(), sphereRadius, numberOfPointsToGenerate, computeMagicDeltaN(numberOfPointsToGenerate)); }
private PlanarRegionsList createVisibleRegions(PlanarRegionsList regions, Point3D observer, PlanarRegionsList knownRegions, List<YoFramePoint3D> rayPointsToPack) Point3D[] pointsOnSphere = SpiralBasedAlgorithm.generatePointsOnSphere(observer, 1.0, rays); List<ConvexPolygon2D> visiblePolygons = new ArrayList<>(); for (int i = 0; i < regions.getNumberOfPlanarRegions(); i++)
public static Point3d[] generatePointsOnSphere(double sphereRadius, int numberOfPointsToGenerate) { return generatePointsOnSphere(new Point3d(), sphereRadius, numberOfPointsToGenerate, computeMagicDeltaN(numberOfPointsToGenerate)); }
private Pair<PlanarRegionsList, List<Point3D>> createVisibleRegions(PlanarRegionsList regions, Point3D observer, PlanarRegionsList knownRegions) Point3D[] pointsOnSphere = SpiralBasedAlgorithm.generatePointsOnSphere(observer, 1.0, rays);
public static void visualizePointsOnSphereUsingSpiralBasedAlgorithm() { SimulationConstructionSet scs = new SimulationConstructionSet(new Robot("Dummy")); scs.startOnAThread(); Point3D sphereOrigin = new Point3D(0.0, 0.0, 1.0); double sphereRadius = 0.10; int numberOfPointsToGenerate = 200; Point3D[] pointsOnSphere = SpiralBasedAlgorithm.generatePointsOnSphere(sphereOrigin, sphereRadius, numberOfPointsToGenerate); Graphics3DObject staticLinkGraphics = new Graphics3DObject(); staticLinkGraphics.translate(sphereOrigin); AppearanceDefinition red = YoAppearance.Red(); red.setTransparency(0.7); staticLinkGraphics.addSphere(sphereRadius, red); scs.addStaticLinkGraphics(staticLinkGraphics); for (int i = 0; i < numberOfPointsToGenerate; i++) { staticLinkGraphics = new Graphics3DObject(); staticLinkGraphics.translate(pointsOnSphere[i]); staticLinkGraphics.addSphere(0.005); scs.addStaticLinkGraphics(staticLinkGraphics); } }
Point3D[] contactPointsOffset = SpiralBasedAlgorithm.generatePointsOnSphere(ballRadius, 500); for (int i = 0; i < contactPointsOffset.length; i++)
Point3D[] pointsOnSphere = generatePointsOnSphere(0.01, numberOfRays, deltaN);
Point3d[] pointsOnSphere = generatePointsOnSphere(0.01, numberOfRays, deltaN);
euclideanTrajectoryPointCalculator.enableWeightMethod(2.0, 1.0); Point3D[] pointsOnSphere = SpiralBasedAlgorithm.generatePointsOnSphere(radius, numberOfTrajectoryPoints * numberOfMessages);
Point3D[] allPointsOnSphere = SpiralBasedAlgorithm.generatePointsOnSphere(sphereOrigin, sphereRadius, numberOfPointsToGenerate); List<Point3D> selectedPoints = new ArrayList<>();
euclideanTrajectoryPointCalculator.enableWeightMethod(2.0, 1.0); Point3D[] pointsOnSphere = SpiralBasedAlgorithm.generatePointsOnSphere(radius, numberOfTrajectoryPoints * numberOfMessages);