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/Centroid
- http://mathworld.wolfram.com/
- include/raytrace.h: See ft_centroid callback defined in the rt_functab structure
Code:
- src/librt/primitives/superell/superell.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 its centroid (as a point_t 3D point). There are numerous examples in our code where we compute centroids for other primtiives. 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.
File name/URL | File size | Date submitted | |
---|---|---|---|
superell_centroid.patch | 1.1 KB | November 26 2013 02:50 UTC | |
superell_centroid_rev1.patch | 1.1 KB | November 26 2013 15:24 UTC |
I would like to work on this task.
This task has been assigned to Andrew. You have 72 hours to complete this task, good luck!
The work on this task is ready to be reviewed.
One of the mentors has sent this task back for more work. Talk to the mentor(s) assigned to this task to satisfy the requirements needed to complete this task, submit your work again and mark the task as complete once you re-submit your work.
The work on this task is ready to be reviewed.
Congratulations, this task has been completed successfully.