Boost logo

Boost :

Subject: Re: [boost] [polygon] tutorial done and library ready for release
From: Dean Michael Berris (mikhailberis_at_[hidden])
Date: 2010-05-25 02:35:56

On Tue, May 25, 2010 at 12:31 AM, Simonson, Lucanus J
<lucanus.j.simonson_at_[hidden]> wrote:
> Dean Michael Berris wrote:
>>   * I understand that there are already industry standards when it
>> comes to chip layout and other things, however I find just the normal
>> problems with polygons solved easily would be a huge and powerful
>> tutorial. Things like what the minimum dimensions should be for a set
>> of smaller polygons to be contained in a single rectangle
>> (minimization problem, maybe for the garment industry) or the maximum
>> number of triangles of a given dimension can be fit in a given polygon
>> (maximization problem, maybe for the construction industry). Naive
>> question: does it have to be specific to VLSI chip design or did it
>> just come out in the review?
> If by "it" you mean usage of the library, then no.  The library generally handles polygons with integer coordinates.

No, I meant "it" being the tutorial. I get that the geometry library
is supposed to be generic but it doesn't seem so generic when (forgive
me for pointing out) you and the company you work with is in the chip
design/manufacturing business offer a tutorial which best fits that
specific use case. ;)

> I'm not sure either of your suggestions turns out to be easy using the library.  You are suggesting difficult things in their own right that would make good extensions to a geometry library.

Okay, so this is only for integer-coordinate based polygons... But
there are a lot of algorithms that fall under the field of geometry
like area, perimeter, center of gravity, etc. that can be used to
illustrate the power of the library, right? I primarily would like to
get a better idea of these algorithms that are available and usable
"right away" with minimum effort. The tutorial I read didn't do that
because, well, I think the area you chose to demonstrate the library
is a little... well... contrived. ;)

>>   * Given that I don't see where this tutorial fits in the whole
>> scheme of documentation, this tutorial seems to rely on a lot of
>> missing context. Is that intentional by virtue of placement, or is
>> this supposed to be a stand-alone tutorial?
> My intention was that the tutorial be self contained and that the documentation should help the reader understand the usage of the library in the tutorial.

Oh, okay. I think there is a disconnect between what your intention is
and what is actually in the tutorial. I think I'm just missing a lot
of context to better understand how to really use the library. The
example in the tutorial was just too complex (necessarily so I think
to demonstrate the power of the library) but I'm missing the simple
utilities that I want to be able to use as a normal non-chip-designing
C++ developer having to deal with simple polygon problems.

Would a tutorial like that be at all possible to write?

>> I haven't really dug into the details of the tutorial and I'll trust
>> the experts when it comes to the details of the solution. However, I
>> think it would be powerful to show how the library can be used for
>> "normal" everyday and considerably non-trivial problems that are made
>> trivial by the library.
>> Thanks and I hope this helps!
> It does help.  I was concerned that the tutorial would be unapproachable for people not familiar with the VLSI domain.  Suggestions on a simpler tutorial would be helpful.

How about the simple problems like finding out whether two lines
intersect, the resulting area of the union of two or more polygons, or
maybe the convex hull problem? Those would really be interesting
problems to illustrate solving using your library and would generally
be more suitable to demo how to use and leverage the data structures
and algorithms in the library.

> Thanks,

Glad to be able to help. :)

Dean Michael Berris

Boost list run by bdawes at, gregod at, cpdaniel at, john at