While my brain rests from the maths and hopefully while someones brain manages to get a nice ellipse to circle tangent error function...
I am thinking about the implementation of the constraints of the ellipse. Following the deep silence of user input regarding this, I am tasked to make an uninformed decision (aka a Dilbert's CEO decision). I am heading in the following direction to avoid having ellipse-specific constraints (that is something I think we agreed not to have, as much as possible). For that, I am heading in the direction of providing to the user means for using a construction line as major axis.
We have seen in this thread before that trying to set a line as major axis is... involved...requiring:
1. One point on ellipse constraints on each end of the line (two constraints); plus
2. One point on line constraint (the ellipse center on the line); plus
3. A tweak usually one specific constraint
This is a no go for two reasons:
1. Specific constraint
2. Even if we could avoid that specific constrain by some artifact line another construction line tangent to the ellipse and perpendicular to the major axis construction line and...I am not even sure this works... even in that case, lack of stability as Jim indicated in his latest post and unacceptable long processing times.
As a consequence I am considering four paths:
1. Ellipse specific constraints (radiuses and phi, as in today's branch).
2. One ellipse specific constraint (phi) and radiuses as construction lines (likely to take time to converge).
3. No ellipse specific constraints, but an existing constraint that would do something unexpected when applied to an ellipse.
4. No ellipse specific constraints, but a new constraint, general, let's call it "Align construction element(s) to element's internal geometry"
Because we all understand 1 and 2, lets talk about 3 and 4.
Option 3: Examples
A) One of the constraints that one would not to expect to be applicable to an ellipse, is applicable and does something unexpected.
=> Parallel fits one construction element to the major axis (makes it same direction, through center point and coincident with the ellipse at +a and -a positions).
=> Perpendicular fits one construction element to minor axis as above
=> Coincident fits two construction points to the foci positions.
I do not like this. I put it here because it has been talked about.
Option 4:
B) A new constraint, of general use, currently only available for the ellipse, but extendable to any other elements that would need it. What it does on the ellipse, depends on the amount of elements selected when being applied to the ellipse:
B.1) ellipse and line selected => Fits the line to the major axis.
B.2) ellipse and two lines selected => Fits one line to the major axis and the second one to the minor axis.
B.3) ellipse and two construction points => Fits two points to the foci positions.
B.4) ellipse and two lines and two construction points => B.2)+B.3)
With any of Options 3 and 4, we would still need to look into how the ellipse performs when using construction elements (I am confident it will work, eventually,...)
Please, let me know what you think about this, because I want to make a decision (and would not like it to be Dilbert's CEO type
).