more frobnicate again

This commit is contained in:
le vieux 2021-03-16 00:48:07 +01:00
parent 395d648c9d
commit 255643e55a
32 changed files with 187 additions and 195 deletions

View File

@ -24,8 +24,10 @@ all: loco.png parking.png corail.png train.png essai.png \
GLOBDEPS=${INCS}/train.inc ${INCS}/poteaux.inc \
${INCS}/electric.inc ${INCS}/voiture.inc \
${INCS}/rails.inc ${INCS}/grue.inc ${INCS}/ridelles.inc \
${INCS}/instruments.inc \
${INCS}/citerne.inc ${INCS}/benne.inc \
${INCS}/constantes.inc ${INCS}/locomotive.inc \
${INCS}/enseigne.inc \
picz/plancher.png picz/cadran.png \
contexte.inc monde.inc
@ -97,7 +99,7 @@ voiture.png: voiture.pov $(GLOBDEPS) Makefile
#--------------------------------------------------------
SRCFILES = *.inc incs/*.inc *.pov *.txt Makefile *.sh
SRCFILES = *.inc incs/*.inc *.pov *.txt Makefile tools/*.sh
lines:
wc $(SRCFILES) | sort -n

View File

@ -7,9 +7,6 @@
#version 3.7;
#include "contexte.inc"
#include "colors.inc"
#include "metals.inc"
/*------------------------------------------------------------------*/
#include "incs/train.inc"

View File

@ -5,9 +5,6 @@
#version 3.7;
#include "contexte.inc"
#include "colors.inc"
#include "metals.inc"
/*------------------------------------------------------------------*/
#include "incs/train.inc"
@ -24,7 +21,7 @@ object { Wagon_Citerne translate y*2 }
camera
{
location <36, 13, -31>
location <46, 13, -41>
right image_width/image_height*x
look_at <0, 5.8, 0>
angle ANGLE_CAM

View File

@ -4,4 +4,30 @@
global_settings { assumed_gamma 1.0 }
/*------------------------------------------------------------------*/
/*
* essential system includes
*/
#include "colors.inc"
#include "metals.inc"
#include "textures.inc"
/*------------------------------------------------------------------*/
#declare ANGLE_CAM = 33;
/*------------------------------------------------------------------*/
/*
* outils de mise au point (smart tools)
*/
#declare Repere = object
{
#local DA = 5;
#local DB = DA * 5;
union {
cylinder { <-DA, 0, 0>, <100, 0, 0>, 0.1 pigment { color Red } }
cylinder { <0, -DA, 0>, <0, 100, 0>, 0.1 pigment { color Green } }
cylinder { <0, 0, -DA>, <0, 0, 100>, 0.1 pigment { color Blue } }
}
}
/*------------------------------------------------------------------*/

View File

@ -8,10 +8,6 @@
#version 3.7;
#include "contexte.inc"
#include "colors.inc"
#include "metals.inc"
#include "textures.inc"
/*------------------------------------------------------------------*/
#include "monde.inc"
@ -43,9 +39,9 @@ union
camera
{
location <28, 10, -45>
location <38, 10, -45>
right image_width/image_height*x
look_at <0, 6, 0>
look_at <0, 7, 0>
angle ANGLE_CAM
}

View File

@ -7,8 +7,6 @@
#version 3.7;
#include "contexte.inc"
#include "colors.inc"
#include "metals.inc"
/*------------------------------------------------------------------*/

View File

@ -1,11 +1,10 @@
/*
un fichier de test.
essai.pov -- un fichier de test.
*/
#version 3.7;
#include "contexte.inc"
#include "colors.inc"
#include "metals.inc"
#include "incs/train.inc"
@ -13,18 +12,17 @@
#include "incs/benne.inc"
#include "incs/grue.inc"
object { Boogie }
// object { Boogie }
object { Grande_Roue }
camera {
location <24.5, 15, 22>
location <5.5, 15, 20>
right image_width/image_height*x
look_at <0, 2, 0>
look_at <0, 3, 0>
angle ANGLE_CAM
}
cylinder { <-100, 0, 0>, <100, 0, 0>, 0.1 pigment { color Red } }
cylinder { <0, -100, 0>, <0, 100, 0>, 0.1 pigment { color Green } }
cylinder { <0, 0, -100>, <0, 0, 100>, 0.1 pigment { color Blue } }
object { Repere }
light_source { <90, 131, 190> color White }
light_source { <90, 111, 250> color White }

View File

@ -9,9 +9,6 @@
#version 3.7;
#include "contexte.inc"
#include "colors.inc"
#include "textures.inc"
/*------------------------------------------------------------------*/
// #include "incs/plancher.inc"

View File

@ -6,10 +6,6 @@
#version 3.7;
#include "contexte.inc"
#include "colors.inc"
#include "metals.inc"
#include "textures.inc"
/*------------------------------------------------------------------*/
#include "monde.inc"

View File

@ -94,7 +94,7 @@ texture {
union
{
object { Base_Courte }
object { Petite_Benne translate y*0.5 }
object { Petite_Benne translate y*0.55 }
object { Support_Benne translate z*-11 }
object { Support_Benne translate z* 11 }
object { Piston_Benne }

View File

@ -8,16 +8,16 @@
#declare Base_Loco_Electric = object
{
union
{
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, 0, -12> }
object { Petite_Roue translate < 5.5, 0, -12> }
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, 0, -5> }
object { Petite_Roue translate < 5.5, 0, -5> }
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, 0, 5> }
object { Petite_Roue translate < 5.5, 0, 5> }
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, 0, 12> }
object { Petite_Roue translate < 5.5, 0, 12> }
#local DYR = 3;
union {
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, DYR, -12> }
object { Petite_Roue translate < 5.5, DYR, -12> }
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, DYR, -5> }
object { Petite_Roue translate < 5.5, DYR, -5> }
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, DYR, 5> }
object { Petite_Roue translate < 5.5, DYR, 5> }
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, DYR, 12> }
object { Petite_Roue translate < 5.5, DYR, 12> }
}
}

View File

@ -1,4 +1,5 @@
/*
* see 'gare.inc' for usage
*/
#include "chars.inc"
@ -7,46 +8,17 @@
{
union
{
object {
char_H
translate x*-27.5
}
object {
char_E
translate x*-22.5
}
object {
char_L
translate x*-17.5
}
object {
char_L
translate x*-12.5
}
object {
char_O
translate x*-7.5
}
object {
char_W
translate x*2.5
}
object {
char_O
translate x*7.5
}
object {
char_R
translate x*12.5
}
object {
char_L
translate x*17.5
}
object {
char_D
translate x*22.5
}
object { char_H translate x*-27.5 }
object { char_E translate x*-22.5 }
object { char_L translate x*-17.5 }
object { char_L translate x*-12.5 }
object { char_O translate x*-7.5 }
object { char_W translate x*2.5 }
object { char_O translate x*7.5 }
object { char_R translate x*12.5 }
object { char_L translate x*17.5 }
object { char_D translate x*22.5 }
}
texture { PinkAlabaster scale 3 }
}

View File

@ -33,9 +33,9 @@ pigment { color White }
finish { phong 0.4 }
}
// #include "decor.inc"
#include "incs/enseigne.inc"
// #include "incs/rails.inc"
#declare Gare = object
{

View File

@ -12,7 +12,7 @@
#ifdef (Jouets_Instruments)
// on fait quedalle
#debug "instruments deja inclus\r\n"
#warning "*** instruments deja inclus ***\r\n"
#else
#declare Jouets_Instruments = version;

View File

@ -10,17 +10,19 @@
#declare Base_Loco_Vapeur = object
{
#local HGR = 4;
#local HPR = 3;
union
{
object { Chassis_Long }
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, 0, -13> }
object { Petite_Roue translate < 5.5, 0, -13> }
object { Grande_Roue scale <-1, 1, 1> translate <-5.5, 0, -5> }
object { Grande_Roue translate < 5.5, 0, -5> }
object { Grande_Roue scale <-1, 1, 1> translate <-5.5, 0, 5> }
object { Grande_Roue translate < 5.5, 0, 5> }
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, 0, 13> }
object { Petite_Roue translate < 5.5, 0, 13> }
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, HPR, -13> }
object { Petite_Roue translate < 5.5, HPR, -13> }
object { Grande_Roue scale <-1, 1, 1> translate <-5.5, HGR, -5> }
object { Grande_Roue translate < 5.5, HGR, -5> }
object { Grande_Roue scale <-1, 1, 1> translate <-5.5, HGR, 5> }
object { Grande_Roue translate < 5.5, HGR, 5> }
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, HPR, 13> }
object { Petite_Roue translate < 5.5, HPR, 13> }
}
}

View File

@ -24,8 +24,8 @@ texture { New_Penny scale 0.3 }
{
union
{
box { <-1, 0, -1>, <-0.08, 1.6, 1> }
box { <0.08, 0, -1>, <1, 1.6, 1> }
box { <-1, 0, -1>, <-0.08, 1.6, 1.5> }
box { <0.08, 0, -1.5>, <1, 1.6, 1> }
}
texture
{

View File

@ -1,23 +1,34 @@
/*
* un petit train
* --------------
*
* pas la peine de chercher la benne ici, elle est partie
* dans son fichier 'benne.inc'.
* des éléments du petit train
* ---------------------------
*
*/
//-----------------------------------------------------------------
#declare Texture_Roues = texture
{
pigment { color LightSteelBlue }
finish { phong 0.7 }
}
#declare Texture_Chassis = texture
{
pigment { color Yellow }
finish { phong 0.6 ambient 0.4 }
}
//-----------------------------------------------------------------
#declare Corps_Grande_Roue = object
{
difference {
union {
cylinder { <-1, 0, 0>, <1, 0, 0>, 4 }
cylinder { <-0.5, 0, 0>, <-0.3, 0, 0>, 4.3 }
cylinder { < 0, 0, 0>, <0.8, 0, 0>, 4 }
cylinder { <-0.5, 0, 0>, <0, 0, 0>, 4.3 }
}
cylinder { <-1.2, 0, 0> <-0.6, 0, 0>, 2.8 }
cylinder { < 1.2, 0, 0> < 0.6, 0, 0>, 3.2 }
#declare foo = 0;
#while (foo < 360)
#local R = 2.2;
@ -29,11 +40,7 @@ difference {
#declare foo = foo + 36;
#end
}
translate y*4
texture {
pigment { color LightSteelBlue }
finish { phong 0.7 }
}
texture { Texture_Roues }
}
//-----------------------------------------------------------------
@ -42,29 +49,27 @@ texture {
{
difference {
union {
// cylinder { < 0, 0, 0>, <1, 0, 0>, 3 }
cylinder { <-1, 0, 0>, <0, 0, 0>, 3.3 }
cylinder { < 0, 0, 0>, <0.8, 0, 0>, 3 }
cylinder { <-0.5, 0, 0>, <0, 0, 0>, 3.35 }
}
cylinder { <-1.4, 0, 0> <-0.6, 0, 0>, 1.7 }
cylinder { < 1.4, 0, 0> < 0.6, 0, 0>, 1.7 }
#declare foo = 0;
#while (foo < 360)
#declare xx = sin(radians(foo))*2.31;
#declare yy = cos(radians(foo))*2.31;
#declare xx = sin(radians(foo))*2.29;
#declare yy = cos(radians(foo))*2.29;
sphere { <1.1, xx, yy>, 0.42 }
sphere { <1.1, xx, yy>, 0.44 }
#declare foo = foo + 36;
#end
}
translate y*3 /* why ??? */
texture {
pigment { color LightSteelBlue }
finish { phong 0.6 }
}
texture { Texture_Roues }
}
//-----------------------------------------------------------------
#declare Moyeu = object
{
union {
@ -77,11 +82,13 @@ union {
texture { T_Chrome_2C }
}
//-----------------------------------------------------------------
#declare Petite_Roue = object
{
union {
object { Corps_Petite_Roue }
object { Moyeu translate <0.95, 3, 0> }
object { Moyeu translate <0.95, 0, 0> }
}
}
@ -89,7 +96,7 @@ union {
{
union {
object { Corps_Grande_Roue }
object { Moyeu translate <0.95, 4, 0> }
object { Moyeu translate <0.95, 0, 0> }
}
}
@ -102,10 +109,7 @@ union {
box { <-3.6, 0.7, -12.5>, <3.6, 1.3, 12.5> }
}
translate y*4.1
texture {
pigment { color Yellow }
finish { phong 0.6 ambient 0.4 }
}
texture { Texture_Chassis }
}
#declare Chassis_Long = object
@ -115,10 +119,7 @@ union {
box { <-4, 0.5, -16>, <4, 1.5, 16> }
}
translate y*4.1
texture {
pigment { color Yellow }
finish { phong 0.6 ambient 0.4 }
}
texture { Texture_Chassis }
}
//-----------------------------------------------------------------
@ -135,13 +136,14 @@ pigment { color Gray30 }
#declare Boogie = object
{
#local HR = 3;
union
{
object { Chassis_Boogie }
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, 0, -3.5> }
object { Petite_Roue translate < 5.5, 0, -3.5> }
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, 0, 3.5> }
// object { Petite_Roue translate < 5.5, 0, 3.5> }
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, HR, -3.5> }
object { Petite_Roue translate < 5.5, HR, -3.5> }
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, HR, 3.5> }
object { Petite_Roue translate < 5.5, HR, 3.5> }
}
}
@ -149,13 +151,13 @@ union
#declare Base_Courte = object
{
union
{
#local HR = 4;
union {
object { Chassis_Court }
object { Grande_Roue scale <-1, 1, 1> translate <-5.5, 0, -8> }
object { Grande_Roue translate < 5.5, 0, -8> }
object { Grande_Roue scale <-1, 1, 1> translate <-5.5, 0, 8> }
object { Grande_Roue translate < 5.5, 0, 8> }
object { Grande_Roue scale <-1, 1, 1> translate <-5.5, HR, -8> }
object { Grande_Roue translate < 5.5, HR, -8> }
object { Grande_Roue scale <-1, 1, 1> translate <-5.5, HR, 8> }
object { Grande_Roue translate < 5.5, HR, 8> }
}
}

View File

@ -8,9 +8,6 @@
#version 3.7;
#include "contexte.inc"
#include "colors.inc"
#include "metals.inc"
/*------------------------------------------------------------------*/
#include "monde.inc"

View File

@ -6,9 +6,6 @@
#version 3.7;
#include "contexte.inc"
#include "colors.inc"
#include "metals.inc"
/*------------------------------------------------------------------*/
#include "monde.inc"

View File

@ -4,15 +4,15 @@
*/
/*------------------------------------------------------------------*/
plane {
y, 0
cylinder {
<0, -0.2, 0>, 0, 400
pigment {
image_map {
png "picz/plancher.png" interpolate 2
}
rotate x*90
translate <-0.5, 0, -0.5>
scale <150, 1, 150>
scale <250, 1, 250>
}
}

View File

@ -1,7 +1,13 @@
TODO
====
[ ] Rendre le Makefile pilotable depuis le shell ?
[ ] Rendre le Makefile pilotable depuis le shell
[ ] Tester le module à partir d'un .INI de Povray
[ ] Restructurer l'arborescence de la construction
[ ] Définir un jeu de textures spécifique
[ ] Préparer le concept de "mise en cadre"

View File

@ -7,9 +7,6 @@
#version 3.7;
#include "contexte.inc"
#include "colors.inc"
#include "metals.inc"
/*------------------------------------------------------------------*/
#include "monde.inc"

View File

@ -9,10 +9,7 @@
plane {
y, 0
pigment {
image_map
{
png "picz/plancher.png" interpolate 4
}
image_map { png "picz/plancher.png" interpolate 4 }
rotate x*90
translate <-0.5, 0, -0.5>
scale <30, 1, 30>
@ -25,10 +22,7 @@ plane {
plane {
y, 0
pigment {
image_map
{
png "picz/plancher.png" interpolate 4
}
image_map { png "picz/plancher.png" interpolate 4 }
rotate x*90
translate <-0.5, 0, -0.5>
scale <30, 1, 30>

View File

@ -1,4 +0,0 @@
#!/bin/bash
make targa
make -j 2 all

View File

@ -1,10 +1,6 @@
#version 3.7;
#include "contexte.inc"
#include "colors.inc"
#include "metals.inc"
#include "textures.inc"
/*------------------------------------------------------------------*/
#include "monde.inc"

View File

@ -1,12 +1,10 @@
/*
* le grand garage des trains
*/
#version 3.7;
#include "contexte.inc"
#include "colors.inc"
#include "metals.inc"
#include "textures.inc"
/*------------------------------------------------------------------*/
#include "incs/poteaux.inc"
object { Poteau_1 }

26
tools/mk_anim.sh Executable file
View File

@ -0,0 +1,26 @@
#!/bin/bash
SPOOL="$HOME/TMP"
mkdir "$SPOOL"
NBRE=279
POVOPT=" -w768 -h576 +q9 +a -d "
SRCFILE="train.pov"
for idx in $(seq 0 $NBRE)
do
outfile=$(printf "%s/%04d.png" $SPOOL $idx)
horloge=$(echo "$idx / $NBRE" | bc -l)
printf "%-20s %.3f\n" $outfile $horloge
povray -i${SRCFILE} ${POVOPT} -K${horloge} -o${outfile}
done
ffmpeg -nostdin \
-loglevel error \
-y -r 30 -f image2 -i $SPOOL/%04d.png \
-c:v libx264 -pix_fmt yuv420p \
$SPOOL/foo.mp4

10
tools/tagpicz.sh Executable file
View File

@ -0,0 +1,10 @@
#!/bin/bash
printf "==== %s ( %s ) ===\n" $0 $1
VALUE=$(( $RANDOM % 4096 ))
printf "random value = %03xH\n" ${VALUE}

View File

@ -8,10 +8,6 @@
#version 3.7;
#include "contexte.inc"
#include "colors.inc"
#include "metals.inc"
#include "textures.inc"
/*------------------------------------------------------------------*/
#include "monde.inc"
@ -19,7 +15,6 @@
#include "incs/train.inc"
#include "incs/electric.inc"
#include "incs/rails.inc"
#include "incs/train.inc"
#include "incs/benne.inc"
#include "incs/citerne.inc"
#include "incs/ridelles.inc"
@ -35,20 +30,28 @@ union {
}
}
#declare Train_Electric = object
{
union {
object { Locomotive_Electric translate <0, 2, -10> }
object { Wagon_Corail translate <0, 2, 29> }
}
}
union
{
object { Trois_rails }
object { Locomotive_Vapeur translate <0, 2, -56> }
object { Wagon_Citerne translate <0, 2, -25> }
object { Wagon_Benne translate <0, 2, 2> }
object { Wagon_Corail translate <0, 2, 39> }
object { Wagon_Ridelles translate <0, 2, 78> }
object { Locomotive_Vapeur translate <0, 2, -52> }
object { Wagon_Citerne translate <0, 2, -21> }
object { Wagon_Benne translate <0, 2, 6> }
object { Wagon_Ridelles translate <0, 2, 41> }
#local XS = 60;
object { Trois_rails translate x*XS }
object { Locomotive_Electric translate <XS, 2, 6> }
#local DZ = 60 - (clock*33);
object { Train_Electric translate <XS, 0, DZ> }
}
#include "incs/poteaux.inc"

View File

@ -5,10 +5,6 @@
#version 3.7;
#include "contexte.inc"
#include "colors.inc"
#include "metals.inc"
#include "textures.inc"
/*------------------------------------------------------------------*/
/*

View File

@ -4,7 +4,6 @@
#version 3.7;
#include "contexte.inc"
#include "colors.inc"
#include "metals.inc"
#include "incs/train.inc"
@ -21,9 +20,7 @@ camera {
angle ANGLE_CAM
}
cylinder { <-100, 0, 0>, <100, 0, 0>, 0.1 pigment { color Red } }
cylinder { <0, -100, 0>, <0, 100, 0>, 0.1 pigment { color Green } }
cylinder { <0, 0, -100>, <0, 0, 100>, 0.1 pigment { color Blue } }
object { Repere }
light_source { <90, 131, 190> color Cyan }
light_source { <90, 111, 250> color Magenta }

View File

@ -12,10 +12,6 @@
#version 3.7;
#include "contexte.inc"
#include "colors.inc"
#include "metals.inc"
#include "textures.inc"
/*------------------------------------------------------------------*/
#include "monde.inc"