Ellipse collection

The EllipseCollection.zip file contains six GHPY components to create ellipses from different combinations of points and tangents. The components are automatically installed when you save them to the folder: "C:\Users\ ... \AppData\Roaming\Grasshopper\Libraries". The data input are 3D points (A1, A2, A3, B1, B2...) that define points and tangents of any allipse (see figure), and the output are the next five points: the center of the ellipse (O), the two vertices of the major axis (X1, X2) and the two vertices of the minor axis (Y1, Y2). A GH example is also provided. Let me know if it works or not (pau.natividad@upct.es). Enjoy it!

Ellipse50.ghpy. Creates an ellipse from 5 points and 0 tangents. The points on the ellipse are A1, B1, C1, D1, E1.
Ellipse41.ghpy. Creates an ellipse from 4 points and 1 tangent. A1, B1, C1, D1 are points on the ellipse. D2 is a point on the tangent to the ellipse in D1. Therefore, the tangent is defined by D1, D2.
Ellipse32.ghpy. Creates an ellipse from 3 points and 2 tangents. A1, B1, C1 are the points on the ellipse and B2, C2 are the points on the tangents in B1, C1 respectively.
Ellipse23.ghpy. Creates an ellipse from 2 points and 3 tangents. B1, C1 are points on the ellipse. A2, A3, B2, C2 are not on the ellipse, but they define three tangents. In particular, A2, A3 define a tangent with a unknown point of tangency.
Ellipse14.ghpy. Creates an ellipse from 1 points and 4 tangents. D1 is a point on the ellipse. A2, A3, B2, B3, C2, C3, D2 are points on four tangents. There are three tangents, defined by A2, A3 and B2, B3 and C2, C3 that have unknown points of tangency.
Ellipse05.ghpy. Creates an ellipse from 0 points and 5 tangents. In this case, A2, A3, B2, B3, C2, C3, D2, D3, E2, E3 define five tangents. No points on ellipse are known.