Custom Search

COMPASS For Windows
 • Compass Tour • Other New Features • Cartography Tools • Live 3D Cave Images • On-line Help (New) • Written Description • Revision History: 99-18 • Testimonial Letters • Contact Author
Getting COMPASS
 • Getting Compass • Compass On A CD.
 • Installation Instructions • Antivirus Issues • Authenticating Files • False Positives
Registration Information
 • Credit Card Reg. • Reg. Info/Forms • Printable Reg. Form • 3rd Party Reg. Form
Auxiliary Tools/Information
 • Cave Data • 3D Glasses • ESRI/ArcView Tools
Tutorials - (New)
 • Inkscape Tips and Tricks • Radio Locations • Magnetic Anomalies • Installing Under Win8 • Compass on A Mac • Google Earth Overlay • Declination/Convergence • Cartography Tools • Sketch Editor. • SVG Export • Inkscape SVG Maps • Illustrator SVG Maps • SVG Round Tripping • Adopting SVG Maps • Complex Plot Tutorials • Trouble Shoot CaveX • Exporting HPGL • Canvas Digital Map • ArcView/ESRI • Italian Tutorial • Using the Compass CD • DEM Tutorial
 • Cave Related Links • User's Pages • User's Group • User Questions
Documents/White Papers
 • Compass File Formats • ArcView/ESRI • Finding Blunders • Finding Loops • Loop Closure • Least Squares Papers • Least Squares Issues • Passage Modeling • Survey Blunders • J. Halleck- On Loops • History/Philosophy • SEF File Format (1992) • About The Author
COMPASS For DOS
 • DOS Compass Demos • DOS Compass Features • Magazine Review
MISC.
 • Other Products

Technical Details of Morphing

Morphing is a word that describes a mathematical process used to warp images based on the on the positions of pairs of lines. Normally, the process is performed on bitmap images. The process compares the positions of the line pairs and moves the pixels based on the differences in the positions of the lines. For example, if the second line is rotated relative to the first, the pixels near the line will be rotated.
 For example, in the images to the right there two pairs of lines. In the second image, the lines have been rotated a few degrees clockwise. As a result, the second image is rotated the same amount. You will also notices that since lengths and relative positions of the lines has not changed, the image is not warped.
 This image shows what happens if the lines are stretched and rotated relative to each other. In this case, the image is warped, with some parts compress and some parts stretched.This process can also be applied to cave drawings by using the passage shot lines as the line-pairs. So, for example, if the shot lines move or change, the program will have information about how to adjust the cave drawing. Instead of moving pixels, the program moves elements (vectors) that make up the line drawing. In this way, hand-drawn elements such as the passage walls, and floor details are moved, rotated, scaled, stretched, and compressed based on the changes in the cave data.

The standard Morphing technique was pioneered by in a paper by Thaddeus Beier and Shawn Neely in a paper called "Feature-Based Image Metamorphosis". (It is currently available on line here: http://www.hammerhead.com/thad/morph.html). David McKenzie pioneered the concept of using this morphing technique in cave maps with his Walls program.

The technique measures the position of an object relative to a survey line and tries to maintain that relationship if the line moves. Since there are dozens or hundreds of lines in a cave survey, all the lines may have an effect on each object. If all the lines move together, then all the objects will move exactly like the lines. For example, if the cave is moved, the objects will move exactly the same amount.

On the other hand, there may be times when all the survey lines do not move in exactly the same way. For example, if an error has been corrected in the survey, some lines will move and others will not. If this happens, the program has to sort out which lines effect which objects. This is done with a weighting each line and averaging the effects of all the lines.  The weights are based on the Length of the Line, the Distance from the object and Precision required. Here is the weighting equation:

Weight = ((Length ^ P) / (A + Distance))^B

Where:

Length = Length of the Line
Distance = Distance of Object From Line
A = Controls Precision
P = Control Effect of Line Length
B = Control Effect of Distance.

For more detailed information about the process, refer the article described above.