2
$\begingroup$

I apologize for the lengthy title. I have a poor education in math, and do not know correct terminology for many things (My most recent math class was something like algebra 2 in high school, 8 years ago.)

I recently created a Basic CAD Drawing program to help with the silly things like designing standardized letterhead / barcode margins at my current job. To do so I had to re-teach myself many aspects of linear algebra and geometry and it's been the most fun I've had in ages. I would like to take it a step further and learn to solve these linear equations relative to the constraints I set on them, similar to what is done in any modern AutoCAD like program. In the most basic example it might look like this (In this example, the circles around vertexes would represent an anchored point constraint.)

After I add additional constraint types (like these shown in Autodesk AutoCAD) I assume things get exponentially more complex.

Is this all just geometry and linear algebra applied in complex ways? Or is there a name for the type of thing that might point me in the correct directions. (i.e. Do I need to start reading a random book on inverse kinematics?)

$\endgroup$
  • $\begingroup$ This will probably boil down to finding solutions to systems of equations, where the variables are the coordinates of the vertices. If the equations are linear, they can be solved with linear algebra, but in general they will typically be nonlinear, and you may have to apply a numerical algorithm like Newton's method. $\endgroup$ – Rahul Apr 17 '18 at 13:30
  • $\begingroup$ It's geometry, algebra, and linear algebra. There might be a little calculus in there, depending on how sophisticated the tangent lines get. $\endgroup$ – Adrian Keister Apr 17 '18 at 13:35
  • $\begingroup$ You could check out Ivan Sutherland's classic Sketchpad demo (from 1963!) and then read Chapter 8 of his thesis to see how the constraint satisfaction algorithm works. $\endgroup$ – Rahul Apr 17 '18 at 13:38
  • $\begingroup$ Rahul, Adrian: Thank you both! Those are great starting points for me. $\endgroup$ – Daniel Kelley Apr 17 '18 at 13:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.