|
Comparison of Curvefit to Generalization
When we talk about Linework we refer to lines, arcs and any connected
series of lines and arcs (the AutoCAD polyline). These basic entities
are used in every CAD discipline, making up the majority of most drawings.
AutoCAD lines and arcs cannot be simplified or optimized in any way, but
polylines can often be optimized. Certainly the most basic linework optimization
task is joining individual lines and arcs into polylines (our MapTools
Basic product performs this function).
Polylines are used to represent many different types of objects in AutoCAD.
Virtually every application for AutoCAD uses complex polylines to represent
real world features and objects. Mapping/GIS applications use polylines
to represent features like roads, property lines, lakes, rivers, railroads,
treelines, soil delineations, contours and political boundaries. Mechanical
applications use polylines to represent features like the boundaries of
complex objects and CNC tool paths necessary for fabrication. PC Board
/ Hybrid / IC layouts use wide polylines to represent traces.
When we discuss polyline optimization, we imply the improvement of several
polyline characteristics; Size (how many vertices), Accuracy (how well
does the polyline represent the intended feature) and Smoothness.
The following discussion will describe the evolution of Curvefit polyline
optimization using a fairly simple example. The polyline we begin with
is a point to point representation of a road centerline containing 59
vertices (shown above with dots). This is the least optimized form possible;
it's size is large, it's accuracy is probably poor and its smoothness
is certainly poor. Unfortunately, this "raw" state is the final
form for many drawings.

Generalization - Less is Less
Generalization (sometimes called weeding or filtering) is a process developed
many years ago to decrease the size of polyline data. The focus is simple;
remove some of the vertices to reduce data size. A host of generalization
algorithms have been developed over the years, each seeking to determine
which of the vertices are unnecessary. All forms of generalization reduce
data size but they also degrade accuracy and smoothness.

This example was generalized, reducing
it from 59 to 6 vertices.
Curvefitting with Tangency Search
Curvefitting is a method of polyline processing that differs greatly
from generalization. Instead of just eliminating points, arc segments
are found to replace large numbers of vertices. Our Curvefit product was
the first polyline processor to offer this functionality. Curvefit dramatically
reduces the number of polyline vertices and simultaneously improves smoothness.
When the example polyline is processed by Curvefit, a new polyline is
created with three vertices (two arcs). True polyline optimization demands
a compromise between compression, smoothness and accuracy. Curvefit uses
a "fuzzy logic" search engine to find the best compromise polyline
segments. This artificial intelligence technique can evaluate many aspects
of thousands of possible arc / line combinations, much like a draftsman
might do with a straight edge, a set of french curves and an experienced
eye.

|