[Date Index] [Thread Index] [Author Index]
Re: Re: How to increase area of irregular polygon?
Steve, If you operate on an object with a linear transformation the area/volume of the image is the original area/volume multiplied by the determinant of the matrix of the linear transformation. Assume that you have a list of vectors giving the vertices: p1, . . . ,pn. The center of gravity is the average q=(p1+ . . . +pn)/n (vector algebra). 1. Translate the figure to the origin by subtracting the centroid from each pi. 2. Multiply each translated vertex by the number r. This is a similarity transformation with ratio r and it is linear with matrix r*Identity. So it multiplies area by r^2 in the 2D case and multiplies volume by r^3 in the 3D case. 3.Translate back by adding q to each rescaled coordinate. You now have rescaled the object without moving its center of gravity. This is the "fix" mentioned below. On Sunday, February 9, 2003, at 04:51 AM, Steve Gray wrote: > On Sat, 8 Feb 2003 09:46:12 +0000 (UTC), "John Ng" <johnn at sfu.ca> > wrote: > >> Hi, >> >> I wish to know how to increase an irregular polygon's area by, say, >> 10%. >> How would I go about doing that? For example, if I have a set of >> (x,y) >> coordinates and figured out an area from that and I get an area X, >> how would >> I increase the polygon's area by X + 10% ? In other words, if X = >> 100, I >> wish to know how to increase X to 110. >> >> The area of a polygon is defined as: a = 1/2 * >> ((x1+x2)(y1-y2)+(x2+x3)(y2-y3)+...+(xn+x1)(yn-y1)). Is this correct? >> >> Thanks for your help.. > > Gray: > Can't you just multiply all coordinates by Sqrt[1.1]? This > will move the polygon as well as enlarge it, but that could be fixed. > > > Garry Helzer Department of Mathematics University of Maryland 1303 Math Bldg College Park, MD 20742-4015