/** * Convert from latitude-longitude coordinates into equirectangular coordinates * @param lon Longitude * @param lat Latitude * @param rect (Output) equirectangular coordinate */ public void lonlatToEqui(float lon , float lat , Point2D_F32 rect ) { rect.x = UtilAngle.wrapZeroToOne(lon / GrlConstants.F_PI2 + 0.5f)*width; rect.y = UtilAngle.reflectZeroToOne(lat / GrlConstants.F_PI + 0.5f)*(height-1); }
public static double distanceHsv( Gaussian2D_F64 model , double hue , double saturation ) { double dx = UtilAngle.dist(hue,model.x); double dy = saturation-model.y; // chi-square = d^T*S*d double tmp0 = dx*model.sxx + dy*model.sxy; double tmp1 = dx*model.sxy + dy*model.syy; return tmp0*dx + tmp1*dy; } }
private void updateIntrinsic() { cameraModel.width = camWidth; cameraModel.height = camHeight; cameraModel.cx = camWidth/2; cameraModel.cy = camHeight/2; double f = (camWidth/2.0)/Math.tan(UtilAngle.degreeToRadian(hfov)/2.0); cameraModel.fx = cameraModel.fy = f; cameraModel.skew = 0; }
public double computeSize( SquareGrid grid ) { poly.vertexes.data[0] = grid.get(0,0).center; poly.vertexes.data[1] = grid.get(0,grid.columns-1).center; poly.vertexes.data[2] = grid.get(grid.rows-1,grid.columns-1).center; poly.vertexes.data[3] = grid.get(grid.rows-1,0).center; return Area2D_F64.polygonSimple(poly); }
@Override public double computeDistance(Point3D_F64 pt) { return Math.abs(Distance3D_F64.distance(model, pt)); }
@Override public boolean contained(Point3D_F64 point) { return Intersection3D_F64.contained(space, point); }
public boolean intersection( ImageRectangle b , ImageRectangle result ) { return Intersection2D_I32.intersection(this,b,result); } }
@Override public boolean contained(Point3D_I32 point) { return Intersection3D_I32.contained(space, point); }
/** * Convert from latitude-longitude coordinates into equirectangular coordinates * @param lon Longitude * @param lat Latitude * @param rect (Output) equirectangular coordinate */ public void lonlatToEqui(double lon , double lat , Point2D_F64 rect ) { rect.x = UtilAngle.wrapZeroToOne(lon / GrlConstants.PI2 + 0.5)*width; rect.y = UtilAngle.reflectZeroToOne(lat / GrlConstants.PI + 0.5)*(height-1); }
private void updateIntrinsic() { cameraModel.width = camWidth; cameraModel.height = camHeight; cameraModel.cx = camWidth/2; cameraModel.cy = camHeight/2; double f = (camWidth/2.0)/Math.tan(UtilAngle.degreeToRadian(hfov)/2.0); cameraModel.fx = cameraModel.fy = f; cameraModel.skew = 0; }
@Override public double computeDistance(Point3D_F64 pt) { return Math.abs(Distance3D_F64.distance(model, pt)); }
/** * Convert from latitude-longitude coordinates into equirectangular coordinates. * Vertical equirectangular axis has been flipped * @param lat Latitude * @param lon Longitude * @param rect (Output) equirectangular coordinate */ public void latlonToEquiFV(float lat, float lon, Point2D_F32 rect) { rect.x = UtilAngle.wrapZeroToOne(lon / GrlConstants.F_PI2 + 0.5f)*width; rect.y = UtilAngle.reflectZeroToOne(lat / GrlConstants.F_PI + 0.5f)*(height-1); rect.y = height - rect.y - 1; }
@Override public double computeDistance(Point3D_F64 pt) { return Math.abs(Distance3D_F64.distance(model, pt)); }
/** * Convert from latitude-longitude coordinates into equirectangular coordinates * @param lat Latitude * @param lon Longitude * @param rect (Output) equirectangular coordinate */ public void latlonToEqui(double lat, double lon, Point2D_F64 rect) { rect.x = UtilAngle.wrapZeroToOne(lon / GrlConstants.PI2 + 0.5)*width; rect.y = UtilAngle.reflectZeroToOne(lat / GrlConstants.PI + 0.5)*(height-1); }
public double score(PlaneGeneral3D_F64 plane, Point3D_F64 point) { double e = Distance3D_F64.distance(plane, point); // gaussian best for fitting, small 1/(e*e) component for large errors return d.density(e) + distAmplitude * 1e-12 / (1e-10 + (e * e)); } };
/** * Convert from latitude-longitude coordinates into equirectangular coordinates. * Vertical equirectangular axis has been flipped * @param lat Latitude * @param lon Longitude * @param rect (Output) equirectangular coordinate */ public void latlonToEquiFV(double lat, double lon, Point2D_F64 rect) { rect.x = UtilAngle.wrapZeroToOne(lon / GrlConstants.PI2 + 0.5)*width; rect.y = UtilAngle.reflectZeroToOne(lat / GrlConstants.PI + 0.5)*(height-1); rect.y = height - rect.y - 1; }
/** * Convert from latitude-longitude coordinates into equirectangular coordinates * @param lat Latitude * @param lon Longitude * @param rect (Output) equirectangular coordinate */ public void latlonToEqui(float lat, float lon, Point2D_F32 rect) { rect.x = UtilAngle.wrapZeroToOne(lon / GrlConstants.F_PI2 + 0.5f)*width; rect.y = UtilAngle.reflectZeroToOne(lat / GrlConstants.F_PI + 0.5f)*(height-1); }
/** * Convert from latitude-longitude coordinates into equirectangular coordinates. * Vertical equirectangular axis has been flipped * @param lon Longitude * @param lat Latitude * @param rect (Output) equirectangular coordinate */ public void lonlatToEquiFV(float lon , float lat , Point2D_F32 rect ) { rect.x = UtilAngle.wrapZeroToOne(lon / GrlConstants.F_PI2 + 0.5f)*width; rect.y = UtilAngle.reflectZeroToOne(lat / GrlConstants.F_PI + 0.5f)*(height-1); rect.y = height - rect.y - 1; } }
/** * Convert from latitude-longitude coordinates into equirectangular coordinates. * Vertical equirectangular axis has been flipped * @param lon Longitude * @param lat Latitude * @param rect (Output) equirectangular coordinate */ public void lonlatToEquiFV(double lon , double lat , Point2D_F64 rect ) { rect.x = UtilAngle.wrapZeroToOne(lon / GrlConstants.PI2 + 0.5)*width; rect.y = UtilAngle.reflectZeroToOne(lat / GrlConstants.PI + 0.5)*(height-1); rect.y = height - rect.y - 1; } }