MODÉLISATION D'UNE SURFACE AVEC UN MAILLAGE MASE RESSORT OPENGL (GLUT)
koda_12
Messages postés7Date d'inscriptionlundi 4 juillet 2005StatutMembreDernière intervention29 août 2008
-
25 août 2008 à 03:29
SebLinck
Messages postés212Date d'inscriptionmardi 17 mai 2005StatutMembreDernière intervention23 juin 2011
-
23 juin 2011 à 18:59
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
SebLinck
Messages postés212Date d'inscriptionmardi 17 mai 2005StatutMembreDernière intervention23 juin 2011 23 juin 2011 à 18:59
Salut,
Content que cette source ai pu t'aider. ;-)
Sinon pour ce qui est de l'utilité du calcul de force des ressorts, c'est tout simplement car c'est un modèle dynamique et que si on ne prend pas en compte la force des quatre ressorts (ligne entre les points), les points restent en bas une fois le point excité. J'espère que j'ai répondu à ta question.
imadxgi
Messages postés1Date d'inscriptionlundi 25 février 2008StatutMembreDernière intervention23 juin 2011 23 juin 2011 à 04:05
Salut,
Tout d'abord je vous remercier sur cet exemple, je l'ai trouvé vraiment très utile.
La méthode d'euler est utiliser pour calculer des valeur approchées de primitive,
Dans mon code je calcule l'accéleration qui est éale à la somme des forces (2nd loie de Newton),
puis je dérive pour obtenir la vitesse et je redérive pour obtenir la position (en fonction du temps).
koda_12
Messages postés7Date d'inscriptionlundi 4 juillet 2005StatutMembreDernière intervention29 août 2008 29 août 2008 à 12:55
visual studio existe en version express et cette version est gratuite, il y a moins de fonctionnalités que la version payante.
visual studio n'en reste pas moins le meilleur éditeur gratuit à ce jour, enfin c'est ce que j'en pense personnellement j'en ai essayé pas mal parmis ceux kdevelop vim, eclipse qui est bien aussi.
Couplé avec visual assist x que tu pourras trouver chez wholetomato l'éditeur devient vraiment puissant.
Ce que tu gagnes c'est surtout de la productivité le couple vst+vax te permet de
-documenter ton code en deux clic
-changer des signatures et propager les changements à tous les appels
-renommer des classes de la même manière
-renommer des variables
-coloration syntaxique
-aide et documentation contextuelle
etc etc
tu devrais l'essayer tout simplement
medACK
Messages postés30Date d'inscriptiondimanche 20 juillet 2008StatutMembreDernière intervention 7 octobre 20091 28 août 2008 à 20:16
Salut, c'est juste que je travail avec DEV C++, j'aimerai bien que vous m'expliquiez la raison pour laquelle vous utiliser Visual; car j'aimerai bien l'apprendre s'il a un plus.
SebLinck
Messages postés212Date d'inscriptionmardi 17 mai 2005StatutMembreDernière intervention23 juin 2011 28 août 2008 à 16:43
Salut,
NISALONCAJE:
# TabZVitesses[ix][iy] = TabZVitesses[ix][iy] + (const_dt * A);
# // En déduire la position courante du noeud
# nouvTabZNoeud[ix][iy] = TabZNoeuds[ix][iy] + (const_dt * TabZVitesses[ix][iy]);
^^ c'est la méthode d'euler ^^
peut être que cela s'appel la méthode d'euler !
Sinon, pour l'exe, je le met dès que possible,
disons ce soir si j'y pense...
Et oui, j'ai développé avec Visual, pourquoi espères tu le contraire?
medACK
Messages postés30Date d'inscriptiondimanche 20 juillet 2008StatutMembreDernière intervention 7 octobre 20091 28 août 2008 à 00:21
salut, ton sujet ma trop intéresser malgré que je suis que sur la 2D en ce moment, mais malheureusement je pas pus le compilé, y'a trop de fichier partout, alors j'aimerai que tu donne un exe, et puis dis moi c'est pas en Visual j'espère..
nisaloncaje
Messages postés154Date d'inscriptionsamedi 7 janvier 2006StatutMembreDernière intervention28 septembre 2008 27 août 2008 à 09:54
# TabZVitesses[ix][iy] = TabZVitesses[ix][iy] + (const_dt * A);
# // En déduire la position courante du noeud
# nouvTabZNoeud[ix][iy] = TabZNoeuds[ix][iy] + (const_dt * TabZVitesses[ix][iy]);
^^ c'est la méthode d'euler ^^
SebLinck
Messages postés212Date d'inscriptionmardi 17 mai 2005StatutMembreDernière intervention23 juin 2011 27 août 2008 à 09:12
Salut,
Dès que je peux ajouter l'executable, je le fais...
Sinon, je n'ai pas utiliser la méthode d'Euler pour modéliser la surface,
ou alors je ne m'en suis pas rendu compte.
Mais le calcul de force en général ( Force du ressort, gravité...)
shenron666
Messages postés229Date d'inscriptiondimanche 14 septembre 2003StatutMembreDernière intervention20 août 2014 25 août 2008 à 23:35
Salut, tu pourrais ajouter l'executable compilé dans ton zip (renommé en .ex par exemple sinon il est supprimé) stp ? merci d'avance
nisaloncaje
Messages postés154Date d'inscriptionsamedi 7 janvier 2006StatutMembreDernière intervention28 septembre 2008 25 août 2008 à 11:49
je n'ai pas trop regardé comment c'était écrit, mais ca marche pas trop mal ^^
cependant, j'ai vu que tu utilisais une méthode d'Euler pour modéliser l'eau, n'as tu pas peur de risque d'"explosion" du système en cas de pas trop grand ?
par contre je pense que tu peux mieux faire pour l'affichage de l'eau :)
voila mais aller 8/10 ^^
koda_12
Messages postés7Date d'inscriptionlundi 4 juillet 2005StatutMembreDernière intervention29 août 2008 25 août 2008 à 03:29
23 juin 2011 à 18:59
Content que cette source ai pu t'aider. ;-)
Sinon pour ce qui est de l'utilité du calcul de force des ressorts, c'est tout simplement car c'est un modèle dynamique et que si on ne prend pas en compte la force des quatre ressorts (ligne entre les points), les points restent en bas une fois le point excité. J'espère que j'ai répondu à ta question.
23 juin 2011 à 04:05
Tout d'abord je vous remercier sur cet exemple, je l'ai trouvé vraiment très utile.
J'ai une petit question:
Au niveau du Code tu as ajouter 4 forces
// liaison 1er voisin
dz = TabZNoeuds[ix + 1][iy] - TabZNoeuds[ix][iy] ;
printf("%f = %f - %f \n",dz,TabZNoeuds[ix+1][iy],TabZNoeuds[ix][iy]);
F = (const_raideur * dz) / sqrt(pow(dz,2) + dx2 + dy2);
// liaison 2eme voisin
dz = TabZNoeuds[ix - 1][iy] - TabZNoeuds[ix][iy] ;
printf("%f = %f - %f \n",dz,TabZNoeuds[ix-1][iy],TabZNoeuds[ix][iy]);
F+= (const_raideur * dz) / sqrt(pow(dz,2) + dx2 + dy2);
// liaison 3eme voisin
dz = TabZNoeuds[ix][iy + 1] - TabZNoeuds[ix][iy];
printf("%f = %f - %f \n",dz,TabZNoeuds[ix][iy +1],TabZNoeuds[ix][iy]);
F+= (const_raideur * dz) / sqrt(pow(dz,2) + dx2 + dy2);
// liaison 4eme voisin
dz = TabZNoeuds[ix][iy - 1] - TabZNoeuds[ix][iy];
printf("%f = %f - %f \n\n",dz,TabZNoeuds[ix][iy - 1],TabZNoeuds[ix][iy]);
F+= (const_raideur * dz) / sqrt(pow(dz,2) + dx2 + dy2);
Je me demande c'est quoi exactement l'utilité de ces forces.
Merci d'avance
29 août 2008 à 17:24
Selon le lien : http://fr.wikipedia.org/wiki/M%C3%A9thode_d%27Euler
La méthode d'euler est utiliser pour calculer des valeur approchées de primitive,
Dans mon code je calcule l'accéleration qui est éale à la somme des forces (2nd loie de Newton),
puis je dérive pour obtenir la vitesse et je redérive pour obtenir la position (en fonction du temps).
29 août 2008 à 12:55
visual studio n'en reste pas moins le meilleur éditeur gratuit à ce jour, enfin c'est ce que j'en pense personnellement j'en ai essayé pas mal parmis ceux kdevelop vim, eclipse qui est bien aussi.
Couplé avec visual assist x que tu pourras trouver chez wholetomato l'éditeur devient vraiment puissant.
Ce que tu gagnes c'est surtout de la productivité le couple vst+vax te permet de
-documenter ton code en deux clic
-changer des signatures et propager les changements à tous les appels
-renommer des classes de la même manière
-renommer des variables
-coloration syntaxique
-aide et documentation contextuelle
etc etc
tu devrais l'essayer tout simplement
pour la méthode d'euler
http://fr.wikipedia.org/wiki/M%C3%A9thode_d%27Euler
28 août 2008 à 20:16
28 août 2008 à 16:43
NISALONCAJE:
# TabZVitesses[ix][iy] = TabZVitesses[ix][iy] + (const_dt * A);
# // En déduire la position courante du noeud
# nouvTabZNoeud[ix][iy] = TabZNoeuds[ix][iy] + (const_dt * TabZVitesses[ix][iy]);
^^ c'est la méthode d'euler ^^
peut être que cela s'appel la méthode d'euler !
Sinon, pour l'exe, je le met dès que possible,
disons ce soir si j'y pense...
Et oui, j'ai développé avec Visual, pourquoi espères tu le contraire?
28 août 2008 à 00:21
27 août 2008 à 09:54
# // En déduire la position courante du noeud
# nouvTabZNoeud[ix][iy] = TabZNoeuds[ix][iy] + (const_dt * TabZVitesses[ix][iy]);
^^ c'est la méthode d'euler ^^
27 août 2008 à 09:12
Dès que je peux ajouter l'executable, je le fais...
Sinon, je n'ai pas utiliser la méthode d'Euler pour modéliser la surface,
ou alors je ne m'en suis pas rendu compte.
Mais le calcul de force en général ( Force du ressort, gravité...)
25 août 2008 à 23:35
25 août 2008 à 11:49
cependant, j'ai vu que tu utilisais une méthode d'Euler pour modéliser l'eau, n'as tu pas peur de risque d'"explosion" du système en cas de pas trop grand ?
par contre je pense que tu peux mieux faire pour l'affichage de l'eau :)
voila mais aller 8/10 ^^
25 août 2008 à 03:29