Implement a surface area function for elliptical hyperboloids (EHY)BRL-CAD
Status: ClosedTime to complete: 72 hrs Mentors: SeanTags:

BRL-CAD provides more than two dozen types of geometry ''primitives'' such as ellipsoids, boxes, and cones. Every primitive is described by a collection of callback functions, for example rt_ell_bbox() returns the bounding box dimensions for an ellipsoid. Wikipedia, Wolfram Mathworld, and various other math sites (and research papers) around the web include the equations for most of our basic primitives while others are a little more tricky to compute.

References:

  • http://en.wikipedia.org/wiki/Surface_area
  • http://mathworld.wolfram.com/
  • http://www.dtic.mil/cgi-bin/GetTRDoc?AD=AD0274936
  • include/raytrace.h: See ft_surf_area callback defined in the rt_functab structure

Code:

  • src/librt/primitives/ehy/ehy.c (implement your function here)
  • src/librt/primitives/table.c (add a reference to your function here)

This task involves writing a new callback function that takes an rt_db_internal object and calculates the surface area (units are mm^2). There are numerous examples in our code where we compute surface area for other primitives. Submit a patch file the may be applied cleanly.

If you succeed, a follow-on task may be created to enable and validate your function.

Uploaded Work
File name/URLFile sizeDate submitted
ehy_surf_area.patch1.4 KBNovember 24 2013 21:28 UTC
Comments
Johannes Schulteon November 24 2013 20:45 UTCTask Claimed

I would like to work on this task.

Mandeep Kaur on November 24 2013 20:58 UTCTask Assigned

This task has been assigned to Johannes Schulte. You have 72 hours to complete this task, good luck!

Johannes Schulteon November 24 2013 21:28 UTCReady for review

The work on this task is ready to be reviewed.

Sean on November 25 2013 04:49 UTCunverified

We've not yet verified that formula, but your code looks a reasonable codification on (really) quick glance.  Hopefully progress!  We'll need some exact test cases to verify and validate this regardless (separate GCI tasks).


 

Sean on November 25 2013 04:50 UTCTask Closed

Congratulations, this task has been completed successfully.

Sean on November 25 2013 04:53 UTCpatch applied

That's two for two, patch applied in r58646.