[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-user: DRC rule structure
----- Rick Collins <gnuarm.2006@xxxxxxxxx> wrote:
> At 09:12 AM 8/16/2010, you wrote:
> I'm not sure I follow. I was thinking of this when I saw your first
> post. This is a similar problem to displaying graphics using 3D
> information. I have seen a speed up method for that which uses the
> extra memory that typically is left over from working with three
> dimensions, in essence a fourth dimension. They precompute an
> approximate Z position (relative to the eye) which they use to
> quickly scan the data to see which planes to display first which are
> most likely to be partially or fully overwritten.
>
> In your case, for each feature (your own definition of feature which
> works optimally) a working radius is computed which includes the
> furthest extent of the feature from it's origin plus what ever
> clearance is needed. All features are checked against one another
> still, but now it is just a matter of comparing origins against the
> working radii which is a much faster operation than checking each
> feature in detail (even a bounding box). Only the features that fail
> this test are then checked in detail, greatly speeding up the
> operation. Yes, you need to precompute the working radius of each
> "feature" on the board and store it, so that you only do this once
> and save that computing time for each display update.
>
I like this. Since many features on a PCB are traces, which are long
and thin, I wonder if we could achieve an even-greater speedup by
using "bounding ellipses" rather than circles. With rounded-up sine
tables I think we can do the check nearly as fast as we could with
simple circles (will have to check my calc book), and we'd eliminate
a -lot- more components in the initial scan.
Andrew
_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user