16
Prof. Leandro Taddeo Constructive Solid Geometry (CSG) Aula 10

Prof. Leandro Taddeo – Constructive Solid Geometry (CSG) Aula 10

Embed Size (px)

Citation preview

Page 1: Prof. Leandro Taddeo – Constructive Solid Geometry (CSG) Aula 10

Prof. Leandro Taddeo

– Constructive Solid Geometry (CSG)

Aula 10

Page 2: Prof. Leandro Taddeo – Constructive Solid Geometry (CSG) Aula 10

Constructive solid geometry (CSG) é uma técnica utilizada em modelagem de sólidos Geralmente utilizada em computação gráfica

3D CSG permite que o modelador crie objetos

complexos utilizando operadores booleanos para combinar objetos

Facilita a aplicação de operações matemáticas difíceis de serem executadas com malhas poligonais

IntroduçãoCSG

2

Page 3: Prof. Leandro Taddeo – Constructive Solid Geometry (CSG) Aula 10

Os objetos sólidos mais simples utilizados para representação são chamados de Primitivas Exemplos de primitivas: esfera, caixa,

cilindro, cone Objetos mais complexos podem ser

construídos a partir de primitivas através da aplicação de operadores booleanos Exemplos de operadores: união,

intersecção, diferença

Objetos e OperaçõesCSG

3

Page 4: Prof. Leandro Taddeo – Constructive Solid Geometry (CSG) Aula 10

A união deve ser utilizada quando se deseja combinar dois objetos em um só

É útil também quando se deseja: Aplicar a mesma textura aos dois objetos Transformar ambos os objetos com um só

comando

Operações – UniãoCSG

4

Page 5: Prof. Leandro Taddeo – Constructive Solid Geometry (CSG) Aula 10

Operações – UniãoCSG

5

sphere { <0,5,0> 4 texture { T_Glass1 // T_Wood34 } }

cylinder { <0,3,0> <0,0,0> 2 texture { T_Glass1 // T_Wood34 } }

sphere { <0,5,0> 4 texture { T_Glass1 // T_Wood34 } }

cylinder { <0,3,0> <0,0,0> 2 texture { T_Glass1 // T_Wood34 } }

union { sphere { <0,5,0> 4 }

cylinder { <0,3,0> <0,0,0> 2 } texture { T_Glass1 // T_Wood34 }}

union { sphere { <0,5,0> 4 }

cylinder { <0,3,0> <0,0,0> 2 } texture { T_Glass1 // T_Wood34 }}

Page 6: Prof. Leandro Taddeo – Constructive Solid Geometry (CSG) Aula 10

Operações – UniãoCSG

6

Exemplos sem união

Exemplos com união

Page 7: Prof. Leandro Taddeo – Constructive Solid Geometry (CSG) Aula 10

A operação de merge deve ser utilizada quando se deseja combinar dois objetos em um só, excluindo as partes dos objetos que ficaram internas

É útil para objetos transparentes Objetos opacos podem ser combinados

com a união, pois é uma operação mais rápida

Operações – MergeCSG

7

Page 8: Prof. Leandro Taddeo – Constructive Solid Geometry (CSG) Aula 10

Operações – MergeCSG

8

merge { sphere { <0,5,0> 4 }

cylinder { <0,3,0> <0,0,0> 2 } texture { T_Glass1 }}

merge { sphere { <0,5,0> 4 }

cylinder { <0,3,0> <0,0,0> 2 } texture { T_Glass1 }}

union

merge

Page 9: Prof. Leandro Taddeo – Constructive Solid Geometry (CSG) Aula 10

A operação de diferença deve ser utilizada quando se deseja remover partes de um objeto, cavando formas nele

O primeiro objeto é aquele de onde serão removidas as partes especificadas por outros objetos que vêm a seguir Qualquer parte do objeto original que esteja

dentro dos outros objetos é removida A cor da parte removida fica a mesma do

objeto que a removeu

Operações – DiferençaCSG

9

Page 10: Prof. Leandro Taddeo – Constructive Solid Geometry (CSG) Aula 10

Operações – DiferençaCSG

10

difference { sphere { <0,5,0> 4 texture { pigment {Red} } } cylinder { <1,6,-4> <-1,4,4> 1.5 texture { pigment {Blue} } } }

difference { sphere { <0,5,0> 4 texture { pigment {Red} } } cylinder { <1,6,-4> <-1,4,4> 1.5 texture { pigment {Blue} } } }

Page 11: Prof. Leandro Taddeo – Constructive Solid Geometry (CSG) Aula 10

Operações – DiferençaCSG

11

União Diferença

Page 12: Prof. Leandro Taddeo – Constructive Solid Geometry (CSG) Aula 10

A textura também pode ser aplicada na diferença

Operações – Diferença12

CSG

difference { sphere { <0,5,0> 4 } cylinder { <1,6,-4> <-1,4,4> 1.5 } texture { pigment {Red} }}

difference { sphere { <0,5,0> 4 } cylinder { <1,6,-4> <-1,4,4> 1.5 } texture { pigment {Red} }}

Page 13: Prof. Leandro Taddeo – Constructive Solid Geometry (CSG) Aula 10

A operação de intersecção captura todos os pontos que estão contidos em todos os objetos especificados

Diferentemente da diferença, a intersecção “joga fora” a partes do objeto que estão fora da intersecção com os objetos seguintes

Operações – Intersecção13

CSG

Page 14: Prof. Leandro Taddeo – Constructive Solid Geometry (CSG) Aula 10

Operações – Intersecção14

CSG

União

Diferença

Intersecção

Page 15: Prof. Leandro Taddeo – Constructive Solid Geometry (CSG) Aula 10

Operações – Intersecção15

CSG

intersection { box { <-5,0,0> <0,5,5> texture { pigment {Green} } } sphere { <0,5,0> 3 texture { pigment {Yellow} } } rotate 30*y }

intersection { box { <-5,0,0> <0,5,5> texture { pigment {Green} } } sphere { <0,5,0> 3 texture { pigment {Yellow} } } rotate 30*y }

Pode-se aplicar transformações geométricas diretamente do objeto resultante

Page 16: Prof. Leandro Taddeo – Constructive Solid Geometry (CSG) Aula 10

ExercícioCSG

16