qVP - `MetricPics3D`: Copyright 2009 Jeffrey M. Setterholm 0.556934627355E+03 -0.554031300502E+03 0.525344011291E+00 0.11127327717E+07 -0.239686494654E+04 0.239761746176E+04 -0.182158974979E+01 -0.48216100816E+07 0.199033410996E+04 -0.199026767189E+04 -0.232504289278E+01 0.40109697810E+07 0.496158215025E-03 -0.496158215025E-03 0.000000000000E+00 0.10000000000E+01 EcefXyz = ^ hEcefQpix(4,4) * QvpPixels 0.315304837450E+00 0.113972758674E+00 -0.180504630698E-01 0.27108203846E+06 0.275049659905E+00 0.281687801075E+00 -0.158544997422E+00 0.16880511647E+07 0.123351906187E-01 -0.105976673341E-01 -0.419009551316E+00 0.16158110578E+07 -0.199729370359E-04 0.832131960704E-04 -0.697075173849E-04 0.70404087243E+03 QvpPixels= ^inv(hEcefQpix(4,4)) * EcefXyz -0.180956364306E+00 0.753918033992E+00 -0.631555533773E+00 0.63786651091E+07 0.967775617805E+00 0.250838408732E+00 0.221460219277E-01 0.39624564570E+05 0.175114670430E+00 -0.607196583264E+00 -0.775014297593E+00 -0.20876884201E+05 0.000000000000E+00 0.000000000000E+00 0.000000000000E+00 0.10000000000E+01 SocUvw = ^ hSocEcef(4,4) * EcefXyz Internal qVP geometry (+X:in,+Y:right,+Z:down): 2844 4708 -pixels in image 0.853200000000E+04 0.141240000000E+05 0.300000000000E+01 -extent/PixSize -0.906007784335E+04 -0.305746365730E+04 -0.451883062566E+02 -left eye loc. -0.906007784335E+04 0.298899472865E+04 -0.451883062566E+02 -right eye loc. 0.000000000000E+00 0.000000000000E+00 -Shift L-eye subimage (pixels) 0.000000000000E+00 0.000000000000E+00 -Shift R-eye subimage (pixels) (`Shift`:provides minor adjustment by editing these values in the .jpg file.) 2009.11.19.1200.50 -qVP creation date & time USAF365n 1 3653 1959.12.14.0000:00.00 -left eye: Run,Camera,Frame,Date USAF365n 2 3654 1959.12.14.0000:00.00 -right eye: Run,Camera,Frame,Date Source images - public domain. All distances are in meters. Pixel:(0.,0.) is the image upper-left corner ECEF: native-GPS WGS-84 Earth-Centered,Earth-Fixed coords. Numerical Example (Red/Blue): Select the midpoint of the stereo pixel field: QvpPixels:(iLeft,iRight,jDown,1)= 1422.00 1422.00 2354.00 1.00 EcefXyz = hEcefQpix(4,4) * QvpPixels ...remember to divide homog. outputs by the 4th component. EcefXyz:(X,Y,Z,1)= 1118097.962 -4824828.027 4005591.105 1.000 meters WGS-84 LLH:(Lat,Lon,Ht,1.)= 39.15323618770 -76.95267237669 107.306 1.000 Elevation - with respect to the Ellipsoid, not the Geoid. & Reversing... (it works!...) EcefXyz:(X,Y,Z,1)= 1118097.962 -4824828.027 4005591.105 1.000 meters QvpPixels= inv(hEcefQpix(4,4)) * EcefXyz QvpPixels:(iLeft,iRight,jDown,1)= 1422.00 1422.00 2354.00 1.00 Note: QvpPixels=(0.,0.,0.,1.) is the image upper-left-corner Second example: Move the left-eye pixel 9.99 right QvpPixels:(iLeft,iRight,jDown,1)= 1431.99 1422.00 2354.00 1.00 EcefXyz = hEcefQpix(4,4) * QvpPixels EcefXyz:(X,Y,Z,1)= 1118119.644 -4824857.719 4005620.203 1.000 meters WGS-84 LLH:(Lat,Lon,Ht,1.)= 39.15324709205 -76.95250556687 151.905 1.000 Final example: If the center of the user-defined Gameing Area is: WGS-84 LLH:(Lat,Lon,Ht,1.)= 39.15412000000 -76.95403000000 108.000 1.000 EcefXyz:(X,Y,Z,1)= 1117969.774 -4824794.689 4005667.632 1.000 meters QvpPixels:(iLeft,iRight,jDown,1)= 1384.00 1384.00 2320.00 1.00 Corresponding points are meant to be in the same pixel row. Expressing the same point w.r.t. the Stereo-optic-center (Soc) SocUvw = hSocEcef(4,4) * EcefXyz SocUvw:(U,V,W,1)= 9060.078 34.234 45.188 1.000 meters !--- Example completed: @ 2009.11.19.1201.25 L