Pixel Camera::translateLatLon(LatLon latlon) { CvMat* latlonHomogeneous = cvCreateMat(3, 1, CV_32FC1); cvmSet(latlonHomogeneous, 0, 0, latlon.getLat()); cvmSet(latlonHomogeneous, 1, 0, latlon.getLon()); cvmSet(latlonHomogeneous, 2, 0, 1.0); CvMat* pixelHomogeneous = cvCreateMat(3, 1, CV_32FC1); cvMatMul(inverse, latlonHomogeneous, pixelHomogeneous); int x = (int)(cvmGet(pixelHomogeneous, 0, 0) / cvmGet(pixelHomogeneous, 2, 0)); int y = (int)(cvmGet(pixelHomogeneous, 1, 0) / cvmGet(pixelHomogeneous, 2, 0)); Pixel pixel(x, y); return pixel; }
Vector3 Utilities::latLonToECEF(LatLon latLon) { scene::LatLonAlt lla(latLon.getLat(), latLon.getLon()); return latLonToECEF(lla); }