MOTEUR 3D

darknessgc Messages postés 25 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 23 mars 2008 - 10 mars 2004 à 03:53
damned13 Messages postés 1 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 28 février 2006 - 28 févr. 2006 à 09:03
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/21079-moteur-3d

damned13 Messages postés 1 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 28 février 2006
28 févr. 2006 à 09:03
Salut TOM,
bravo pour la magnifique adaptation de ce moteur 3D. 10/10 !
Néanmoins, le seul reproche (minime) est que toutes les équations de Penner (http://www.robertpenner.com/easing/) ne sont pas incluses. Et en essayant d'en rajouter une (EaseOutElastic) en rajoutant l'équation et en l'incluant dans le tableau 'méthode', le déplacement n'a rien à voir avec un elastique : il disparait puis revient à sa place initiale. J'ai évidemment modifier le "si nombre>19" par "si nombre>20".
Je sais que cela fais déjà un petit moment que tu as créé ce moteur 3D mais si toi - ou un autre- pouvait m'éclairer ce serait sympa.
cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 juin 2009
28 sept. 2005 à 10:23
Ils sont rangés dans le dossier modeles Chaque modele est un mc contenant le code de création (si je me souviens bien). Il faut créer ton modélé de la meme facon que les autres MC de la bibliotheque.
Cracking_Cow Messages postés 1 Date d'inscription samedi 6 mars 2004 Statut Membre Dernière intervention 27 septembre 2005
27 sept. 2005 à 20:49
Vraiment du très bon boulot. Je connaissais ce moteur dans sa version d'origine, j'avoue être surpris en voyant la tienne... ça rivalise presque avec les scripts raycasting, j'adore :P

Pour gérer les textures, j'avais trouvé un site sympa (je me souviens plus de l'url, flûte...), bourré de tutoriels flash sur la 3d, dont les textures vectorielles et les textures bitmap. L'inconvénient est simple, les textures se gèrent par poly, et je vois pas vraiment comment découper la texture d'un tore en quelques dizaines de triangles ^^. Enfin, oui, c'est possible, mais très long pour être mis en place... Imagine, découper une image dans Flash avec des traits, créer un MC pour chaque petit triangle... J'en transpire déjà ^^.

Sinon, pour revenir au moteur, j'ai un problème avec la création de modèles ; j'ai créé un lecteur xml afin de pouvoir importer sans trop de souci des modèles de 3dsmax (3dsmax vers xml : j'ai repris le programme du moteur 3DFS, superbissime ^^).

Bref, j'ai ajouté mon code en tant que modèle (comme le tore, par ex.), la lecture du fichier marche bien, super. Par contre, j'vois pas comment intégrer mon modèle dans le moteur... j'ai cherché la trace du cube, tore, etc, je ne trouve que le MC du cube dans le composant 'moteur'...... Donc, où se trouvent ces satanés MC-modèles, ou plutôt, comment intégrer mon modèle ?

Voilà, désolé pour la petite tartine, et encore félicitations pour tes modifications ! ;-)
Blacknight91titi Messages postés 1732 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 9 mars 2015 2
28 nov. 2004 à 19:27
Génial !!!
cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 juin 2009
6 mai 2004 à 15:03
Arf, la source est en flashMX2004
cs_Marvin Messages postés 77 Date d'inscription vendredi 24 janvier 2003 Statut Membre Dernière intervention 19 juin 2006 1
23 avril 2004 à 18:56
le .fla marche pas chez moi..
<:( moi qui voulait me mettre a la 3d...
cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 juin 2009
24 mars 2004 à 14:45
:p
AtomPouce Messages postés 568 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 18 juillet 2006 1
23 mars 2004 à 12:25
bravo C classe ! j en ai marre , lorsque G une idee un minimum originale , ya quelqu un ki sort un truc genial sur ce sujet avant ke G fini ... bou ... enfin bravo kan meme !
cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 juin 2009
22 mars 2004 à 14:25
Je la telecharge... je l'ouvre... et pan! copyright STRILLE! comme par hasard!
darknessgc Messages postés 25 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 23 mars 2008
19 mars 2004 à 02:35
gomene
cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 juin 2009
18 mars 2004 à 20:36
Merci Righton :D
Darkness: sans ouvrir ta source, je sais qu'elle vient de Strille, j'ai deja decortiqué toutes ses sources... Blackwizard a fait de meme avant de poster les siennes... Et la source de raycasting a étée postée par top30 en disant qu'elle venait de strille... comme ta source si tu avais lu le commentaire sur flashkit... De toute facon ce sont toujours les memes methodes, que ce soit Strille, Blackwizard, Top30, ou moi...
cs_righton Messages postés 311 Date d'inscription samedi 24 mai 2003 Statut Membre Dernière intervention 27 septembre 2014
18 mars 2004 à 20:25
Ouah y'a de la maitrise ! bravo tom !
darknessgc Messages postés 25 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 23 mars 2008
18 mars 2004 à 18:11
la source ke j'ai uppé n'est pas de blackwizzard.
cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 juin 2009
18 mars 2004 à 17:49
...
Si je t'en ai parlé, c'est que je les ai DEJA vu...
darknessgc Messages postés 25 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 23 mars 2008
18 mars 2004 à 16:20
J'ai regardé les sources de blackwizzard et c'est magnifique en effet ,
j'ai aussi trouve aux aléa d'un tour sur flashkit un petit moteur qui intègres quelques textures. Je l'ai Uppé sur
http://www.n-o-i-r.fr.st/laboratoire/raycasting f5.zip

comme ca tu pourras jeter un coup d'oeil, j'ai l'impression qu'il quelques petits principes interessants pour eviter des calculs.
cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 juin 2009
18 mars 2004 à 11:06
Heu alors la tu pousses un peu loin, oui, il y a moyen de le faire, (regarde les source de blackwizard pour voir comment), mais ca demande de rajouter une fonction particuliere pour les bitmap dans le moteur, et aussi le fait que ce n'est plus les memes moyens pour arriver au résultat: il faudra utiliser _rotation, en fonction de rotX et rotY, en plus de l'inclinaison à calculer...
Bref, c'est compliqué mais c'est faisable... Mais ca m'etonnerait que je le rajoute (j'essaierai quand meme quand j'aurai le temps)
Je te conseille de regarder aussi la source intitulée "raycasting" qui impressionne toujours...
darknessgc Messages postés 25 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 23 mars 2008
18 mars 2004 à 04:27
serait-il possible d'adjoindre une texture plutôt qu'une valeur RGB aux différents éléments, je me doute que cela devrait ralentir le flash mais cela pourrait dénoter d'une certaine utilité.
darknessgc Messages postés 25 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 23 mars 2008
17 mars 2004 à 17:00
merci Tom pour les contrôles à partir de clip. Pour ce ki est du dévelloppement de mes muscles, ils sont autant en végétation que mes mathématiques, du moins uniquement pour ceux qui se paralysent. mais merci kan même. a+
cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 juin 2009
17 mars 2004 à 13:13
Upload:
Les vertexes sont actifs, les primitives ont été modifiées, pour afficher soit les vertexes, soit les polygones, soit les deux...
J'ai rajouté un exemple de controle grace à des boutons pour toi, darkness...

Celui qui maitrises les maths, ce n'est pas moi, c'est Afad. Moi, je maitrise juste le rapport entre les maths et la programmation (l'ordinateur est un calculateur, rien de plus, rien de moins)... Et je rage de ne pas avoir suivi les cours de math quand j'étais en IUT. Je me rends compte que ca me manque...
Les maths, c'est comme la musculation: si tu t'entraines tous les jours, tu developpes tes muscles...
darknessgc Messages postés 25 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 23 mars 2008
17 mars 2004 à 04:06
Comme je l'ai dit plutôt , je ne suis pas très fort en mathématiques

mais comme tu à l'air d'être toi de bien t'amuser avec , c'est fou ce que je peux envier les gens qui manipulent les maths avec une telle facilité déconcertante. je te poste ces quelques liens qui pourront, si tu y vois interet m'aider :-D

http://www.ac-noumea.nc/maths/amc/polyhedr/convex4.htm
et
http://hypo.ge-dip.etat-ge.ch/www/math/html/node45.html
woila bonne journée et merci pour ton travail comme toujours. Ainsi k'a afad pour les nombreuses sources très interessantes que j'ai pu voir sur flashkod... a bon entendeur Salut.

PS: et top30 aussi paske j'aime bien ce k'il fait aussi... MERCI
darknessgc Messages postés 25 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 23 mars 2008
17 mars 2004 à 03:57
Petite question : comment faire pour faire interagir un clip exterieur (bouton) avec un mouvement de camera ou de modèle ?
darknessgc Messages postés 25 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 23 mars 2008
16 mars 2004 à 22:38
ca a l'air cool ca :-D
cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 juin 2009
16 mars 2004 à 14:24
Les icosaedres, dodecaedres, et autres polyedres archimediens ne peuvent pas etre optimisés. Ils ont un nombre fini de polygones... Il n'y a pas de formules (ou du moins, je n'en vois pas) pour en créer sans entrer tous les points à la main. C'est un travail que je te laisse, si tu veux le faire.
Le prochain que je me tape, c'est soit le coquillage (avec des exponentiels, je vais me marrer...), soit les courbes de bezier 2D 3D (et à ce moment, je retablit les vertex) qui me permettront en suite de creer des surfaces developpables...
Mais ce n'est pas pour tout de suite...
darknessgc Messages postés 25 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 23 mars 2008
16 mars 2004 à 12:30
liens pour la Liste des sommets, faces et arêtes d'un icosaèdre inscrit à une sphère de rayon 1

http://www.alain.be/icosaedre.html

ainsi que plusieurs autre polyedres , ce qui permettrai d'utiliser autre chose que la sphere pour representer le ballon, genre un icosaedre tronqué , a+
cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 juin 2009
15 mars 2004 à 17:10
Eh oui, on doit jouer avec les lois du minimum...
afad Messages postés 715 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 10 septembre 2009
15 mars 2004 à 16:16
Excellent ce site :)

Bien vu pour le Tore mais dés que tu passes à des modêles un peu plus complexe au niveau du calcul des points, Flash a vraiment du mal......
cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 juin 2009
15 mars 2004 à 16:03
upload:
Pong 3D , en cliquant sur le cube allongé.
J'y explique comment manipuler les modeles créés.
cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 juin 2009
14 mars 2004 à 12:56
Au fait pour ceux que ca interresse, j'ai trouvé un site pour les paramétrisations cartésiennes d'objets 3D:
http://www.mathcurve.com/surfaces/surfaces.shtml
cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 juin 2009
13 mars 2004 à 23:20
et hop!
upload:
ajout de la primitive Tore(grand rayon, petit rayon, nbr de segments peripheriques, nbr de segments interieurs): un tore parametrable
et aussi de la primitive Quadricube(longueur) : un gadget...

Darkness: le code de la sphere est deja donnée dans la source originale...
darknessgc Messages postés 25 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 23 mars 2008
12 mars 2004 à 22:01
Tom , Oui j'ai procédé par taton, n'étant encore que débutant en flash , 2 mois d'ancienneté environs. Il est assez difficile de Comprendre tout ca et vu k'en math j'suis pas fort non plus ca rajoute un petit plus très interessant. Sinon pour dessiner une sphère je me suis laissée entendre par un pote prof de math k'y avait une formule toute faite. Je vais lui redemander.
cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 juin 2009
12 mars 2004 à 16:08
ouais, no problem, c'est ce que j'avais en tete
afad Messages postés 715 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 10 septembre 2009
12 mars 2004 à 15:59
Oui c'est ça, R: grand rayon; r: petit rayon..... Il te faut deux boucles imbriquées, u de 0 à 2pi( 2pi radians = 360 degrés) pour la création d'un cercle puis une boucle parente t de 0 à 2pi pour faire translater le cercle autour de l'axe Oz créant le TORE (ça s'appelle une extrusion circulaire).
cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 juin 2009
12 mars 2004 à 15:03
euh.. grandrayon et petitrayon correspondrait plutot à R et r, ouais... Et t et u varierait de 0 à 2PI selon l'enchantillonage de segmentperipherique et segmentinterieur dans des boucles for... c'est ca... Mmmm j'y vois déja plus clair...
Merci encore Afad...
cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 juin 2009
12 mars 2004 à 14:55
Merci Afad,
OK, t et u correspondraient à grandrayon et petitrayon, mais dans un modele 3D, il faut rajouter segmentperipherique, et segmentinterieur qui correspond aux nombres de polygones, ou d'arretes, que l'on va produire .
Pour la creation d'une primitve: on commence par la création des points coordonnées(x,y,z). Une fois qu'on les a tous définis, il faut creer les polygones, qui sont des associations de 3 coordonnées definies precedemment, sachant que ce polygone n'est visible que si les points s'associent dans un sens trigonométriques (un poly n'a qu'une face visible, pour eviter le calcul des faces cachées).
Mais je vais garder ta base...
afad Messages postés 715 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 10 septembre 2009
12 mars 2004 à 13:52
Oups ya une erreur dans le passage des paramêtres, ce ne sont pas les bonnes variables :

function [x,y,z] = tore(t, u)
// paramétrisation classique d'un tore de rayons R et r et d'axe Oz
R 1; r 0.2
x = (R + r*cos(u)).*cos(t)
y = (R + r*cos(u)).*sin(t)
z = r*sin(u)

Pout t et u, normalement il faut les faire varier de 0 à 2pi.
afad Messages postés 715 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 10 septembre 2009
12 mars 2004 à 13:38
J'ai pas encore regardé la source, mais si je peux filer un coup de main en Math !!!

Pour faire un Tore il te faut 2 variables, t et u, La variation de u produit un cercle, tandis que la variation de t fait pivoter le cercle autour de l'axe pour former le tore.

function [x,y,z] = tore(theta, phi)
// paramétrisation classique d'un tore de rayons R et r et d'axe Oz
R 1; r 0.2
x = (R + r*cos(u)).*cos(t)
y = (R + r*cos(u)).*sin(t)
z = r*sin(u)

C'est la paramétrisation classique de la fonction TORE dans l'espace (x,y,z) par contre j'ai pas regardé la façon dont tu traçais tes primitives......

A+
aFaD
cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 juin 2009
12 mars 2004 à 11:59
Top30, la fonction pour la couleur se trouve dans le moteur (composant principal >> fonction "render()"). C'est un casse-tete: le rendu se fait poly par poly (ca c'est bien), mais il faudrait voir la couleur par rapport à la distance camera/poly (ca y est, en version simpliste), mais aussi (et ca n'y est pas) l'inclinaison par rapport à la camera, et la je nage encore un peu. Mais à ce moment, ca voudrait dire rajout de source lumineuse, et la, ca devient plus complexe encore, mais j'y crois (ca te vas comme défi?).
Darkness, non, je ne me sens pas faché, il fallait juste que tu ouvres ma source pour comprendre comment je pensais ca... J'ai vu ce que tu as fait (tout tes travaux), et j'ai l'impression que tu as avancé un peu à taton (ne le prend pas mal).
Je prefere penser des fonctions comme dans 3DSMAX: un modele de primitive, sur lequel on va associer des déformations.
Bon, je n'en suis pas encore au calcul booleen entre deux primitives, mais j'y pense... peut etre au moins grouper des modeles ensemble...
Pour l'instant, je m'arrache la tete pour une primitive Tore(grandrayon, petitrayon, segmentsperipheriques, segmentsinterieur).
Voilaaaa, si quelqu'un a une formule toute faite(lol)...
darknessgc Messages postés 25 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 23 mars 2008
12 mars 2004 à 04:02
certes, et je m'en excuse si je t'ai offensé. mais loin de là mon intention. J'ai utilisé le moteur de illogicz c'est vrai , mais faut 'til que je reprenne tout et l'insère par au dessu du tiens, choix difficile. J'ai bien le fait ke ton moteur dérivé soit en francais , plus facile pour comprendre pour moi, mais je pense que les poly que j'ai créer et je le souhaite puisse aussi s'adapter à ta configuration de moteur. Je te consède ke j'ai cru que le moteur présenté n'était que la transcription francaise du moteur de illogicz ce qui déjà aurait été pas mal. Mais à mon grand plaisir je vois que bon nombre de d'idée et créations dans ce .fla se détachent de l'origine et dénotent un aspect très interessant. pour cela merci.
top30 Messages postés 1158 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 6 août 2010
12 mars 2004 à 02:40
Ca me plait ta facon de voir ! J aime comment tu penses tes lignes.

Tu sais ou l'on peu "trouver" ce qui fait les "couleurs" des objects... voir si L'on pourrait pas jouer sur les couleurs ou les ombrages ? Je pourrais essayer d'ajouter des "contraste" au objects... Pour pour faire des couleurs pleines.. Pour voir que la forme de l'object ?? Suis -ja clair ?huummm ?

= )
cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 juin 2009
11 mars 2004 à 14:17
upload:
rajout de la primitive Cone
rajout de l'objet InterpolationModele()
et de la fonction commencerInterpolationModele()
cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 juin 2009
11 mars 2004 à 11:55
Eh darknessgc! Avant de t'emballer, est-ce que tu as au moins ouvert ma source? Tu sais, elle n'a rien à voir avec celle que tu as téléchargé sur illogicz. J'ai dit que c'etait l'originale, pas le clone...
Top30, ouais, pourquoi pas, faut juste que je voyes la syntaxe...
darknessgc Messages postés 25 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 23 mars 2008
10 mars 2004 à 20:03
vu ke tout mes données sont un peu en fouilli j'ai uppé tout ce que j'avait fait sur le net a l'adresse :
http://www.n-o-i-r.fr.st/laboratoire/moteur3d

voila, y'a les fla, les swf pour avoir un apercu des fla avant de les telecharger et pis quelques un des fichiers sur lekels je bosse en ce moment. bon dl et merci pour la class cylindre.

PS: c'est le fouilli alors n'hésitez mais téléchargez conscentieusement.
A bon entendeur Salut.
top30 Messages postés 1158 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 6 août 2010
10 mars 2004 à 17:00
EHH Ca te dirait pas de la reprogrmmer en AS2... Voir mème si mettre à plusieurs... J y ai jeté un oeil et vu la super bomme organisation de la source je ne penses pas que cela soit difficile !

Puisque l'AS2 et le lecteur 7 sont 30% plus rapide ca faut pas le coup pour de la 3D...

10/10 !
cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 juin 2009
10 mars 2004 à 13:55
Upload:

Rajout de la primitive Cylindre, et de la fonction déformerModele(x,y,z)
cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 juin 2009
10 mars 2004 à 11:30
ben en fait, je l'avais depuis pas mal de temps, mais je n'arrive plus à remettre la main sur la version dans laquelle j'avais rajouté plusieurs primitives... Ne t'en fais pas, je vais l'uploader à chaque fois que j'en rajouterais... Et je vais rajouter un tuto pour la création de scenes.
Par contre, si quelqu'un a la formule pour l'anneau de mobius, ca m'aiderais...
darknessgc Messages postés 25 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 23 mars 2008
10 mars 2004 à 03:53
Je l'ai downloader y'a une semaine est j'ai rajouté kelkes polygones et cherché à l'utilisé un peu , je te send mes sources si ca t'interesse.
Rejoignez-nous