4 ms·
After following the course, you should be able to grok the solver code in /src/system.cpp. That looks fairly standard. The interesting part (to me, as that is
by jpfr 5y ago
After following the course, you should be able to grok the solver code in /src/system.cpp. That looks fairly standard.
The interesting part (to me, as that is not my specialty) lies in the translation of the 3D constraints (including rotation, etc.) into a single objective function for solving Newton-style.
- phkahler 5y ago>> The interesting part (to me, as that is not my specialty) lies in the translation of the 3D constraints (including rotation, etc.) into a single objective function for solving Newton-style. That's funny - I like the geometry stuff and have a good grasp of how to create useful constraint equations. I just don't know too much about the code for solving systems of those equations ;-)
- gugagore 5y agoThere are probably many ways to formulate the same geometric constraint. For example, what parameterization of rotations do you use? I think the choice has implications for how easy it is to solve the equations.
- phkahler 5y ago>> For example, what parameterization of rotations do you use? For orientation we use quaternions. For other things it's an axis-angle representation. For the equal angle constraint I'm not sure how that's implemented. There was a recent addition of length-ratio between lines and arcs. That implementation was surprising to me.