Montre 3d povray

Contenu du snippet

salut, vous aurez de la doc sur povray à cette adresse : http://povray.free.fr/
c'est un logiciel de 3d gratuit, je ne fais que peu de graphismes, mais ce logiciel est vraiment surprennant : c'est l'un des seul logiciel de graphisme qui propose d'écrire un vrai code source qu'il "compilera" pour donner une image (compiler est ici un vrai abus de langage)

Source / Exemple :


#declare xcam=6;
#declare ycam=2;
#declare zcam=6;

camera{
	perspective
	location <xcam, ycam, zcam>
	look_at  <0, -2.5,0>
}
#declare convrad=pi/180;
light_source{<xcam,  ycam, zcam>, rgb <0.7, 0.7, 0.7>}

#declare texture_montre=texture{
	pigment{
		color rgb <0.5,0.5,0.5>
	}
	finish{
		ambient rgbft <0.5, 0.5, 0.5, 0.15, 0.9>
		diffuse .5
		specular 0.9
		roughness 1
		phong 4
	}
}
#declare texture_montre_verre=texture{
	pigment{
		color rgbft <0.9,0.9,0.9, 0, 1>
	}
	finish{
		ambient rgbft <0.9, 0.9, 0.9, 0, 1>
		diffuse 0
		specular 0
		roughness 1
		phong 4
	}

}
#declare texture_montre_blanc=texture{
	pigment{
		color rgb <0.6,0.6,0.6>
	}
	finish{
		ambient rgbft <0.7, 0.7, 0.7, 0.15, 0.9>
		diffuse 0.3
		specular 0.8
		roughness 1
		phong 1
	}
}
#declare texture_montre_dore=texture{
	pigment{
		color rgb <0.4,0.4,0.2>
	}
	finish{
		ambient rgbft <0.5, 0.5, 0.2, 0.15, 0.9>
		diffuse 0.5
		specular 0.9
		roughness 1
		phong 1
	}
}
cylinder{
	<0,0,0>
	<0,0.5,0>,3
	texture{texture_montre_blanc}
}
torus{
	3, 0.3
	texture{texture_montre}
	translate<0,0.25,0>
}
torus{
	3, 0.25
	texture{texture_montre}
	translate<0,0.5,0>
}
#declare i=0;
#while (i<360)
	sphere{
		<2.80,0.3,0>, 0.35
		texture{texture_montre_blanc}
		rotate y*i
	}
	#declare i=i+30;
#end
sphere{
	<0,0.3,0>, 0.35
	texture{texture_montre_blanc}
}
sphere{
	<0,0,0>, 0.35 scale <0.5,1,1>
	texture{texture_montre_blanc}
	translate <3.3,0.4,0>
}
cylinder{
	<0,0.6,0>
	<0,0.65,0>,3
	texture{texture_montre_verre}
}
cylinder{
	<0.2,0.6,0>
	<2.6,0.6,0>,.1
	texture{texture_montre}
	rotate y*45
}
cylinder{
	<0.2,0.6,0>
	<2,0.6,0>,.1
	texture{texture_montre}
	rotate y*-100
}
#declare i=-90;
#while (i<90)

cylinder{
	<-1,0,3>
	<1,0,3>,0.5
	texture{texture_montre_dore}
	rotate x*(i+90)
	translate y*(-90+abs(i))/20
}

cylinder{
	<-1,-1,3>
	<1,-1,3>,0.5
	texture{texture_montre}
	rotate x*(i+90)
	translate y*(-90+abs(i))/20
}

cylinder{
	<-1,0,3>
	<-1,-1,3>,0.15
	texture{texture_montre_blanc}
	rotate x*(i+90)
	translate y*(-90+abs(i))/20
}
cylinder{
	<1,0,3>
	<1,-1,3>,0.15
	texture{texture_montre_blanc}
	rotate x*(i+90)
	translate y*(-90+abs(i))/20
}

blob{
	threshold 0.5
	sphere{<0,0,3.3>,0.4, 1}
	sphere{<0,-.3,3.3>,0.4, 1}
	sphere{<0,-.5,3.3>,0.4, 1}
	sphere{<0,-.7,3.3>,0.4, 1}
	sphere{<0,-1,3.3>,0.4, 1}
	texture{texture_montre}
	rotate x*(i+90+10)
	translate y*(-90+abs(i+10))/20
}
#declare i=i+20;
#end

cylinder{
	<-1,0,-3>
	<1,0,-3>,0.5
	texture{texture_montre_dore}
}

text{
	ttf "police.ttt"
	"innadmissible"
	0.2 <0,0>
	texture{
		pigment{
			color rgb <0.1,0.1,0.1>
		}
		finish{
			ambient rgbft <0.1, 0.1, 0.1, 0.15, 0.9>
			diffuse .5
			specular 0.9
			roughness 1
			phong 4
		}
	}
	scale 1
	rotate<90, 0, 0>
	translate <-2.7,.7,0>
}

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.