Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ANN: 3d, récréation mathématique

5 views
Skip to first unread message

ulis

unread,
Jul 21, 2006, 2:06:44 PM7/21/06
to
J'ai le grand bonheur de vous annoncer la naissance d'une nouvelle
récréation mathématique en Tcl. J'ai nommé 3d !

Merci de caresser l'enfant délicatement.

Mon plus grand espoir est de voir une bonne fée (compétente !) se
pencher sur son berceau car j'ai peur d'une malformation au niveau des
transformations de coordonnées.

Une image de la belle :
http://perso.wanadoo.fr/maurice.ulis/tcl/Maths/3d.png

Son livret :
http://perso.wanadoo.fr/maurice.ulis/tcl/Maths/3d.tcl

ulis, l'heureux parent

ulis

unread,
Jul 22, 2006, 10:28:04 AM7/22/06
to
Encore plus belle, encore plus douce, 3d passe à la version 1.1.

Pardonnez-lui quelques malformations quand elle se tourne : elle est
encore si jeunette !

Copie d'écran :
http://perso.wanadoo.fr/maurice.ulis/tcl/Maths/3d.png

Téléchargement :
http://perso.wanadoo.fr/maurice.ulis/tcl/Maths/3d.tcl

ulis qui doit aller remettre une couche

ulis

unread,
Jul 22, 2006, 6:01:31 PM7/22/06
to
C'est affolant comme ça grandit vite : déjà la v1.2.
Et tout ça grâce aux bons soins du Dr Eric Hassold.
(faudra que je vois si c'est remboursé)

Téléchargement :
http://perso.wanadoo.fr/maurice.ulis/tcl/Maths/3d.tcl

ulis qui va enfin pouvoir dormir

Kroc

unread,
Jul 24, 2006, 2:14:09 AM7/24/06
to
ulis a écrit :

> .../...


> ulis qui va enfin pouvoir dormir

... jusqu'au prochain biberon seulement. ;-)

Très chouette en tout cas !

--
David Zolli - Kroc

ulis

unread,
Jul 27, 2006, 5:33:27 PM7/27/06
to
En version 1.4 maintenant. C'est un petit bijou !

Et toujours :

Téléchargement :
http://perso.wanadoo.fr/maurice.ulis/tcl/Maths/3d.tcl

ulis émerveillé par toutes ces beautés

Eric Hassold

unread,
Jul 27, 2006, 7:06:26 PM7/27/06
to
ulis a écrit :

C'est fou a quelle vitesse ca grandit, ces bestioles la!

Te livre un commentaire, juste comme il m'est venu: a la vue de la
capture d'ecran, je m'attendais a qqchose comme une reflexion
d'eclairage sur les faces, mais apres avoir telecharger code et fait
tourner le polyedre, le choix de la luminosite de chaque face m'a laisse
un peu perplexe. En jetant un oeil rapide au code, je vois que tu
utilises la distance euclidienne du centre a l'origine, ce qui me semble
correspondre a rien de physique. C'est vraiment voulu? Bon, ca fait des
faces qui clignotent un peu, et d'un point de vu esthetique, rien a
dire, donc si il faut y voir "le delire de l'artiste" ((c) le pere noel
est une ordure), ca me va :-)

Une autre approche, au cas ou le rendu realiste te tenterait: pour
chaque face F de centre C, j'ai essaye en prenant plutot le produit
scalaire du vecteur OC normalise (ce qui revient a une vecteur normal de
la face de norme 1) avec un vecteur unitaire fixe, qui correspond au
vecteur directionnel d'une source lumineuse placee a l'infinie. Ce que
tu obtiens est le cosinus de l'angle entre ces deux vecteur, ce qui
correspond assez bien a un coefficient d'illumination de la face. Et on
peut meme facilement ajouter plusieurs coefficients ainsi obtenu, comme
si la scene etait eclairee par plusieurs lumieres (voire des lumieres de
differentes couleurs). Au total, ca donne un rendu realiste d'un objet
eclaire. Mais bon, le realisme, c'est pas forcement ce que tu cherches.
C'est juste pour lancer l'idee... et etre certain que le record sur
f.c.l.t. sera largement battu ;-)

Longue vie au bebe.

Eric

-----
Eric Hassold
Evolane - http://www.evolane.com/

Eric Hassold

unread,
Jul 27, 2006, 7:20:49 PM7/27/06
to
Eric Hassold a écrit :

> Une autre approche, au cas ou le rendu realiste te tenterait: pour
> chaque face F de centre C, j'ai essaye en prenant plutot le produit
> scalaire du vecteur OC normalise (ce qui revient a une vecteur normal de
> la face de norme 1) avec un vecteur unitaire fixe, qui correspond au
> vecteur directionnel d'une source lumineuse placee a l'infinie. Ce que
> tu obtiens est le cosinus de l'angle entre ces deux vecteur, ce qui
> correspond assez bien a un coefficient d'illumination de la face. Et on
> peut meme facilement ajouter plusieurs coefficients ainsi obtenu, comme
> si la scene etait eclairee par plusieurs lumieres (voire des lumieres de
> differentes couleurs). Au total, ca donne un rendu realiste d'un objet
> eclaire. Mais bon, le realisme, c'est pas forcement ce que tu cherches.
> C'est juste pour lancer l'idee... et etre certain que le record sur
> f.c.l.t. sera largement battu ;-)
>

Tant qu'a faire, aavnt de l'effacer et qu'il ne soit perdu, le code en
question (a glisser dans la procedure display):

# Liste des sources d'eclairage
# Chaque lumiere est de la forme {dx dy dz intensity}
# (dans l'exemple, deux sources d'eclairage)
set lights [list]
lappend lights [list 0 0 -1 0.7]
lappend lights [list 0 -1 -1 0.3]

foreach center $centers \
{
foreach {id xm ym zm} $center break
set m [expr {sqrt($xm * $xm + $ym * $ym + $zm * $zm)}]
if {$m < 1.e-7} { set c 0 } \
else { set c [expr {107 + int(92 * (abs($zm) + abs($ym)) / $m)}] }
if {$c > 255} { set c 255 }

# Calcul lumiere reflechie par face
set r 0.0
foreach light $lights {
foreach {lx ly lz lint} $light {break}
set rl [expr {$lint*(($lx*$xm+$ly*$ym+$lz*$zm)/$m)}]
if {$rl > 0} {
set r [expr {$r+$rl}]
}
}
if {$r<=0.0} {
# Face pas du tout eclairee
set c 0
} else {
set c [expr {int(255*$r)}]
if {$c>255} {
set c 255
}
}

set c1 [expr {int($c * 0.8)}]
set color [format #%2.2x%2.2x%2.2x $c $c1 0]
.c itemconfig t$id -state [expr {$zm < 0 ? "normal" : "hidden"}]
.c itemconfig t$id -fill $color
}

Eric

ulis

unread,
Jul 28, 2006, 12:34:15 AM7/28/06
to
> Tant qu'a faire, avant de l'effacer et qu'il ne soit perdu, le code en

> question (a glisser dans la procedure display):

Comme elle est gâtée ma 3d ! Sa marraine la fée Eric l'a encore
comblée de cadeaux :
une vraie lumière pour qu'elle soit plus belle !

La photo de la belle :
http://perso.wanadoo.fr/maurice.ulis/tcl/Maths/3d.png
(promis, la prochaine fois elle sera avec sa marraine)

Et toujours son carnet :
http://perso.wanadoo.fr/maurice.ulis/tcl/Maths/3d.tcl

ulis, des étincelles plein les yeux

0 new messages