in general, cells A,B tend to be on the long arc of the ellipsis while C,D are on the short arc.

Usually, these are 90 degrees apart for best results (if points close together, then to satisfy ellipsis, it become real big)

You can also do this parametrically as well

user.angle for where you want the points on the arc

user.major for major axis for length of major axis

user.minor for minor axis for length of fminor axis

x = width*0 // otherswise have to add width terms into a and c to offset the point for from x and y non zero

y = height*0 // same for b and d

a = user.major*cos(user.angle)*0.5 //0.5 since its from center to ellipsis edge

b = user.major*sin(user.angle)*0.5

c = user.minor*cos(user.angle + 90 deg)*0.5

d= user.minor*sin(user.angle + 90 deg)* 0.5

Elliptical arcs have a real complexity factor

A, B are very similar to ellipsis A,B....midploint on the arc

so have start angle, end angle of the arc....best to find the middle....start = 0 deg end = 120 deg....so middle is 60 deg

C takes care of rotation

D is the tough on...strictly speaking its the eccentricity of the elliptical arc...practically, use user.minor/user.major

Tricks

- for isometric, height or minor axis = width or major axis * 0.5771 // tan of 30 deg

- isometric for elliptical arc ==> D = sqrt(3)

- if you plan to draw a shape right up against these

- use elliptical arcs....2 to form ellipsis if need be

- on the other shape, add elliptical arc and use the loctoloc construct to reference elliptica arc to other shape.

e,g, something like loctoloc(pnt(<e arc.a, e arc.b>), <width of e arc>, <width of other shape>)

otherwise, if the width and height of other shape != elliptical arc shape, they wont match up

Not a lot of doc out there...so should play around with this approach to better understand behavior