Primitives i Materials I.

Tutorial de VRML97

Primitives

En VRML hi ha tota una sèrie d'objectes predefinits que formen el conjunt de primitives de geometria. Aquestes primitives són:

Cada una d'aquestes primitives és un node.

El node Shape

Per tal de poder visualitzar aquestes primitives, s'ha d'utilitzar el node Shape. Aquest node té dos fields: geometry i appearance. El segon el veurem en l'apartat següent (Materials I).

El field geometry és on s'especifica la geometria d'algun objecte 3D. Es a través d'aquest field que s'especifiquen les primitives. A continuació es mostra com definir cada una de les primitives existents:

Box:

Shape {
	geometry Box { size 4 3 5 }
}

Aquí definim una caixa de 4 unitats d'aplada, 3 unitats d'alçada i 5 unitats de fons (size 4 3 5). Si volguessim definir un cub perfecte de 10 unitats per banda, posariem les tres xifres iguals a 10 (size 10 10 10).

(NOTA: En visualitzar l'exemple, veiem una massa de color gris uniforme degut a que no hem definit material per a l'objecte. Això ho veurem en l'apartat següent).

L'objecte queda definit de manera que el seu centre coincideix amb l'origen de coordenades locals, i que en aquest cas, com que no s'hi han aplicat transformacions, estarà centrat també en l'origen de coordenades globals o de món.

Sphere:

Shape {
	geometry Sphere { radius 5 }
}

Aquí definim una esfera de 5 unitats de radi (radius 5). També queda centrada en l'origen de coordenades.

Cone:

Shape {
	geometry Cone { 
		bottomRadius 3
		height 2
	}
}

Aquí definim un con amb una base de 3 unitats de radi (bottomRadius 3) i una alçada de 2 unitats (height 2). També queda centrat en l'origen de coordenades.

Cylinder:

Shape {
	geometry Cylinder { 
		radius 4
		height 5
	}
}

Aquí definim un cilindre amb una base de 4 unitats de radi (radius 4) i una alçada de 5 unitats (height 5). També queda centrat en l'origen de coordenades.

Materials I

Per tal de definir una aparença a les nostres primitives (i en general als objectes), cal definir un color o una textura. En aquest apartat, tan sols veurem com definir un color i en un mòdul posterior veurem com es defineix de manera completa un material amb textures.

Així doncs, tal i com hem vist a dalt, el node Shape disposa d'un field enomenat appearance on definirem les característiques del material de l'objecte. I per fer-ho, utilitzarem el node Appearance de VRML.

Aquest node té diversos fields, però ara ens concetrarem en el seu field material. Per a definir aquest field, cal utilitzar el node Material. Aquí també només ens concentrarem en un field d'aquest node: field diffuseColor que fa referència al color que reflecteix l'objecte, és a dir, el color de l'objecte.

Tal i com hem vist en el mòdul "Eixos i Unitats", els colors a VRML es defineixen en RGB (Red-Green-Blue o Vermell-Verd-Blau). Els valors de R, G i B han de ser dins del rang [0,1]. Vejam un exemple:

Exemple1: Volem definir la caixa d'abans, de color vermell (RGB = [1,0,0]).


Shape {
	geometry Box { size 4 3 5 }
	appearance Appearance {
		material Material {
			diffuseColor 1 0 0
		}
	}
}

Com es pot apreciar, ara la caixa que abans no es distingia correctament pel fet de no tenir aparença assignada, ara es veu clarament i del color vermell que hem definit.

Un altre exemple seria el següent:

Exemple2: Volem definir el cilindre d'abans, de color cian (blau clar) (RGB = [0,1,1]).


Shape {
	geometry Cylinder { 
		radius 4
		height 5
	}
	appearance Appearance {
		material Material {
			diffuseColor 0 1 1
		}
	}
}




< Anterior | Menú ^ | Següent >