Constructive Solid Geometry CSG - Gunadarma...

24
Komputer Grafik 2 (AK045206) Constructive Solid Geometry CSG CSG (Geometri Padat Konstruktif) Constructive Solid Geometry-CSG 1/24

Transcript of Constructive Solid Geometry CSG - Gunadarma...

Page 1: Constructive Solid Geometry CSG - Gunadarma …karmila.staff.gunadarma.ac.id/Downloads/files/38472/CSG.pdf• Planes Constructive Solid Geometry-CSG 4/24 Komputer Grafik 2 (AK045206)

Komputer Grafik 2 (AK045206)

Constructive Solid Geometry CSGCSG

(Geometri Padat Konstruktif)

Constructive Solid Geometry-CSG 1/24

Page 2: Constructive Solid Geometry CSG - Gunadarma …karmila.staff.gunadarma.ac.id/Downloads/files/38472/CSG.pdf• Planes Constructive Solid Geometry-CSG 4/24 Komputer Grafik 2 (AK045206)

Komputer Grafik 2 (AK045206)

Outline

• Pengertian Constructive Solid gGeometry-CSG (Geometri Padat Konstuktif)

B t k t d CSG• Bentuk standar CSG

• Operasi Boolean untuk CSG

• Ekpresi/pernyataan untuk CSGEkpresi/pernyataan untuk CSG

• Transformasi skala, translasi dan rotasi untuk CSG

Constructive Solid Geometry-CSG 2/24

Page 3: Constructive Solid Geometry CSG - Gunadarma …karmila.staff.gunadarma.ac.id/Downloads/files/38472/CSG.pdf• Planes Constructive Solid Geometry-CSG 4/24 Komputer Grafik 2 (AK045206)

Komputer Grafik 2 (AK045206)

Object RepresentationObject Representation

• Real and virtual objects can be represented by :represented by :– Solid models such as spheres, cylinders and

cones– Surface models such as triangels, quads and

polygons

• Surface models can be rendered either by– Object-order rendering

I d d i (i t i )– Image-order rendering (i.e. ray tracing)

• Solid models can only be rendered by ray tracing

• Solid models are commonly used to describe man-made shapes– Computer aided design

C t i t d f t i

Constructive Solid Geometry-CSG 3/24

– Computer assisted manufacturing

Page 4: Constructive Solid Geometry CSG - Gunadarma …karmila.staff.gunadarma.ac.id/Downloads/files/38472/CSG.pdf• Planes Constructive Solid Geometry-CSG 4/24 Komputer Grafik 2 (AK045206)

Komputer Grafik 2 (AK045206)

Constructive Solid GeometryConstructive Solid Geometry (CSG)

• Constructive solid models can consists of primitive shapes such as

• Sphere

• Cylinder

• ConeCone

• Pyramid

• Cube

• Box

• Constructive solid models cannot consist of half spaces such as

• Points

• LinesLines

• Planes

Constructive Solid Geometry-CSG 4/24

Page 5: Constructive Solid Geometry CSG - Gunadarma …karmila.staff.gunadarma.ac.id/Downloads/files/38472/CSG.pdf• Planes Constructive Solid Geometry-CSG 4/24 Komputer Grafik 2 (AK045206)

Komputer Grafik 2 (AK045206)

CSG B l O tiCSG - Boolean Operation

• CSG combines solid objects by using three (four) different boolean operations

• Intersection ( ∩ )

• Union ( + )

• Minus ( - )Minus ( )

• (complement)

• In theory the minus operation can be replaced by a complement and intersection operation

I ti th i ti i ft• In practice the minus operation is often more intuitive as it corresponds to removing a solid volume

Constructive Solid Geometry-CSG 5/24

Page 6: Constructive Solid Geometry CSG - Gunadarma …karmila.staff.gunadarma.ac.id/Downloads/files/38472/CSG.pdf• Planes Constructive Solid Geometry-CSG 4/24 Komputer Grafik 2 (AK045206)

Komputer Grafik 2 (AK045206)

CSG CombineCSG Combine

CSG - Union

CSG - Intersection

CSG - Minus

Constructive Solid Geometry-CSG 6/24

Page 7: Constructive Solid Geometry CSG - Gunadarma …karmila.staff.gunadarma.ac.id/Downloads/files/38472/CSG.pdf• Planes Constructive Solid Geometry-CSG 4/24 Komputer Grafik 2 (AK045206)

Komputer Grafik 2 (AK045206)

CSG TreeCSG - Tree

Constructive Solid Geometry-CSG 7/24

Page 8: Constructive Solid Geometry CSG - Gunadarma …karmila.staff.gunadarma.ac.id/Downloads/files/38472/CSG.pdf• Planes Constructive Solid Geometry-CSG 4/24 Komputer Grafik 2 (AK045206)

Komputer Grafik 2 (AK045206)

CSG TreeCSG - Tree

Constructive Solid Geometry-CSG 8/24

Page 9: Constructive Solid Geometry CSG - Gunadarma …karmila.staff.gunadarma.ac.id/Downloads/files/38472/CSG.pdf• Planes Constructive Solid Geometry-CSG 4/24 Komputer Grafik 2 (AK045206)

Komputer Grafik 2 (AK045206)

CSG TreeCSG - Tree

Constructive Solid Geometry-CSG 9/24

Page 10: Constructive Solid Geometry CSG - Gunadarma …karmila.staff.gunadarma.ac.id/Downloads/files/38472/CSG.pdf• Planes Constructive Solid Geometry-CSG 4/24 Komputer Grafik 2 (AK045206)

Komputer Grafik 2 (AK045206)

CSG Operations

• CSG operations are not commutative

CSG - Operations

• CSG operations are not unique

Constructive Solid Geometry-CSG 10/24

Page 11: Constructive Solid Geometry CSG - Gunadarma …karmila.staff.gunadarma.ac.id/Downloads/files/38472/CSG.pdf• Planes Constructive Solid Geometry-CSG 4/24 Komputer Grafik 2 (AK045206)

Komputer Grafik 2 (AK045206)

CSG Tree ProblemsCSG Tree Problems

Constructive Solid Geometry-CSG 11/24

Page 12: Constructive Solid Geometry CSG - Gunadarma …karmila.staff.gunadarma.ac.id/Downloads/files/38472/CSG.pdf• Planes Constructive Solid Geometry-CSG 4/24 Komputer Grafik 2 (AK045206)

Komputer Grafik 2 (AK045206)

CSG – Interior Exterior ClosureCSG – Interior, Exterior, Closure

• a point p is an interior point of a solid s if there exists a radius r such that the open ball with center p and radius r isradius r such that the open ball with center p and radius r is contained in the solid s. The set of all interior points of solid s is the interior of s, written as int(s). Based on this definition, the interior of an open ball is the open ball itself.

i t i t i i t f lid if th i t• a point q is an exterior point of a solid s if there exists a radius r such that the open ball with center q and radius r is not contained in s. The set of all exterior points of solid s is the exterior of solid s, written as ext(s).

• all points that are not in the interior nor in the exterior of a solid s are the boundary of solid s. The boundary of s is written as b(s). Therefore, the union of interior, exterior and boundary of a solid is the whole space.

• the closure of a solid s is defined to be the union of s'sinterior and boundary, written as closure(s). Or, equivalently,

the closure of solid s is all points thatare not in the exterior of s.

Constructive Solid Geometry-CSG 12/24

Page 13: Constructive Solid Geometry CSG - Gunadarma …karmila.staff.gunadarma.ac.id/Downloads/files/38472/CSG.pdf• Planes Constructive Solid Geometry-CSG 4/24 Komputer Grafik 2 (AK045206)

Komputer Grafik 2 (AK045206)

CSG Interior Exterior ClosureCSG – Interior, Exterior, Closure

• Definition of an open ball

Constructive Solid Geometry-CSG 13/24

Page 14: Constructive Solid Geometry CSG - Gunadarma …karmila.staff.gunadarma.ac.id/Downloads/files/38472/CSG.pdf• Planes Constructive Solid Geometry-CSG 4/24 Komputer Grafik 2 (AK045206)

Komputer Grafik 2 (AK045206)

CSG Interior Exterior Closure

• Consider a sphere:

CSG – Interior, Exterior, Closure

• The interior of a sphere is

• The closure of a sphere is

• The exterior of a sphere is

• A solid is a three-dimensional object– The interior of a solid is a three-dimensional

objectobject

– The boundary of a solid is a two-dimensional surface

Constructive Solid Geometry-CSG 14/24

Page 15: Constructive Solid Geometry CSG - Gunadarma …karmila.staff.gunadarma.ac.id/Downloads/files/38472/CSG.pdf• Planes Constructive Solid Geometry-CSG 4/24 Komputer Grafik 2 (AK045206)

Komputer Grafik 2 (AK045206)

CSG Interior Exterior Closure

• To eliminate these lower dimensional

CSG – Interior, Exterior, Closure

branches, the three set operations are regularized:– Compute the result as usual and lower

dimensional components may be generated.p y g

– Compute the interior of the result. This step would remove all lower dimensional components. The result is a solid without its boundary.

– Compute the closure of the result obtained in the above step. This would add the boundary back.

Constructive Solid Geometry-CSG 15/24

Page 16: Constructive Solid Geometry CSG - Gunadarma …karmila.staff.gunadarma.ac.id/Downloads/files/38472/CSG.pdf• Planes Constructive Solid Geometry-CSG 4/24 Komputer Grafik 2 (AK045206)

Komputer Grafik 2 (AK045206)

CSG Interior Exterior Closure

• Let +, ∩ and – be the regularized set

CSG – Interior, Exterior, Closure

union, intersection and difference operators. Let A and B be two solids. Then, A + B, A ∩ B and A – B can bedefined mathematically based on thebedefined mathematically based on the abovedescription:– A + B = closure(int(the set union of A and B)

– A ∩ B = closure(int(the set intersection of A and B)

A B = closure(int(the set difference of A and B)– A – B = closure(int(the set difference of A and B)

Constructive Solid Geometry-CSG 16/24

Page 17: Constructive Solid Geometry CSG - Gunadarma …karmila.staff.gunadarma.ac.id/Downloads/files/38472/CSG.pdf• Planes Constructive Solid Geometry-CSG 4/24 Komputer Grafik 2 (AK045206)

Komputer Grafik 2 (AK045206)

R T i CSG TRay Tracing CSG Trees

• CSG trees must be rendered by ray tracing

• CSG trees must be traversed in a depth first manner– traversal starts at the leaf nodes

– traversal of each node yields a list of line segments of the ray that pass through the solid objecty p g j

– list of lines segments is passed to parent node and processed accordingly

• Each list of line segments (or spans) may be characterized by the alpha values representing thecharacterized by the alpha values representing the intersection points of the corresponding ray equation:

• Each list of line segments will either contain– an odd number of intersection points (the viewpoint isan odd number of intersection points (the viewpoint is

inside the solid object)

– an even number of intersection points (the viewpoint is outside the solid object)

– an empty list of intersection points

Constructive Solid Geometry-CSG 17/24

Page 18: Constructive Solid Geometry CSG - Gunadarma …karmila.staff.gunadarma.ac.id/Downloads/files/38472/CSG.pdf• Planes Constructive Solid Geometry-CSG 4/24 Komputer Grafik 2 (AK045206)

Komputer Grafik 2 (AK045206)

R T i CSG TRay Tracing CSG Trees

Constructive Solid Geometry-CSG 18/24

Page 19: Constructive Solid Geometry CSG - Gunadarma …karmila.staff.gunadarma.ac.id/Downloads/files/38472/CSG.pdf• Planes Constructive Solid Geometry-CSG 4/24 Komputer Grafik 2 (AK045206)

Komputer Grafik 2 (AK045206)

R T i CSG T

• Ray Tracing CSG Tree : Union

Ray Tracing CSG Trees

• Ray Tracing CSG Tree : Intersection

• Ray Tracing CSG Tree : Minus

Constructive Solid Geometry-CSG 19/24

Page 20: Constructive Solid Geometry CSG - Gunadarma …karmila.staff.gunadarma.ac.id/Downloads/files/38472/CSG.pdf• Planes Constructive Solid Geometry-CSG 4/24 Komputer Grafik 2 (AK045206)

Komputer Grafik 2 (AK045206)

R T i CSG T

• CSG trees can be pruned during ray tracing:if the left or right subtree of an intersection

Ray Tracing CSG Trees

– if the left or right subtree of an intersection operation returns an empty list, then the other subtreed need not be processed.

– if the left subtree of a minus operation returns an empty list, then the right subtree need not be processedprocessed.

• CSG trees can use bounding boxes/spheres to speed up rendering:– each primitive that does not belong the currently p g y

processed bounding volume may be represented by an empty intersection list

Constructive Solid Geometry-CSG 20/24

Page 21: Constructive Solid Geometry CSG - Gunadarma …karmila.staff.gunadarma.ac.id/Downloads/files/38472/CSG.pdf• Planes Constructive Solid Geometry-CSG 4/24 Komputer Grafik 2 (AK045206)

Komputer Grafik 2 (AK045206)

Extending CSG TreeExtending CSG Tree

• Adding transformations as primitive operations:– scaling

– rotation

– translationtranslation

Constructive Solid Geometry-CSG 21/24

Page 22: Constructive Solid Geometry CSG - Gunadarma …karmila.staff.gunadarma.ac.id/Downloads/files/38472/CSG.pdf• Planes Constructive Solid Geometry-CSG 4/24 Komputer Grafik 2 (AK045206)

Komputer Grafik 2 (AK045206)

Calculating properties ofCalculating properties of CSG Trees

• Ray tracing can be used to approximate the physical properties of objects including– volume

– mass

• by firing a set of parallel rays from a firing planeg p

Constructive Solid Geometry-CSG 22/24

Page 23: Constructive Solid Geometry CSG - Gunadarma …karmila.staff.gunadarma.ac.id/Downloads/files/38472/CSG.pdf• Planes Constructive Solid Geometry-CSG 4/24 Komputer Grafik 2 (AK045206)

Komputer Grafik 2 (AK045206)

Calculating properties of

• Volume:

Calculating properties of CSG Trees

where

- Aij is the area in the firing plane• is the distance between two intersection points• is the distance between two intersection points along the firing ray

• Mass:Mass:

Constructive Solid Geometry-CSG 23/24

Page 24: Constructive Solid Geometry CSG - Gunadarma …karmila.staff.gunadarma.ac.id/Downloads/files/38472/CSG.pdf• Planes Constructive Solid Geometry-CSG 4/24 Komputer Grafik 2 (AK045206)

Komputer Grafik 2 (AK045206)

R f iReferensi

• F.S.Hill, Jr., COMPUTER GRAPHICS –Using Open GL, Second Edition, Prentice Hall, 2001

• _____________, Interactive Computer Graphic Slide Presentation (folder :Graphic, Slide-Presentation, (folder : Lect_IC_AC_UK)

• http://www.cl.cam.ac.uk/Teaching/1998/AGraphics/l3a.htmlp

Constructive Solid Geometry-CSG 24/24