trying new things
This commit is contained in:
parent
7c2fc424b3
commit
876d574eec
4
Makefile
4
Makefile
@ -1,12 +1,12 @@
|
|||||||
|
|
||||||
DIMS = -W1600 -H1200
|
DIMS = -W1600 -H1200
|
||||||
# POVOPT = +q9 +a0.02 -d
|
|
||||||
POVOPT = +q9 +A Declare=NbFrames=450 -d
|
POVOPT = +q9 +A Declare=NbFrames=450 -d
|
||||||
|
|
||||||
POVDEP = contexte.inc hexacone.inc hexabenz.inc \
|
POVDEP = contexte.inc hexacone.inc hexabenz.inc \
|
||||||
globals.inc hexawood.inc datas/hf.png \
|
globals.inc hexawood.inc datas/hf.png \
|
||||||
dynamic.inc trident.inc groundbase.inc \
|
dynamic.inc trident.inc groundbase.inc \
|
||||||
gadgets.inc
|
gadgets.inc xperiment.inc
|
||||||
|
|
||||||
# ! Define a default value for the POV clock
|
# ! Define a default value for the POV clock
|
||||||
# ! You can overide with this command line :
|
# ! You can overide with this command line :
|
||||||
|
|||||||
13
carto.pov
13
carto.pov
@ -17,6 +17,17 @@
|
|||||||
|
|
||||||
#include "dynamic.inc"
|
#include "dynamic.inc"
|
||||||
|
|
||||||
|
// XXX
|
||||||
|
#include "xperiment.inc"
|
||||||
|
// XXX
|
||||||
|
|
||||||
|
object { Les_Arches rotate y*59 translate <-32, 0, 20> }
|
||||||
|
|
||||||
|
object { Les_Arches rotate y*159 translate <-34, 0, -26> }
|
||||||
|
|
||||||
|
object { Les_Cahutes () translate <32, 0, -9> }
|
||||||
|
object { Les_Cahutes () rotate y*7 translate <37, 0, -22> }
|
||||||
|
|
||||||
// ---------------------------------------------------------
|
// ---------------------------------------------------------
|
||||||
// dessiner une grille
|
// dessiner une grille
|
||||||
|
|
||||||
@ -31,7 +42,7 @@ object { Repere scale 10 translate y*7 }
|
|||||||
object { Le_Decor }
|
object { Le_Decor }
|
||||||
|
|
||||||
camera {
|
camera {
|
||||||
location <45, 159+(42*NormClock), 18-(42*NormClock)>
|
location <45, 179+(42*NormClock), 18-(21*NormClock)>
|
||||||
look_at <0, 1.18, 0.17 + (2.9*NormClock)>
|
look_at <0, 1.18, 0.17 + (2.9*NormClock)>
|
||||||
angle 50
|
angle 50
|
||||||
}
|
}
|
||||||
|
|||||||
197
essai.pov
197
essai.pov
@ -6,7 +6,6 @@
|
|||||||
#version 3.7;
|
#version 3.7;
|
||||||
|
|
||||||
#include "globals.inc"
|
#include "globals.inc"
|
||||||
|
|
||||||
#debug "\n GLOBALS INCLUDED\n"
|
#debug "\n GLOBALS INCLUDED\n"
|
||||||
|
|
||||||
#include "contexte.inc"
|
#include "contexte.inc"
|
||||||
@ -16,18 +15,70 @@
|
|||||||
#include "hexawood.inc"
|
#include "hexawood.inc"
|
||||||
#include "trident.inc"
|
#include "trident.inc"
|
||||||
|
|
||||||
|
// XXX
|
||||||
|
#include "xperiment.inc"
|
||||||
|
// XXX
|
||||||
|
// =======================================================
|
||||||
|
/* nouveau du 20 octobre 2025
|
||||||
|
* Un semblant de wagonnet qui va tourner sur le
|
||||||
|
* rail circulaire
|
||||||
|
*/
|
||||||
|
|
||||||
|
#macro Wagonnet_0 (Longueur)
|
||||||
|
object {
|
||||||
|
/* le corps */
|
||||||
|
merge {
|
||||||
|
#local L2 = Longueur / 2;
|
||||||
|
#local R = 0.50;
|
||||||
|
cylinder { <L2, 0, 0>, <-L2, 0, 0>, R }
|
||||||
|
sphere { <0, 0, 0>, R
|
||||||
|
scale <3, 1, 1>
|
||||||
|
translate x*L2
|
||||||
|
}
|
||||||
|
|
||||||
|
/* le kiosque (est-ce un sous-marin ?) */
|
||||||
|
sphere { <-L2, 0, 0>, R }
|
||||||
|
merge {
|
||||||
|
cylinder { <0, 0, 0>, <0, L2, 0>, R/4 }
|
||||||
|
sphere { <0, 0, 0>, R/4
|
||||||
|
scale <1, 0.4, 1> translate y*L2
|
||||||
|
}
|
||||||
|
scale <2, 1, 1> translate x*L2*0.70
|
||||||
|
}
|
||||||
|
#local R = rand(Rng1);
|
||||||
|
#if (R < 0.333)
|
||||||
|
texture { WIP_color }
|
||||||
|
#elseif (R < 0.666)
|
||||||
|
texture { GoldDark }
|
||||||
|
#else
|
||||||
|
texture { Flashy scale 17 }
|
||||||
|
#end
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#end // macro
|
||||||
|
|
||||||
|
#declare Un_Wagonnet = object
|
||||||
|
{
|
||||||
|
#local R = 2;
|
||||||
|
|
||||||
|
object { Wagonnet_0 (3)
|
||||||
|
rotate y*clock
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
// =======================================================
|
// =======================================================
|
||||||
/* nouveau du 7 octobre 2025 */
|
/* nouveau du 7 octobre 2025 */
|
||||||
#macro Une_Boule ()
|
#macro Une_Boule ()
|
||||||
sphere {
|
sphere {
|
||||||
0, 0.18
|
0, 0.1111 + (rand(Rng1) * 0.20)
|
||||||
#local R = rand(Rng1);
|
#local R = rand(Rng1);
|
||||||
#if (R < 0.333)
|
#if (R < 0.333)
|
||||||
pigment { color Red }
|
texture { C_Texture }
|
||||||
#elseif (R < 0.666)
|
#elseif (R < 0.666)
|
||||||
pigment { color Green }
|
texture { M_Texture }
|
||||||
#else
|
#else
|
||||||
pigment { color Blue }
|
texture { Y_Texture }
|
||||||
#end
|
#end
|
||||||
}
|
}
|
||||||
#end // macro
|
#end // macro
|
||||||
@ -39,132 +90,112 @@ sphere {
|
|||||||
{
|
{
|
||||||
union {
|
union {
|
||||||
#for (A, 0, 24, 1)
|
#for (A, 0, 24, 1)
|
||||||
|
#local CK = (NormClock*60.00) + (A*0.07);
|
||||||
object { Une_Boule ()
|
object { Une_Boule ()
|
||||||
#local TX = 2.6 * (A/10) * (0.5 - NormClock);
|
#local TX = 1.6 * sin(CK);
|
||||||
#local TY = 2 * abs(sin(clock*0.07*A));
|
#local TY = 1.4 * cos(sin(CK));
|
||||||
#local TZ = 3.0 * cos(NormClock*0.08*A);
|
#local TZ = 2.0 * cos(1-CK);
|
||||||
translate <TX, TY, TZ>
|
translate <TX, TY, TZ>
|
||||||
}
|
}
|
||||||
|
object { Repere scale 2 }
|
||||||
#end // for
|
#end // for
|
||||||
}
|
}
|
||||||
finish { ambient 0 phong 1 }
|
|
||||||
//translate <-0.5, -0.5, -0.5> // recalage de l'objet fini
|
|
||||||
|
|
||||||
scale 1.3333333
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// =======================================================
|
// =======================================================
|
||||||
/*
|
/*
|
||||||
* nouveau du 12 octobre 2025
|
* nouveau du 25 octobre 2025
|
||||||
*/
|
*/
|
||||||
|
#declare Obj_BasicTexture = object
|
||||||
#macro Cahute_0 ()
|
|
||||||
#debug "Enter macro Cahute_0\n"
|
|
||||||
difference {
|
|
||||||
#local KX = 0.70;
|
|
||||||
#local KH = 1.60 + rand(Rng1) + rand(Rng1);
|
|
||||||
#local KZ = KX + (0.24*rand(Rng1));
|
|
||||||
box { <-KX, 0, -KZ>, <KX, KH, KZ> }
|
|
||||||
|
|
||||||
#local KX = KX * 0.99;
|
|
||||||
#local KH = KH * 0.99;
|
|
||||||
#local KZ = KZ * 0.99;
|
|
||||||
box { <-KX, 0, -KZ>, <KX, KH, KZ> }
|
|
||||||
|
|
||||||
cylinder { <-10, KH/2, 0>, <10, KH/2, 0>, KX * 0.741 }
|
|
||||||
|
|
||||||
#local R = rand(Rng1);
|
|
||||||
#debug concat("Random = ", str(R, 6, 4), "\n")
|
|
||||||
#if ( R < 0.33 )
|
|
||||||
texture { Flashy scale <17, 23, 5> }
|
|
||||||
#elseif ( R < 0.66 )
|
|
||||||
texture { T_Beton_1 }
|
|
||||||
#else
|
|
||||||
texture { T_Beton_2 }
|
|
||||||
#end // if
|
|
||||||
|
|
||||||
rotate y * (77 * rand(Rng1))
|
|
||||||
}
|
|
||||||
|
|
||||||
#end // macro
|
|
||||||
|
|
||||||
#declare Les_Cahutes = object
|
|
||||||
{
|
{
|
||||||
union {
|
#local R = 0.333;
|
||||||
#local K = 2.70;
|
merge {
|
||||||
object { Cahute_0 () translate -x * K }
|
cylinder { 0, y, R }
|
||||||
object { Cahute_0 () translate x * K }
|
sphere { 0, R scale <1, 0.20, 1> translate y }
|
||||||
object { Cahute_0 () translate -z * K }
|
}
|
||||||
object { Cahute_0 () translate z * K }
|
}
|
||||||
|
|
||||||
|
#declare BasicTextures = object
|
||||||
|
{
|
||||||
|
#local TR = 2.20;
|
||||||
|
union {
|
||||||
|
object { Obj_BasicTexture texture { R_Texture }
|
||||||
|
translate <TR, 0, 0> }
|
||||||
|
object { Obj_BasicTexture texture { G_Texture }
|
||||||
|
translate <0, 0, 0> }
|
||||||
|
object { Obj_BasicTexture texture { B_Texture }
|
||||||
|
translate <0, 0, TR> }
|
||||||
|
|
||||||
|
object { Obj_BasicTexture texture { Y_Texture }
|
||||||
|
translate < TR, 0, TR> }
|
||||||
|
object { Obj_BasicTexture texture { M_Texture }
|
||||||
|
translate <-TR, 0, TR> }
|
||||||
|
object { Obj_BasicTexture texture { C_Texture }
|
||||||
|
translate <-TR, 0, -TR> }
|
||||||
}
|
}
|
||||||
rotate y * (clock*3.33)
|
|
||||||
}
|
}
|
||||||
// =======================================================
|
// =======================================================
|
||||||
|
|
||||||
#debug "ACTION !!!\n"
|
|
||||||
|
|
||||||
// ------------------------------------------------------ ##
|
|
||||||
|
|
||||||
#declare Tridents = object
|
|
||||||
{
|
|
||||||
#local RX = -11 + (80*sin(NormClock*9.81) + 3*sin(NormClock*23));
|
|
||||||
#local RZ = 96 - (54*Cos_010(NormClock));
|
|
||||||
union {
|
|
||||||
object { Trident_A () rotate <RX, 0, RZ>
|
|
||||||
translate < -1.5, 1.0, 0> }
|
|
||||||
object { Trident_A () rotate <0, clock, 0>
|
|
||||||
translate < 1.5, 1.8, 0> }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// ------------------------------------------------------ ##
|
|
||||||
|
|
||||||
#declare Gyros = object
|
#declare Gyros = object
|
||||||
{
|
{
|
||||||
|
// #debug " Les gyros !!!\n"
|
||||||
union {
|
union {
|
||||||
#for (I, 0, 359, 30)
|
#for (I, 0, 359, 30)
|
||||||
#declare E = 11;
|
#declare E = 12;
|
||||||
#declare Dx = E * sin(radians(I));
|
#declare Dx = E * sin(radians(I));
|
||||||
#declare Dz = E * cos(radians(I));
|
#declare Dz = E * cos(radians(I));
|
||||||
object { GyroPhare () translate <Dx, 0, Dz> }
|
object { GyroPhare () translate <Dx, 0, Dz> }
|
||||||
// #debug " Gyro !!!\n"
|
|
||||||
#end
|
#end
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// ------------------------------------------------------ ##
|
|
||||||
|
|
||||||
object { Gyros }
|
object { Gyros }
|
||||||
|
|
||||||
#declare Selector = mod(int(clock/30), 6);
|
// ------------------------------------------------------ ##
|
||||||
|
|
||||||
|
#debug " !!! ACTION !!!\n"
|
||||||
|
|
||||||
|
// ------------------------------------------------------ ##
|
||||||
|
|
||||||
|
#declare Selector = mod(int(clock/60)+19, 8);
|
||||||
#debug concat("Selector = ", str(Selector, 6, 0), "\n")
|
#debug concat("Selector = ", str(Selector, 6, 0), "\n")
|
||||||
|
|
||||||
#switch (Selector)
|
#switch (Selector)
|
||||||
#case (0)
|
#case (0)
|
||||||
object { Tridents scale 1.12 rotate -y*(clock*0.666) }
|
object { OpenBox translate y*2.1 }
|
||||||
#break
|
#break
|
||||||
#case (1)
|
#case (1)
|
||||||
object { Les_Cahutes scale 0.50 }
|
object { Les_Arches rotate -y*(clock*0.666) }
|
||||||
#break
|
#break
|
||||||
#case (2)
|
#case (2)
|
||||||
object { HexaWood rotate -y*(clock*0.38) translate y }
|
object { HexaWood rotate -y*(clock*0.38) translate y }
|
||||||
#break
|
#break
|
||||||
#case (3)
|
#case (3)
|
||||||
object { Chose rotate x*5 rotate y*clock }
|
object { Chose () translate y*0.34 rotate -y*clock }
|
||||||
#break
|
#break
|
||||||
#case (4)
|
#case (4)
|
||||||
object { HexaBenz () scale 2 translate 2.7*y rotate -y*clock }
|
object { HexaBenz () scale 2 translate 2.7*y rotate -y*clock }
|
||||||
#break
|
#break
|
||||||
#case (5)
|
#case (5)
|
||||||
object { Les_Boules translate y }
|
object { Les_Boules translate y*0.8 }
|
||||||
#break
|
#break
|
||||||
|
#case (6)
|
||||||
|
object { Un_Wagonnet translate y }
|
||||||
|
#break
|
||||||
|
#case (7)
|
||||||
|
#local Pos = <0, 0, 0>;
|
||||||
|
object { BasicTextures rotate -y*clock translate Pos }
|
||||||
|
#break
|
||||||
|
|
||||||
#end // switch selector
|
#end // switch selector
|
||||||
|
|
||||||
|
|
||||||
plane {
|
plane {
|
||||||
y, 0
|
y, 0
|
||||||
texture { T_Planete_B scale 0.666 }
|
texture { Ground_Texture }
|
||||||
}
|
}
|
||||||
|
|
||||||
object { Repere translate y*1.0 }
|
// object { Repere translate y*1.0 }
|
||||||
|
|
||||||
// =======================================================
|
// =======================================================
|
||||||
|
|
||||||
@ -182,6 +213,6 @@ camera {
|
|||||||
orthographic
|
orthographic
|
||||||
#end
|
#end
|
||||||
location <CamX, CamY, CamZ>
|
location <CamX, CamY, CamZ>
|
||||||
look_at <0, 1.4, 0>
|
look_at <0, 1.6, 0>
|
||||||
angle 12 - 3*Cos_01(NormClock)
|
angle 17 - 3*Cos_01(NormClock)
|
||||||
}
|
}
|
||||||
|
|||||||
141
xperiment.inc
Normal file
141
xperiment.inc
Normal file
@ -0,0 +1,141 @@
|
|||||||
|
/*
|
||||||
|
* H E X A C O N E - X P E R I M E N T
|
||||||
|
*
|
||||||
|
* A cosy place for experimental things (2025/10/27)
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
// =======================================================
|
||||||
|
/*
|
||||||
|
* nouveau du 25 octobre 2025
|
||||||
|
*/
|
||||||
|
#macro Une_Arche (Val)
|
||||||
|
object {
|
||||||
|
#debug concat(" Arche, val = ", str(Val, 6, 4), "\n")
|
||||||
|
merge {
|
||||||
|
#local Ha = 2;
|
||||||
|
// mettre une base de la colonne
|
||||||
|
cylinder { <-1, 0, 0>, <-1, 0.20, 0> Val*1.29 }
|
||||||
|
cylinder { < 1, 0, 0>, < 1, 0.20, 0> Val*1.27 }
|
||||||
|
|
||||||
|
cylinder { <-1, 0, 0>, <-1, Ha, 0>, Val }
|
||||||
|
cylinder { < 1, 0, 0>, < 1, Ha, 0>, Val }
|
||||||
|
#if (rand(Rng1) < 0.50)
|
||||||
|
torus { 0.008, Val*1.08 translate <-1, Ha, 0> }
|
||||||
|
torus { 0.008, Val*1.08 translate < 1, Ha, 0> }
|
||||||
|
#else
|
||||||
|
cylinder { y*(Ha-0.07), y*(Ha+0.01), Val*1.12 translate -x }
|
||||||
|
cylinder { y*(Ha-0.08), y*(Ha+0.01), Val*1.13 translate x }
|
||||||
|
#end
|
||||||
|
intersection {
|
||||||
|
torus { 1, Val }
|
||||||
|
box { <-20, -5, 0>, <20, 5, -20> }
|
||||||
|
rotate <90, 0, 0> translate Ha*y
|
||||||
|
}
|
||||||
|
#local R = rand(Rng1);
|
||||||
|
#if (R < 0.25)
|
||||||
|
texture { T_Stone40 scale 5+rand(Rng1) }
|
||||||
|
#elseif (R < 0.50)
|
||||||
|
texture { T_Stone44 scale 4+rand(Rng1) }
|
||||||
|
#elseif (R < 0.75)
|
||||||
|
texture { T_Stone32 scale 5+rand(Rng1) }
|
||||||
|
#else
|
||||||
|
texture { T_Stone36 scale 6+rand(Rng1) }
|
||||||
|
#end
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#end
|
||||||
|
|
||||||
|
#declare Les_Arches = object
|
||||||
|
{
|
||||||
|
union {
|
||||||
|
#local E = 1.333 + (rand(Rng1) * 0.50);
|
||||||
|
object { Une_Arche (0.20) }
|
||||||
|
object { Une_Arche (0.16) translate -z*E }
|
||||||
|
object { Une_Arche (0.16) translate z*E }
|
||||||
|
object { Une_Arche (0.12) translate -z*E*2 }
|
||||||
|
object { Une_Arche (0.12) translate z*E*2 }
|
||||||
|
object { Une_Arche (0.08) translate -z*E*3 }
|
||||||
|
object { Une_Arche (0.08) translate z*E*3 }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ==============================================================
|
||||||
|
/*
|
||||||
|
* new Mon Oct 27 04:54:41 PM UTC 2025
|
||||||
|
*/
|
||||||
|
#macro Un_Pylone (Type, Hauteur)
|
||||||
|
#debug " Un pylone ?\n"
|
||||||
|
|
||||||
|
#end // macro
|
||||||
|
|
||||||
|
|
||||||
|
// ==============================================================
|
||||||
|
/*
|
||||||
|
* nouveau du 12 octobre 2025
|
||||||
|
*/
|
||||||
|
|
||||||
|
#macro Cahute_0 ()
|
||||||
|
difference {
|
||||||
|
#local KX = 0.60;
|
||||||
|
#local KH = 1.80 + rand(Rng1) ;
|
||||||
|
#debug concat(" Cahute_0, KH = ", str(KH, 6, 4), "\n")
|
||||||
|
#local KZ = KX + (0.24*rand(Rng1));
|
||||||
|
box { <-KX, 0, -KZ>, <KX, KH, KZ> }
|
||||||
|
|
||||||
|
#local Mult = 0.97;
|
||||||
|
#local KX = KX * Mult;
|
||||||
|
#local KH = KH * Mult;
|
||||||
|
#local KZ = KZ * Mult;
|
||||||
|
box { <-KX, 0, -KZ>, <KX, KH, KZ> }
|
||||||
|
|
||||||
|
cylinder { <-10, KH*0.70, 0>, <10, KH*0.72, 0>, KX * 0.666 }
|
||||||
|
|
||||||
|
#local R = rand(Rng1);
|
||||||
|
// #debug concat("Random = ", str(R, 6, 4), "\n")
|
||||||
|
#if ( R < 0.13 )
|
||||||
|
texture { T_Planete_A }
|
||||||
|
#elseif ( R < 0.56 )
|
||||||
|
texture { T_Beton_1 }
|
||||||
|
#else
|
||||||
|
texture { T_Beton_2 }
|
||||||
|
#end // if
|
||||||
|
|
||||||
|
rotate y * (277 * rand(Rng1))
|
||||||
|
}
|
||||||
|
|
||||||
|
#end // macro
|
||||||
|
|
||||||
|
/* le support des cahutes XXX */
|
||||||
|
|
||||||
|
#macro Les_Cahutes ()
|
||||||
|
union {
|
||||||
|
#local K = 2.75;
|
||||||
|
union {
|
||||||
|
object { Cahute_0 () translate -x * K }
|
||||||
|
object { Cahute_0 () translate x * K }
|
||||||
|
object { Cahute_0 () translate -z * K }
|
||||||
|
object { Cahute_0 () translate z * K }
|
||||||
|
translate y
|
||||||
|
}
|
||||||
|
#local K2 = K + 1.35;
|
||||||
|
box { <-K2, 0, -K2>, <K2, 1, K2> pigment { Gray30 } }
|
||||||
|
}
|
||||||
|
// rotate -y * (clock*0.33)
|
||||||
|
#end
|
||||||
|
// =======================================================
|
||||||
|
/*
|
||||||
|
* new: 28 octobre 2025
|
||||||
|
*/
|
||||||
|
#declare Ground_Texture = texture
|
||||||
|
{
|
||||||
|
pigment { rgb <0.51, 0.58, 0.23> }
|
||||||
|
normal { dents 0.28 scale 1.5}
|
||||||
|
finish {
|
||||||
|
ambient 0 specular 0.5 metallic roughness 0.18
|
||||||
|
reflection { 0.5 metallic }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ==============================================================
|
||||||
Loading…
Reference in New Issue
Block a user