/** * Returns the distance from the intersectPoint for item and * origin. */ double getDistanceFrom( Point3d origin ) { return intersectPoint.distance(origin); }
/** Calculates and stores the closest vertex information */ void storeClosestVertex () { if (closestVertexIndex == -1) { double maxDist = Double.MAX_VALUE; double curDist = Double.MAX_VALUE; int closestIndex = -1; /* System.out.println("primitiveCoordinatesVW.length " + primitiveCoordinatesVW.length); */ for (int i=0;i<primitiveCoordinatesVW.length;i++) { curDist = pointCoordinatesVW.distance (primitiveCoordinatesVW[i]); /* System.out.println("pointCoordinatesVW " + pointCoordinatesVW); System.out.println("primitiveCoordinatesVW[" + i + "] " + primitiveCoordinatesVW[i]); System.out.println("curDist " + curDist); */ if (curDist < maxDist) { closestIndex = i; maxDist = curDist; } } closestVertexIndex = closestIndex; } }
curDist = pointCoordinates.distance (primitiveCoordinates[i]);
for (final Point3d p : ap) sd += Math.pow(p.distance(expected), 2);
/** * Calculates the distance between the viewer's eye and an arbitrary point in * the vworld space. * * @return */ public double distanceEyeTo(final Point3d p) { canvas.getCenterEyeInImagePlate(eyePos); canvas.getImagePlateToVworld(ipToVWorld); ipToVWorld.transform(eyePos); return eyePos.distance(p); }
/** * Translates the view suitable to a mouse movement by dxPix and dyPix on the * canvas. * * @param dxPix * @param dyPix */ public void translateXY(final int dxPix, final int dyPix) { origin.set(0, 0, 0); canvas.getCenterEyeInImagePlate(eyePos); canvas.getImagePlateToVworld(ipToVWorld); ipToVWorld.transform(eyePos); final float dD = (float) eyePos.distance(origin); originInCanvas(originInCanvas); canvas.getPixelLocationInImagePlate(originInCanvas, originOnIp); ipToVWorld.transform(originOnIp); final float dd = (float) eyePos.distance(originOnIp); canvas.getPixelLocationInImagePlate((int) Math.round(originInCanvas.x + 1), (int) Math.round(originInCanvas.y), currentPtOnIp); ipToVWorld.transform(currentPtOnIp); final float dx = (float) originOnIp.distance(currentPtOnIp); canvas.getPixelLocationInImagePlate((int) Math.round(originInCanvas.x), (int) Math.round(originInCanvas.y + 1), currentPtOnIp); ipToVWorld.transform(currentPtOnIp); final float dy = (float) originOnIp.distance(currentPtOnIp); final float dX = dx * dxPix * dD / dd; final float dY = dy * dyPix * dD / dd; translateXY(dX, dY); }
/** Gets the PickIntersection in this PickResult that is closest to a point @param pt the point to use for distance calculations @return the closest PickIntersection object */ public PickIntersection getClosestIntersection (Point3d pt) { PickIntersection pi = null; PickIntersection curPi = null; Point3d curPt = null; double minDist = Double.MAX_VALUE; double curDist = 0.0; if (pt == null) return null; if (intersections == null) { generateIntersections(); } for (int i=0;i<intersections.size();i++) { if ((null != (curPi = getIntersection(i))) && (null != (curPt = curPi.getPointCoordinatesVW()))) { curDist = pt.distance (curPt); if (curDist < minDist) { pi = curPi; minDist = curDist; } } } return pi; }
@Override void computeCentroid() { Point3d pnt0 = new Point3d(); Point3d pnt1 = new Point3d(); double length; double totallength = 0; int i = ((vertexFormat & GeometryArray.BY_REFERENCE) == 0 ? initialVertexIndex : initialCoordIndex); centroid.x = 0; centroid.y = 0; centroid.z = 0; while (i < validVertexCount) { getVertexData(i++, pnt0); getVertexData(i++, pnt1); length = pnt0.distance(pnt1); centroid.x += (pnt0.x + pnt1.x) * length; centroid.y += (pnt0.y + pnt1.y) * length; centroid.z += (pnt0.z + pnt1.z) * length; totallength += length; } if (totallength != 0.0) { length = 1.0/(2.0 * totallength); centroid.x *= length; centroid.y *= length; centroid.z *= length; } }
replaceVertex1 = true; length = pnt0.distance(pnt1); centroid.x += (pnt0.x + pnt1.x) * length; centroid.y += (pnt0.y + pnt1.y) * length;
dist = p1.distance( p2 ); if ( dist < min_dist )
pickPtInVWorld.set(p); localToVWorld.transform(pickPtInVWorld); r = (float) pickPtInVWorld.distance(centerInVWorld); r = (float) p1.distance(centerInVWorld); vec.sub(centerInVWorld, eyePtInVWorld); vec.normalize(); pickPtInVWorld.add(centerInVWorld, vec); dD = (float) pickPtInVWorld.distance(eyePtInVWorld); final float dd = (float) p1.distance(eyePtInVWorld); final float dx = (float) p1.distance(p2); final float dy = (float) p1.distance(p3);
plShape.setRadius((float) min.distance(max) / 100f);
super() ; if (hotspot.distance(new Point3d()) == 0.0) throw new IllegalArgumentException ("\nBeam echo can't have hotspot at origin") ;