libpg: Parametric and Constraint library

GSOC 2008 accepted proposal under BRL-CAD

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[0] 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 )

Plot of Difference between Old BRL-CAD Solver an GSLPlot of difference between New Solver and GSL


~ by justanotherguy on May 31, 2008.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: