Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Constructive solid geometry
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Workings== The simplest solid objects used for the representation are called ''[[geometric primitive]]s''. Typically they are the objects of simple shape: [[cuboid]]s, [[cylinder (geometry)|cylinder]]s, [[Prism (geometry)|prism]]s, [[Pyramid (geometry)|pyramids]], [[sphere]]s, [[cone (geometry)|cone]]s.<ref name="foley"/> The set of allowable primitives is limited by each software package. Some software packages allow CSG on curved objects while other packages do not. An object is ''constructed'' from primitives by means of allowable ''operations'', which are typically [[Boolean algebra|Boolean]] [[operation (mathematics)|operations]] on [[set theory|sets]]: [[union (set theory)|union]] (OR), [[intersection (set theory)|intersection]] (AND) and [[complement (set theory)|difference]] (NOT), as well as [[geometric transformation]]s of those sets.<ref name="foley"/> A primitive can typically be described by a [[Algorithm|procedure]] which accepts some number of [[parameter]]s; for example, a sphere may be described by the coordinates of its center point, along with a radius value. These primitives can be combined into compound objects using operations like these: <gallery> File:Boolean union.PNG|'''Union'''<br />Merger of two objects into one File:Boolean difference.PNG|'''Difference'''<br />Subtraction of one object from another File:Boolean intersect.PNG|'''Intersection'''<br />Portion common to both objects </gallery> Combining these elementary operations, it is possible to build up objects with high complexity starting from simple ones. ===Ray tracing=== Rendering of constructive solid geometry is particularly simple when [[Ray tracing (graphics)|ray tracing]]. Ray tracers intersect a ray with both primitives that are being operated on, apply the operator to the intersection intervals along the 1D ray, and then take the point closest to the camera along the ray as being the result.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)