• 21 janv 2013
    derniere maj 05/05/2021

    RAYTRACING

    Apres des début sur un 386SX avec coproc arithmétique, calcul de ma premiere image en 22H00 ! en 640x480 et sans modeleur SVP !
    heureusement que la puissance actuelle des PC permet des délais d'attente raisonnables ..
    <1mn de calcul pour la même image sur un PIV 2,6Ghz
    Bien prévoir au moins 1Go de RAM pour etre tranquille avec la manipulation d'image!
    Attention, le temps de calcul dépent beaucoup de la qualité finale( Q9), et surtout du nombre de points d'éclairage
    et des objets avec surfaces réflechissantes.. sans parler de l'usage de la radiosité!
    2017 .. bien plus de confort avec version Win10 64 bits pour POVRAY .. dommage MORAY n'est plus maintenu.


    Les Outils
    Gallerie d'images
    Exemples de réalisations :

    Altimetre multi tours (avec Animation )
    Indicateur à aiguille 255 pas (avec Animation)
    Allumage progressif de lampe en 100 pas ( avec Animation )
    Thermometre Analogique (ou presque) avec Animation. (juin 2017)
    Horloge AT89C2051 6 afficheurs et > 100 leds ( avec Animation.) (Mars 2018)
    Meuble Comptoir cuisine (2018)
    Boite Horloge et Message Defilant 12matrices H 8x8
    Boite Horloge et Message Defilant 8 matrices V 8x8 (2020)
    Porte Treillis simple et double ( Février 2021) comparaison virtuel et reel
    **** rendu avec POVRAY 3.7 64 bits

    Divers:
    Intersections






    Outils:


    images/Moray_logo.jpg images/Pov_logo.jpg

    logo MORAY 3.5

    logo POVRAY 3.5


    Gallerie :

    13_bieres_b.jpg
    13_bieres_b.
    images/t_13_bieres_c.gif
    13_bieres_c.
    brouette.jpg
    brouette.

    clayette.
    clayette.jpg
    images/t_min_ampo.gif
    min_ampo.
    filament.jpg
    filament.
    images/t_jardin.gif
    jardin.
    StMau
    images/t_bieres_sur_table3.gif
    Bieres sur table 3
    mini_amp.jpg
    mini_amp
    portail.jpg
    portail.

    salon.
    St Mau
    sdc.jpg
    sdc.
    images/t_2_robinets.gif
    Hot + Cold= tiede ! Irelande
    rpm_meter.jpg
    rpm_meter
    images/t_Touret_tiroirs.gif
    Touret à tiroirs
    images/t_rope_chain_rail.jpg
    corde chaine rail
    images/t_android_ray.jpg
    android_ray
    images/t_tv_samsung.gif
    Ecran Samsung
    images/t_current_hall_sensor_.jpg

    Capteur effet Hall

    images/t_escali04_1999.gif
    images/t_Meubles.gif
    Meubles 1999 St Mau.
    images/t_intempor4b.gif
    Intempor 4b ..... "une cuillere de piano ?"
    images/t_meuble_comptoir_cuisine_181108.gif
    fabrication meuble comptoir 2018-2019

    Horloge Anneau RGB 60 leds + 4 Matrices 8x8
    juin 06/2019
    images/t_mise_en_boite_journal_lumineux_12_matrices_191218.gif

    Horloge Message defilant,
    avec 12 matrices 8x8 Horiz.
    images/t_mise_en_boite_horloge_journal_lumineux_8_matrices_v_2020.gif
    Hologe Message defilant
    avec 8 matrices 8x8 Verticales .....2020
    images/t_Double_140x180_et_Simple_Treillis_70x180_2021.gif
    Porte treillis simple et double -02/2021)
     


    et pour les curieux ou adeptes ,ci dessous les sources fichier MDL et POV + accessoires
    13_bieres_mdl.zip
    brouette.zip
    sdc.zip image 800x600 calculée en : Total Time: 0 hours 27 minutes 50 seconds (1670 seconds)
    Voltmetre à aiguille :
    Rpm_Meter_mdl.zip
    rpm_indic20.zip decomposition variation aiguille en 20 steps ( à utiliser dans programme VB6! voir MAX1241)
    rpm_indic50.zip decomposition variation aiguille en 50 steps

    Touret_Tiroirs.zip
    2_robinets.zip calcul en 7min 38 sec image 800X600
    Current_Hall_Sensor_.Zip calcul en 16 minutes image 640x480 sur PIV 2,6Ghz
    rope_chain_rail.zip usage des objets :links corde,rail,chaines avec mini spheres pour accrocher les extremites,
    android.mdl ...la mascotte remaniée
    nota: variable link loseness , permet à la corde de subir la gravite terrestre !
    autres exemples



    Meuble Comptoir 2018
    Meuble_Comptoir_Cuisine_181108.mdl
    carrelage.mdl
    Textures Map:
    carreaux_x4_salon_45degres.gif
    Bois_Dessus_comptoir_e.gif
    Povray files : POVRAY_Meuble_Comptoir.zip

    le Virtuel et le reel :

    images/t_Comptoir_Cuisine_Reel_et_3d_181113.gif

    commentaires: mailto:paulfjujo@free.fr



    Boite Horloge + message Defilant (12 matrices H) 2019

    images/t_mise_en_boite_journal_lumineux_12_matrices_191218.gif


    fichier Modeleur Moray :
    Mise_en_Boite_Journal_Lumineux_12_Matrices_191218.mdl
    Fichiers POVRAY:
    mise_en_boite_journal_lumineux_12_matrices_191218.pov
    mise_en_boite_journal_lumineux_12_matrices_191218.inc

    4_Matrices_8x8_A.gif
    4_Matrices_8x8_B.gif
    4_Matrices_8x8_C.gif




    Boite Horloge + message Defilant (8 matrices V)
    14/02/2020

    images/t_mise_en_boite_horloge_journal_lumineux_8_matrices_v_2020.gif
    boite L= 390 l=90 h=50mm avec Max7219_Matrice_V_8x8_2020.mdl



    Fichier Modeleur Moray :
    Boite_Horloge_Journal_Lumineux_8_Matrices_V_2020_02_14a.mdl
    Fichiers POVRAY:
    boite_horloge_journal_lumineux_8_matrices_v_2020_02_14a.pov
    boite_horloge_journal_lumineux_8_matrices_v_2020_02_14a.inc
    Max7219_Matrice_V_8x8_2020.mdl
    MAX7219_CI.gif
    mylogo_CI.gif
    Base_CI_map.gif



    ANIMATIONS


    ALTIMETRE
    images/altimetre.jpg
    Creation avec MORAY..100628
    altim000.pov
    Altimetre_animation_INI.txt
    Altimetre.mdl
    Particularité :
    AUCUN MAPAGE D'IMAGE ..(hormis le logo!) uniquement fait avec les primitives de MORAY
    sous MORAY:
    Les graduations sont faites avec des cylindres , recopiés sous MORAY,
    via un pas de 360 °/50 pour les petites graduations et un pas de 360/10 pour les grandes graduations.
    Les aiguilles sont faites avec la primitive extrusion.
    A partir du fichier original de rendu crée par POVRAY, renomé Altim000.pov (pour evoluer à ALTIM501.pov
    le fichier altimetre.ini est modifié manuellement pour y inserer la variable clock qui sert à
    recalculer les angles formés par les 2 aiguilles et relancer un rendu pour ...elaborer les 501 images

    5H00 de calcul pour les 501 images.
    500 pas pour parcourir les 10000 metres
    couplées à l'appli en VB6 , la mesure acquise via la laison RS232, fait pointer sur le bon fichier image



    INDICATEUR 250
    associé au programme VB6

    indicateur_250.jpg

    indicateur 250 pas

    Indicateur 250 degres de course => 251 images (0 à 250)
    Graduation tous les 8 degres pour correspondance 4096 points 100% 250°
    Fichier modeleur : Moray_Indicateur_250.zip
    Fichier POV resultant , modifié pour rendering en 250 pas de -125° à + 125 ° (angulaire!) indic000.pov
    Fichier POV INI associé : Indicateur_250_pas.INI
    Images utilisées pour Appli en VB6 (animation ).




    Ampoule à incandescence à 100 etats (00 à 99)
    Fichier modeleur : Moray_ampoule63v.zip
    Fichier POV resultant , modifié (ligne 238) pour rendering de 100 pas pour le parametre Flare_size: amp_000.pov
    Fichier POV INI associé : ampoul_100.ini

    Lampe états de 0 à 100%




    Thermometre ANALOGIQUE (ou presque)

    La mesure est faite via un capteur Analogique LM35DZ, un MCU en fait la moyenne sur 10 mesures
    Cette mesure sert à positionner l'aiguille de l'indicateur via un servo moteur
    voir _16F1847/16F1847_Cde_Servo.htm#Thermo_ANA
    160 images composent l'animation .
    nota: usage de POVRAY version 3.7
    Parametrage:

    images/t_ServoTemper_Animation_POVRAY_setup_170528.gif
    parametre POVRAY 1ere image (fixe)


    Fichiers MORAY :
    Servo_temper_14_22_30.mdl
    servo_temper_14_22_30.inc
    Fichier POV resultant : servo_temper_14_22_30.pov

    Fichiers POVRAY, issu de MORAY, mais modifié pour l'animation:
    servo.pov

    les parametres , dans servo.pov pour orienter la cible angulairement :



    rappel: 8 cars maxi, il faut laisser la place pour le rajout d'index 000 à 160
    Fichiers liéz à l' Animation:
    Rerun00.Ini
    pvengine.ini
    ANIMSERVO.INI

    L'animation : Anim_Indicateur_Temper.gif



    Horloge AT89C2051 60 leds

    Etude d'un design d' habillage pour une horloge affichant les secondes ecoulées via 60 leds ..et plus.
    Lien vers l'application et montage Hardware de base, pour cette horloge numerique
    Realisation en 3 phases :
    Preparation de la scene comportant les differents objets , avec le modeleur MORAY,
    Ajustement du fichier de base avec POVRAY pour preparer les images necessaires à l'animation
    et création du Fichier ANIME

    La face avant de cette horloge comporte les 6 afficheurs 7 segments, regrpupés par blocks de 2 , pour affichage de HH MM SS
    Les leds en circonference, s'allument progressivement de 0 à 59 secondes
    ainsi que 3 ilots de leds,en synchronisme avec les leds secondes

    1) Usage du Modeleur MORAY:

    Le point de depart est de créer une scene avec camera, éclairages et les differents objets,éléments à afficher
    Un "support" de tout l'ensemble est en arriere plan
    La camera vise le centre , et est située pile en face.
    Moray permet de DUPLIQUER une led , en 60 leds réparties en ORBIT à partir du centre.
    La led est ici tres simplifié : un morceau de cylindre
    Un afficheur est construit à l'aide de 7 segment ( 1 segment= un parallepidepe et 4 plans de coupe en biseau)
    Utilisation de CSG : outil de découpe ,assemblage par somme, intersection ou différence de differents objets..
    un afficheur 7 seg est d"doublé dans un pavé de 2 afficheurs
    Ce pavé est Dupliqué par 3 pour les 3 ensembles d'affichage HH ,MM,SS
    Le dernier afficheur SS, sera remplacé par la suite , en interne,dans POVRAY, mais c'est pour le situer dans l'espace
    De la meme facon , l'Oeil D , est une led mise en orbite avec un pas de 360°/12
    L'Oeil Gauche est dupliqué
    Le sourire est aussi une Led, qui est rectangulaire , mise en orbite avec un Rayon fixe, et avec une orientation variable suplémentaire
    Une fois tous les élements positionnés correctement .. on véerifie dans les 3 plans X,Y,Z
    On applique les textures (couleurs ) aux éléments => ce qui crée un fichier annexe : horloge_60leds_180328.inc
    au final, le fichier Moray obtenu est :
    Horloge_AT89C2051_runing_180327.mdl


    Architecture du fichier MORAY :

    images/t_Horloge_60Leds_Moray.gif images/t_Horloge_60leds_Moray_Browser.gif images/t_Horloge_60leds_Moray_Objets.gif
    MORAY modeleur (en fil de fer) Object Browser Objetc selection


    On lance alors un Rendu avec une definition d'image precisée..
    qui crée un fichier *.POV dans le directory : Moray\Povscn\Horloge_AT89C2051_runing_180327.POV
    et lance , active POVRAY , en lui passant comme paramètre ce nom de fichier POV
    et on obtient cette image *.PNG ( sans les commentaires en jaune !)

    images/t_Projet_Ray_Horloge_Face_180325.gif
    4em image de synthese .. repartition des zones leds







    Si le point de départ est jugé correct, on passe à la suite : L' Animation
    Pour cela on reprend le fichier POV crée via MORAY , renomé en hor60s_7seg_180328.pov
    pour l'adapter, modifier

    2) Usage du lanceur de rayon : POVRAY :

    version 3.62 en 64 bits

    images/t_Povray_362_capture.gif

    POVRAY représente la scene en 3D, via son langage de programmation.
    Avant l'arrivée du modeleur MORAY, il fallait se repr"senter la scene dans sa tête , ou avec un dessin crayon/papier/gomme.
    C'est faisable.. et en plus on comprends mieux .(car on y est obligé !)
    POVray est abondamment illustré, documenté sur son site original, et par les utilisateurs ,concepteurs sur le Web.

    POVray dispose d'une variable interne Clock , qui peut evoluer de 0.0 à 1.00 par défaut, et d'une variable Frame_number
    au niveau d'une animation , on definit donc la relation qui existe entre Clock et Frame (images)
    pour definir une animation.

    j'ai donc defni :
    dans le fichier principal d"crivant la scene : hor60s_7seg_180328.pov
    #declare Avance =floor(clock/5.999); // 60 pas de 6°
    #debug concat ("Avance= ",str(Avance,5,3),"\n")

    nota: pourquoi 5.999 et non pas 6.0 ..parcque les tests en flottant ne conaissent pas les valeurs trop ronde !
    et dans le fichier de rendu animation: Hord60s_7seg_run_180328.ini
    Initial_Frame=0
    Final_Frame=59
    Initial_Clock=0.0
    Final_Clock=360.0

    * Affichage Groupe de 60 leds
    cette variable Povray, nommée AVANCE parcours les 360 ° par pas de 6° , et correspond donc à la position et Numéro de la LED
    Cette variable sert à definit si la led doit etre allumée ou pas , par raport à un seuil ,ou une zone de seuils
    Pendant le parcours, l'Avance, des 60 leds, une partie est derivée vers 74
    *Affichage Oeil Dt .. Avance de 1 à 11
    *Affichage pupille D .. Avance=12
    *Affichage "Sourire" à partir Avance de 22 à 38
    *Affichage Oeil G .. Avance de 48 à 59
    *Affichage pupille G Avance=48

    Affichage des secondes dans le groupe afficheurs Secondes
    Apres plusieurs essais infructueux, du à un manque de connaissance et aussi au fait que POVRAY n'a pas de fonction
    AND Bit logique , permettant de selectionner un segment suivant l'etat d'un bit dans un mot (ou byte)
    j'ai trouvé un site tres interessant sur le raytracing : http://www.f-lohmueller.de/
    auquel j'ai emprunté la fonction original Seven_Segment_LCD.inc
    Je n'ai pas tout compris ! mais j'ai pu la modifier , adapter à mon cas .
    Je me sers de la variable Avance , pour valider les segments à allumer dans les 2 digits secondes.

    Seven_Segment_LCD_180328.inc
    modif pour mettre les digits verticaux
    modif pour afficher le digit dizaine si secondes <10
    modif pour renverser le plan d'affichage des digits
    modif emplacement x,y,z dans mon propre plan d'affichage
    modif mise à l'echelle et couleur des segments

    Préparation de la construction des 60 images pour l'animation :

    paramétrage défini dans Hord60s_7seg_run_180328.ini
    Fichier source povray : hor60s_7seg_180328.pov
    bien verifier que l'onglet actif soit le fichier *.pov



    click sur Render .. c'est partit..

    calcul des 60 images en moins d'1/4 Heures avec taille 800x600 et qualité 6
    Total Scene Processing Times
    Parse Time: 0 hours 0 minutes 3 seconds (3 seconds)
    Photon Time: 0 hours 0 minutes 0 seconds (0 seconds)
    Render Time: 0 hours 14 minutes 20 seconds (860 seconds)
    Total Time: 0 hours 14 minutes 23 seconds (863 seconds)
    CPU time used: kernel 44.77 seconds, user 818.23 seconds, total
    863.00 seconds
    Render averaged 556.20 PPS over 480000 pixels


    on se retouve avec 60 fichier *.png dans le directory designé par le fichier *.ini
    D:\Raytracing\Images\hor60s_7seg_18032800.png ..........hor60s_7seg_18032859.png

    Statistiques: (extrait du fichier stat.out généré par POVRAY)



    Les differents fichiers de travail pour en arriver là

    D:\Raytracing\Moray\MDL\Horloge_AT89C2051_runing_180327.mdl
    D:\Raytracing\POV\scenes\hor60s_7seg_180328.pov (La scene complete )
    D:\Raytracing\POV\include\Seven_Segment_LCD_180328.inc ( Animation des 2 digits secondes)
    D:\Raytracing\POV\include\Sourire_modifie_180328.inc
    D:\Raytracing\POV\include\horloge_60leds_180328.inc(Textures,couleurs)
    D:\Raytracing\POV\ini\Hord60s_7seg_run_180328.ini (Animation : 60 images en 800x600 Qualité=6)
    et les 60 images !

    et c'est pas fini !


    3) Création de l'animation

    il faut d'abord transformer les 60 fichier *.png en format *.gif
    on pert un peu en qualité en passant de 65K couleurs à 256 couleurs (optimisées)..mais on gagne en moins de poids total en Moctets
    lancer PSP5 (Paint Shop Pro 5)
    ---convertion multiples
    -----nom fichie sources *.png
    -----les selectionner
    --------hor60s_7seg_18032800.png .. hor60s_7seg_18032859.png
    ----------dossier de destination : D:\Raytracing\Images\_Horloge_60leds
    ------------parametres *.gif
    ------------option version 89.a non entrelacés
    ------Demarrer
    ... conversion reussi
    fermer PSP5

    Creation du fichier d'animation :

    lancer
    C:\Program Files (x86)\Paint Shop Pro 5\Anim.exe
    Fichier
    ...Assistant d'animation
    .......meme taille que la 1ere image
    .........opaque
    suivant
    ......la jouer 1 fois
    ......duree d'affichage 100 / 100em de seconde donc 0,1 sec
    suivant
    ......ajouter image

    ATTENTION : ajouter par petit paquet de fichiers .. sinon ça bug!
    ajouter de hor60s_7seg_18032800.gif à hor60s_7seg_18032810.gif ouvrir
    bloque au dela de 7 cumul de fichier =>

    renomage par blocs d fichiers, avec Xnview de tous les fichiers hor60s_7seg_180328xx.gif
    avec un nom tres cours ex: HORL#".gif

    avec ce nom court, on peut entasser des paquets de 15 fichiers à la fois
    Nota: cette operation aurait pu etre mixée , en meme temps que la transformation *.PNG en GIF
    ...... SUIVANT
    ......TERMINER
    ....fichier
    .............Enregister sous
    ............Horloge_60leds_Anim_180328.gif
    ............Type : GIF
    ..................Enregistrer
    ...................param : meilleur qualite d'image
    SUIVANT
    ............creation palette,application palette, optimisation,compression
    SUIVANT
    .......2,99Mo
    ........Terminer
    Quitter


    Resultat:
    D:\Raytracing\Images\_Horloge_60leds\Horloge_60leds_Anim_180328.gif = 3.065 Mo
    ouvrire . Horloge_60leds_Anim_180328.gif avec : internet explorer ou Animation Shop (Paint Shop Pro PSP5)
    Video :
    Horloge_60leds_Anim_180328.webm

    la suite : Réalisation pratique dans le monde Réel..






    Porte Treillis Simple et Double
    21 fev 2021.
    Montage pour supporter 2 treillis bois de 180x60x2 cm, pour ombrage et coupe vent ,
    Usage de 3 piliers bois 7x7cm rainurés dans lesqueles sont glissées les treillis.
    *penible operation pour raboter / ponçer les montants verticaux epaiseur totale 20mm-> à reduire à <=19mm
    Une planche suppor pour les 3 "mats" , receavnt aussi un BAC de Bambous, faisant
    contre poids .. evite le renversement par grand vent !

    Coût de l'operation
    * Gify ;
    2 treillis bois 180x60x2cm ....2x 9,90€ .................... 19,80 €
    * Problemo: Trop épais ! .. la version simple treillis (de 2020) , faisait e=18mm ..OK pour rainure de 20mm
    * Amberieu BricoCash :
    3 poteaux 2100x70x70 rainurés (2cm), ...3x 8.55€ ...25,65 €
    1 Lame finition 2x6x200 cm ........................................2,00 €
    3 support 15x15x14cm ....... 3x 4.90€ .......................14.70€
    * Meximieux BricoMarché
    Planche aglo hydrofuge (vert)
    150x61cm recoupée à 128x55 e=21mm ................8.90 €
    3 sachets de visserie + rondelles ............. ..............17.40 €
    1 pot de peinture 1L gris ANTH RAL....................16.99 €
    total = 105.44€

    images/t_Double_Treillis_20210215_Browser.gif
    MORAY Browser

    images/t_Double_140x180_et_Simple_Treillis_70x180_2021.gif
    vue Arriere double treillis

    images/t_Double_Treillis_20210215_Detail.gif
    vue detail pieds

    images/t_Double_Treillis_20210215_Face.gif

    images/t_Double_Treillis_20210215_Vue_Dessus.gif

    vue implantation sur la planche support


    Objets :
    Pied metalique 71x71, base 15x15x14 : Objet_Support_poteau_7x7cm_15x15x14cm.mdl
    Poteau rainuré 7x7x2100 : Objet_Poteau_rainure_2M_7x7cm.mdl
    Treillis 180x60 : objet_Treillis_60x180cm.mdl

    images/t_Moray_Double_Treillis_20210215.gif
    Moray en action insertion de 3 objets : 2 Pieds et 1 poteau (raccourci et coupé par un plan) + 3 eclairages

    Rendu direct par la fonction "Render" de MORAY ( sans lancer POVRAY 3.5 )
    * fond noir si parametre Background =0 = Noir

    fichier modeleur MORAY : Double_140x180_et_Simple_Treillis_70x180_2024.mdl (rev 24/02/2021)
    clicker sur barre en haut Render .. Render

    Exportation vers Povray :

    Test rendu avec POVRAY 3.67 Windows 10 64 bits
    logo POVRAY 3.7
    Uniquement via l'usage direct de POVRAY.exe ( version 3.7)
    les fichiers povay necessaires ci-dessous , résultent de l' Exportation par Moray.
    fichier POV : double_140x180_et_simple_treillis_70x180_2021.pov
    textures : double_140x180_et_simple_treillis_70x180_2021.inc
    init: Double_140x180_et_Simple_Treillis_70x180_2024.INI
    copie du fichier povray.ini : povray.ini_20210224.txt ,
    *l'original est dans C:\Users\Paul\Documents\POV-Ray\v3.7\ini\povray.ini

    Messages Windows :
    Render Statistics
    Image Resolution 1600 x 1200
    Pixels: 2 040 800 Samples: 1720208
    Rays: 3 857 922
    Ray->Shape Intersection Tests
    Box 1 0674 022
    Cone/Cylinder 2 242 790
    CSG Intersection 1 481 724
    True Type Font 565 052
    Bounding Box 305 362 085
    Shadow Ray Tests: 16 047 722
    Shadow Cache Hits: 789 970
    Reflected Rays: 96 914
    Peak memory used: 194 285 568 bytes
    Photon Time: No photons
    Radiosity Time: No radiosity
    Trace Time: 0 hours 0 minutes 6 seconds (6.567 seconds)
    using 4 thread(s) with 21.795 CPU-seconds total
    POV-Ray finished
    CPU time used: kernel 0.95 seconds, user 24.84 seconds, total 25.80 seconds.
    Elapsed time 8.36 seconds


    REALISATION :
    24/02/2021
    * incident : blocage de lame de coupe scie cloche 62mm => axe fondu, la lame tourne autour du foret => foutu.
    =>

    images/t_Double_treillis_Virtuel_2021_0224.gif images/t_Double_treillis_realisation_2021_0223.gif
    projet virtuel image 1600x1200 calculée en 8,6sec Realisation

    DIVERS :

    Intersections:
    un simple poteau (Cube) et un Plan de coupe ...

    images/t_intersections_2021.gif
    fichier moray :
    Intersections_2021_0302.mdl



    retour à l'index (home page)