libpg: Parametric and Constraint library
Mentored by John Anderson, I would be working on implementation of parametric and constraint functionality in BR-CAD system. The develoer document for the same is available at
I intend this blog mainly to be a log of my GSoC work. I would also be writing about Parametrics and Constraints in general as well as other computer aided design applications particularly from the computation point of view.
The coding phase started on May 26th
I had earlier submitted a patch for implementing a new convention for representation of polynomials. It is basically the inversion of order of coefficients so that the first element in the array of coefficients correspond to the zeroth exponent and so on. ( cf is the coefficient of x^0 ) I updated the same transfering most of the code from roots.c inside librt to poly.c inside libbn. I also modified all the bn_poly_* functions which assumes a particular order of coefficients so as to reflect the new convention.
For testing the same I used Gnu Science Library Polynomial Sovling as a baseline and compared the results. The difference between the two results are compared and plotted using a gnuplot. The patch as well as bash script is available at Patch 1947026. Two plots showing the difference between GSL and BRL-CAD solver ( different cases)
Work scheduled for this weekend are
1. DBIO : Database input output code using librt
2. Equation Storage: Storage mechanism for the parametric or constraint equations ( Version 0.1)
3. Class definitions for all the main objects involved ( Parameter, Constraint, ConstraintNetwork )