> The following was supposedly scribed by > Massimiliano Mirra > on Saturday 20 December 2003 11:43 am: >> Now you want the square to be modifiable as a *regular polygon*. But this >> is just a scaling operation with a basepoint. > >Absolutely not. One thing is the user wanting that rotate square get >a side three inches long whereas it was two inches long a minute ago. >A totally different thing is having the user calculate where the base >point should be and what the scale factor should be so that that >rotated square will have a side three inches long after the operation. The question is: "who is the user?" If the user is a human, they could simply use a function which operates on regular polygons by deriving a point and then calling the scale() function. If the user is the scale_regular_polygon() function, the scale() function is all it needs. As a question of data structure, it is still just a polygon (maybe it is also tagged as being "regular".) The above argument is just a matter of interface. I don't see any problems with requiring a function to calculate a base point, but I agree that a human should not have to do this. --Eric -- Cult: A small, unpopular religion. Religion: A large, popular cult. -- Unknown