4.1.8 Script ionic5

Utilisation : Les liens ne sont pas apparents. Pour obtenir des informations sur un mot clé, cliquez-le dans le script !

// Persistence Of Vision raytracer version 3.5 sample file.
// This data includes 1 Wall, 1 large 2nd floor column,
// & 2 smaller ionic colums.

// b-snake.dat is the lower ctds twist that goes around the
// door openings.
// s-head3.dat is the head & top twist of creature
// turn.dat is ctds data that creates the ionic turned capitals.
// panther.dat is csg of panther figure.

// Modified for use in stereo pair. Two of the PNG
// images have been replaced with single colors, and a third column
// was added to the bottom row.
//
// Three cameras are included, the original, and two for stereo.

// gamma devised to approximate the illustration in Ray Tracing Creations II
// updated for compatibility with POV-Ray v3.5 by Ken Tyler on 08-26-01

global_settings {assumed_gamma 1.8}

#include "colors.inc"
#include "shapes.inc"
#include "marble.inc"
#include "b-snake.inc"
#include "turn.inc"
#include "panther.inc"
#include "s-head3.inc"

#declare pink = color red 1.0 green 0.5 blue 0.5;

/* original camera */
camera {
	location <-50, 80,-220>
	direction <0, 0, 1.5>
	up <0, 1, 0>
	right <4/3, 0, 0>
}

// Optional stereo views:
/* camera for left eye, render at 768 x 480 or similar aspect ratio */
/*
camera {
	location <-61, 80,-220>
	direction <0, 0, 1.4>
	up <0, 1, 0>
	right <1.6, 0, 0>
}
*/

/* camera for right eye, render at 768 x 480 or similar aspect ratio */
/*
camera {
	location <-39, 80,-220>
    direction <0, 0, 1.4>
	up <0, 1, 0>
	right <1.6, 0, 0>
}
*/

/* WORLD WALLS */
sphere {
	<0, 0, 0>, 50000
	hollow on
	texture {
		pigment {MidnightBlue}
		finish {
			ambient 1.0
			diffuse 0.0
		}
	}
}

/* LIGHT #1 */
light_source {<700, 150,-500> color White}

/* LIGHT #2 */
light_source {<-4000, 100,-1000> color White}

/* BASE OF COLUMN A / TOP FLOOR */
#declare base_a = union {
	sphere {<0, 0, 0>, 1 scale <13, 5.5, 13>}
	sphere {<0, 0, 0>, 1 scale <11, 3, 11> translate 4*y}
	cylinder {<0, 0, 0>, y, 1 scale <10, 4, 10> translate 5*y}
	texture {
		marble1
		scale <9, 6, 4>
		finish {
			ambient 0.5
			diffuse 1
		}
	}
	texture {
		marble4
		scale <7, 12, 9>
		rotate <0, 0,-40>
		finish {
			diffuse 1.0
			phong 0.6
			phong_size 50
		}
	}
	rotate 40*y
}

/* MOTIF TILE WORK */
#declare motif1 = cylinder {
	<0, 0, 0>, y, 1
	scale <9.5, 7, 9.5>
	texture {
		pigment {
			image_map {png "congo4.png"}
			scale <19, 7, 1>
			translate <-9.5, 0,-1>
		}
		finish {
			ambient 0.3
			diffuse 0.9
			phong 0.6
		}
	}
}

/* COLUMN A */
#declare column_a = cylinder {
	<0, 0, 0>, y, 1
	scale <9.3, 50, 9.3>
	texture {
		marble1
		finish {
			crand 0.01
			ambient 0.2
			diffuse 0.8
		}
		scale <16, 4, 4>
	}
	texture {
		marble2
		scale <10, 6, 5>
		rotate -30*z
		finish {diffuse 1.0}
	}
	texture {
		marble4
		finish {
			phong 0.6
			phong_size 45
		}
		scale <8, 15, 5>
		rotate <0, 0, 50>
	}
	rotate 10*y
}

/* COMBINE COLUMN & BASE */
#declare top_column = union {
	object {base_a}
	object {motif1 translate 9*y}
	object {column_a translate 12*y}
}

/* TOP  FLOOR */
#declare gfloor = object {
	Cube
	scale <100, 1, 50>
	texture {
		pigment {Salmon}
		finish {
			ambient 0.2
			diffuse 0.5
			phong 1.0
			phong_size 10
		}
	}
}

/* ROUND CORNER */
#declare sp1 = sphere {<0, 0, 0>, 2}

#declare round_cap = object {
	union {
		object {sp1 translate <-100, 0,-50>}
		object {sp1 translate <-100, 0, 50>}
		object {sp1 translate <100, 0,-50>}
		object {sp1 translate <100, 0, 50>}
		cylinder {<0, 0, 0>, x, 1 scale <200, 2, 2> translate <-100, 0,-50>}
		cylinder {<0, 0, 0>, z, 1 scale <2, 2, 100> translate <-100, 0,-50>}
	}
	texture {
		marble1
		scale <50, 10, 40>
		finish {
			ambient 0.4
			diffuse 0.9
		}
	}
	texture {
		marble2
		scale <40, 5, 20>
		rotate <0, 0, 40>
	}
	texture {
		marble4
		scale <20, 20, 20>
		rotate <0, 0,-40>
		finish {phong 0.6 phong_size 20}
	}
}

/* ONE DENTILE */
#declare d1 = object {Cube scale <1, 1.5, 2>}

#declare cornice = union {
	object {Cube scale <103, 0.5, 53> translate <0, 2.5, 0>}
	object {Cube scale <103, 1, 53> translate <0,-2, 0>}
	object {Cube scale <101, 2, 51> translate <0, 0, 0>}
	texture {
		marble1
		scale <10, 6, 4>
		finish {
			ambient 0.4
			diffuse 1.0
		}
	}
	texture {
		marble2
		scale <7, 6, 4>
		rotate <0, 0, 40>
	}
	texture {
		marble4
		scale <3, 6, 5>
		rotate <0, 0,-40>
		finish {
			phong 0.6
			phong_size 20
		}
	}
}

/* ROW OF DENTILES */
#declare dentile_a = union {
	object {d1 translate -50*x}
	object {d1 translate -45*x}
	object {d1 translate -40*x}
	object {d1 translate -35*x}
	object {d1 translate -30*x}
	object {d1 translate -25*x}
	object {d1 translate -20*x}
	object {d1 translate -15*x}
	object {d1 translate -10*x}
	object {d1 translate -5*x}
	object {d1 translate 0*x}
	object {d1 translate 50*x}
	object {d1 translate 45*x}
	object {d1 translate 40*x}
	object {d1 translate 35*x}
	object {d1 translate 30*x}
	object {d1 translate 25*x}
	object {d1 translate 20*x}
	object {d1 translate 15*x}
	object {d1 translate 10*x}
	object {d1 translate 5*x}
	texture {
		marble1
		scale <10, 6, 4>
		finish {
			ambient 0.4
			diffuse 0.9
		}
	}
	texture {
		marble2
		scale <7, 6, 4>
		rotate <0, 0, 40>
	}
	texture {
		marble4
		scale <3, 6, 4>
		rotate <0, 0,-40>
		finish {
			phong 0.6
			phong_size 20
		}
	}
}

/* COMBINE CORNICE, FLOOR, CAP & DENTILES */
#declare top_floor = union {
	object {gfloor translate <0, 9, 0>}
	object {round_cap translate <0, 7, 0>}
	object {cornice translate <0, 3, 0>}
	object {dentile_a translate <-50, 4,-52>}
	object {dentile_a translate <50, 4,-52>}
}

/* MAKE AN IONIC CAPIAL */

#declare turn = object {s1 rotate -90*x}

/* 1/2 SECTION OF CAP */
#declare cap_a = union {
	sphere {
		<0, 0, 0>, 1
		scale <7, 2, 7>
		translate <0, 1, 0>
	}
	cylinder {
		<0, 0, 0>, y, 1
		scale <6, 5, 6>
		translate <0, 2, 0>
	}
	sphere {
		<0, 0, 0>, 1
		scale <8, 3, 8>
		translate <0, 8, 0>
	}
	cylinder {
		<0, 0, 0>, y, 1
		scale <8, 2, 8>
		translate <0, 8, 0>
	}
	texture {
		marble1
		finish {
			ambient 0.4
			diffuse 1.0
		}
		scale <5, 13, 4>
	}
	texture {
		marble4
		finish {
			diffuse 1.0
			phong 0.6
			phong_size 20
		}
		scale <5, 7, 3>
		rotate <0, 0, 50>
	}
}

/* THE OTHER 1/2 */
#declare cap_b = union {
	cylinder {<0, 0, 0>, y, 1 scale <1.2, 8, 1.2> translate <1, 0,-4>}
	cylinder {<0, 0, 0>, y, 1 scale <1.2, 8, 1.2> translate <-1, 0,-4>}
	cylinder {<0, 0, 0>, y, 1 scale <1.2, 8, 1.2> translate <-2, 0,-4>}
	cylinder {<0, 0, 0>, y, 1 scale <1.2, 8, 1.2> translate <2, 0,-4>}
	object {Cube scale <10, 2, 8> translate <0, 10, 2>}
	object {Cube scale <7, 4, 4> translate <0, 4, 0>}
	cylinder {<0, 0, 0>, z, 1 scale <4.5, 4.5, 8> translate <-6, 4,-4>}
	cylinder {<0, 0, 0>, z, 1 scale <4.5, 4.5, 8> translate <6, 4,-4>}
	texture {
		marble1
		finish {
			ambient 0.4
			diffuse 1.0
		}
		scale <5, 13, 4>
	}
	texture {
		marble4
		finish {
			diffuse 1.0
			phong 0.6
			phong_size 20
		}
		scale <5, 7, 3>
		rotate 50*z
	}
}

/* 2 HALFS & 2 TURNS MAKE A WHOLE */
#declare capital = union {
	object {cap_a translate <0, 0, 0>}
	object {cap_b translate <0, 10, 0>}
	object {turn translate <-6, 14,-4>}
	object {turn rotate <0, 180, 0> translate <6, 14,-4>}
}

/* MAKE COLUMN */

/* MOTIF TILE WORK */
#declare motif2 = cylinder {
	<0, 0, 0>, y, 1
	scale <6.5, 8, 6.5>
	texture {
		pigment {
			image_map {png "congo4.png"}
			scale <13, 8, 1>
			translate <-6.5, 0,-1>
		}
		finish {
			ambient 0.3
			diffuse 0.9
			phong 1.0
		}
	}
}

#declare column_b = cylinder {
	<0, 0, 0>, y, 1
	scale <6, 54, 6>
	texture {
		marble1
		finish {
			ambient 0.4
			diffuse 0.8
			crand 0.1
		}
		scale <9, 30, 18>
	}
	texture {
		marble2
		scale <10, 18, 5>
		rotate <0, 0,-30>
		finish {diffuse 1.0}
	}
	texture {
		marble4
		finish {
			diffuse 0.9
			phong 0.8
			phong_size 45
		}
		scale <4, 15, 5>
		rotate 50*z
	}
}

/* THE COMPLETE BOTTOM COLUMN */
#declare bottom_column = union {
	object {capital translate <0, 58, 0>}
	object {motif2 translate <0, 50, 0>}
	object {column_b translate <0, 0, 0>}
}

/* START LOWER WALLS */

/* ABOVE DOOR SECTION OF WALL */
#declare brick_wall = object {
	Cube
	scale <30, 6, 3>
	texture {
		marble1
		finish {
			ambient 0.2
			diffuse 0.9
		}
		scale <20, 30, 4>
	}
	texture {
		marble2
		scale <20, 9, 5>
		finish {diffuse 1.0}
		rotate -30*z
	}
	texture {
		marble4
		finish {
			phong 0.6
			phong_size 25
		}
		scale <18, 18, 3>
		rotate 50*z
	}
}

/* ARCH SECTION OF WALL */
#declare top_wall = object {
	difference {
		object {Cube scale <30, 10, 3> translate <0, 0, 0.01>}
		object {Cylinder_Z scale <13, 13, 1> translate <0,-10, 0>}
	}
	texture {
		marble1
		finish {
			ambient 0.2
			diffuse 0.9
		}
		scale <30, 20, 4>
	}
	texture {
		marble2
		scale <26, 16, 5>
		finish {diffuse 1.0}
		rotate -30*z
	}
	texture {
		marble4
		finish {
			phong 0.6
			phong_size 25
		}
		scale <15, 27, 2>
		rotate 50*z
	}
}

/* TRIM */
#declare molding_2 = union {
	difference {
		cylinder {<0, 0, 0>, z, 1 scale <16, 16, 12> translate <0, 0,-6>}
		object {Cylinder_Z scale <13, 13, 1>}
	}
	object {Cube scale <10, 2, 6> translate <-21,-2, 0>}
	object {Cube scale <10, 2, 6> translate <21,-2, 0>}
	object {Cube scale <31, 1, 6> translate <0, 17, 0>}
	texture {
		marble1
		finish {
			ambient 0.5
			diffuse 1.0
		}
		scale <15, 3, 4>
	}
	texture {
		marble4
		finish {
			phong 0.8
			phong_size 15
			ambient 0.6
		}
		scale <15, 7, 6>
		rotate 50*z
	}
}

#declare motif3 = object {
	Cube
	scale <9.5, 5, 3.1>
	texture {
		pigment {
			image_map {png "congo4.png"}
			scale <19, 10, 1>
			translate <-9.5,-5,-1>
		}
		finish {
			ambient 0.3
			diffuse 0.9
			phong 1.0
		}
	}
}

/* WALLS FLANKING DOOR WAY */
#declare low_wall = object {
	Cube
	scale <9, 22, 3>
	texture {
		marble1
		finish {
			ambient 0.3
			diffuse 0.9
		}
		scale <15, 20, 7>
	}
	texture {
		marble2
		scale <10, 25, 3>
		finish {diffuse 1.0}
		rotate <0, 0,-30>
	}
	texture {
		marble4
		finish {
			phong 0.8
			phong_size 25
			ambient 0.5
		}
		scale <8, 16, 3>
		rotate 50*z
	}
}

/* COMPOSITE THE WALL */

#declare wall = union {
	object {low_wall translate <-21, 22, 0>}
	object {low_wall translate <21, 22, 0>}
	object {motif3 translate <-21, 42, 0>}
	object {motif3 translate <21, 42, 0>}
	object {molding_2 translate <0, 50, 0>}
	object {top_wall translate <0, 60, 0>}
	object {brick_wall translate <0, 74, 0>}
}

/* CREATE INSIDE BACK WALL */
object {
	Cube
	scale <95, 55, 1>
	texture {
		marble1
		finish {
			ambient 0.2
			diffuse 0.9
		}
		scale <40, 30, 5>
	}
	texture {
		marble2
		scale <30, 60, 3>
		rotate -30*z
	}
	texture {
		marble4
		finish {
			phong 0.8
			phong_size 25
		}
		scale <30, 20, 3>
		rotate 50*z
	}
	translate <0, 15, 10>
}

/* PUT UP THE WALLS */

object {top_column rotate 10*y scale 1.9 translate <-30, 94,-25>}
object {top_floor translate <-10, 80, 0>}
object {bottom_column scale <1.3, 1, 1.3> translate <-100, 0,-40>}
object {bottom_column scale <1.3, 1, 1.3> translate <-30, 0,-40>}
object {bottom_column scale <1.3, 1, 1.3> translate <40, 0,-40>}
object {wall translate <5, 0,-32>}
object {wall translate <-65, 0,-32>}

/* BACKDROP */
object {
	Cube
	scale <2000, 1500, 1>
	texture {
		pigment {Maroon}
		finish {
			ambient 0.2
			diffuse 0.6
		}
	}
	texture {
		pigment {
			gradient y
			color_map {
				[0.0 0.3 color Salmon color BlueViolet filter 0.3]
				[0.3 1.0 color BlueViolet filter 0.3 color Black filter 0.2]
			}
			scale <4000, 3000, 1>
			translate <0,-1500, 0>
		}
		finish {
			ambient 1.0
			diffuse 0.0
		}
	}
	scale <1, 1, 1>
	translate <0, 0, 2000>
}

/* CREATURE & MOTHER-IN-LAW */

object {
	panther
	rotate -20*y
	scale 1.2
	translate <-70, 89.5,-10>
}

object {
	lizard
	scale <1, 0.9, 1>
	rotate -10*z
	translate <-33, 16,-20>
}

#declare snake = union {
	object {top}
	object {
		head
		scale <1.9, 1.6, 1.6>
		rotate <0,-90,-90>
		translate <23, 0,-13>
	}
	rotate <-90,-180,-90>
}

object {snake translate <-4, 87,-68>}
// end-of-file
Et voici ce que nous obtenons :
Cliquez pour télécharger l'image bmp en 1024*768


Le fichier "congo4.png" donne ceci :


Puis le seul fichier inclus assez léger :

Dans 'ionic5' ...
4.1.7.1 Script marble

Quand aux acteurs significatifs, dans l'ordre d'apparition, nous avons base_a, motif1, column_a, top_column, round_cap, cornice, dentile_a, top_floor, cap_a, cap_b, capital, motif2, column_b, bottom_column, brick_wall, top_wall, molding_2, motif3, low_wall et wall.

Retour Retour