I have merged the test branch above into:
You can use either of them (they are exactly the same at this moment).
I have reworked a little DeepSOIC tangent equation, meaning basically simplifying and adopting back the linear form (as opposed to squared). This gives me overall better convergency and the Jacobian matrix welcomes the change. This is here:
https://github.com/abdullahtahiriyo/Fre ... master.git
* [new branch] sketcher_ellipse_tangentconvergenceimprovement
If you can test, you might want to compare the behaviour of the tangent constraint of the two branches. Just let me know your impressions... if you see something not working please post the sketch file.
So a new class of solver-element is be needed: internal not shown solver points. It has the advantage, that already existing constraints can be reused for another constraint.
That would be a challenge
But I also see that invisible parameters for the solver might slow down convergence when big changes to the sketch are made (dragging). Also there is no means to convey a value "at the definition of the constraint by the user" to the constraint, other than the datum value. This might imply tons of modifications... I might rather accept the intermediate point approach then...
If this is not acceptable, the error equations with the error set to zero have to be solved symbolically
Last time I tried this approach, I got very very very long partials (I refrain from writting again which size of code
). But maybe now that I am starting to know a little bit better sage I can manage to simplify them...
What is important: The tangent constraint should no freeze the sketch, in order to test for missing constraints. Smooth movement over large ranges may not necessary.
Thanks for this definition. Then the new implementation of tangent might comply with it (I did little testing)...
Here is a simulation sketch for the circle-ellipse-tangent-constraint
Your simulations get more interesting by the hour...
Ain't no challenge big enough,
Ain't no simulation tricky enough...