. . . Ellipse . . . Points

Here comes a challenge of drawing an ellipse on a plane defined by 3 points and the ellipse should pass through 2 of the 3 points.  With the ellipse drawn, a quarter of the ellipse is made a sweep.

The Math

ELLIPSE-MATH

Point 1, point 2 and point 3 define a plane.  Locate point O as the center of the ellipse.  The ellipse is drawn through point 2 and point 3 or point 3 and point 1.

3 Points Adaptive Component

Create 3 points and make them adaptive points.  Join the points with reference lines.  Create reporting parameters L1, L2 and L3 for line 12, line 13 and line 23.  Create a surface from the reference lines.  Make the surface invisible.

ELLIPSE-TRIANGE

Create an angle parameter Ang.  Set a formula Ang = acos((L1 ^ 2 + L3 ^ 2 – L2 ^ 2) / (2 * L1 * L3))

Center of Ellipse

Now how to locate point O which has to be oriented the same as the surface?

If a point is hosted by reference line 12, it is not oriented the same as the surface.  If a point is hosted by the surface and moved to edge 12, it is oriented right.  However the point is displaced from reference line 12 as point 2 moves.

ELLIPSE-TRIANGE2

If a point is placed on the edge 12 of the surface, it is oriented the same as the surface and it always stays on the edge.  Say this is point P.  Now to locate another point O, set yz plane of point P as work plane, place a point (O) on  point P.  Offset point O by parameter OS.  Set a formula for OS = L3 cos (Ang).  Move point P to collide with point 2.

Now point O is located with line 3O being the altitude of the triangle. Set xy plane of point O as the work plane, draw an ellipse (reference line).  Parameterize the major and minor axes with A and B.

Set a formula for B = L3 sin (Ang).  As from the Math above, if Ang > 90°, A = L1 + |OS|.  Set a conditional statement for A = if(Ang > 90°, L1 + abs(OS), OS)

ELLIPSE-TRIANGE3

A Quarter of the Ellipse

Try to make a partial ellipse on the ellipse, place 2 points on the ellipse, join the 2 points with a spline.  However, it is a straight line.

PARTIAL-ELLIPSE1

Select the ellipse and create a void surface.  Place  2 points on the edge of the ellipse surface, join the 2 points with a spline.  The spline is now following the ellipse.

PARTIAL-ELLIPSE2

Sweep of the Spline

Place a point at the midpoint of the spline.  Set the plane of the point as work plane, draw a circle.  Parameterize the radius of the circle with R.  Create a sweep.

PARTIAL-ELLIPSE3

The sweep needs to form a quarter of the ellipse.  That means the endpoints of the spline need to be at Normalized Curved Parameter = 0 and 0.5 respectively (edge as half ellipse), making the sweep from point 2 to point 3.

PARTIAL-ELLIPSE4

However, as explained in the Math above, if Ang > 90°, the sweep should start from point 3 to point 1.  That means the endpoints of the spline need to be at Normalized Curved Parameter = 0.5 and 1 respectively.

Select the start point of the spline, set the Normalized Curved Parameter as “Sweep Start”.  Select the end point of the spline, set the Normalized Curved Parameter as “Sweep End”.  Put a formula for Sweep End = Sweep Start + 0.5.  Set a conditional statement for Sweep Start = if(Ang > 90°, 0.5, 0).

PARTIAL-ELLIPSE5

So how can this family be used?

 

 

 

Advertisements

3 responses to “. . . Ellipse . . . Points

  1. Pingback: Weekly Roundup – 2015.28 | The BIMsider·

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s