[Résolu][MY-AL] Bezier Courbe constant speed?

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
Avatar de l’utilisateur
DevAmat
Messages : 435
Inscription : 23 Nov 2016 11:50

[Résolu][MY-AL] Bezier Courbe constant speed?

Message par DevAmat » 03 Fév 2017 17:10

Salut tout le monde je travail en ce moment sur un éditeur de courbe tout est bon je suis content du résultat je peut créer une spline avec plein de courbes de bezier que je peut supprimer ajouter etc.

J'ai déjà un script qui permet de déplacer des objets le long de ces courbe mais le souci est que je peut le faire que par rapport au temps ce qui ne m'arrange pas.

J'aimerai en effet pouvoir donner une vitesse constante a mon objet qui parcours ma courbe.
Il s'agit d'une quadratic Beziér curve donc j'ai 4 points par courbe de bezier...

Bref j'ai cherché sur le net mais je n'arrive pas a adapter les réponses trouvées car je ne les comprends pas...
Donc je me tourne vers vous, connaissez vous une réponse a mon problème ou un lien assez clair pour m'aider a comprendre?

Merci! :)
Dernière édition par DevAmat le 15 Fév 2017 11:38, édité 1 fois.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6220
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [MY-AL] Bezier Courbe constant speed?

Message par boubouk50 » 03 Fév 2017 17:26

Peux-tu poster tes recherches? Si on comprend on pourra t'expliquer.

De ce que je sais, il est possible de calculer la longueur d'une spline, ce qui te donne la distance totale. Tu définis la vitesse, donc la distance à parcourir par secondes. Tu as le deltaTime, donc le temps. A partir de là tu as les clés en main: d = v*t.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Avatar de l’utilisateur
DevAmat
Messages : 435
Inscription : 23 Nov 2016 11:50

Re: [MY-AL] Bezier Courbe constant speed?

Message par DevAmat » 03 Fév 2017 17:50

J'ai des exemples là:

http://gamedev.stackexchange.com/questi ... zier-curve
http://stackoverflow.com/questions/2501 ... -path?rq=1
https://www.geometrictools.com/Document ... dSpeed.pdf

Le dernier liens je ne l'ai pas encore tester... La ou je bloque c'est que pour récupérer un point je dois donner un temps t qui est entre 0 et 1. Donc il faut que le temps que je donne soit modifié pour qu'il me retourne a chaque fois des points a intervalles réguliers sur la courbe.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6220
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [MY-AL] Bezier Courbe constant speed?

Message par boubouk50 » 03 Fév 2017 17:55

C'est une bête règle de 3, un pourcentage.
Si tu as une spline de X mètres etla vitesse x m/s, alors tu peux savoir en combien de secondes tu vas au bout de la spline -> T secondes.
Donc tu vas de 0 à T. Il te suffit de ramener de 0 à 1, donc en divisant par T, et tu as ton pourcentage de temps.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Avatar de l’utilisateur
DevAmat
Messages : 435
Inscription : 23 Nov 2016 11:50

Re: [MY-AL] Bezier Courbe constant speed?

Message par DevAmat » 03 Fév 2017 22:41

Effectivement cela me semble plus clair avec ton explication :) ! Merci je bosserai dessus demain.

Avatar de l’utilisateur
Iwa
Messages : 1131
Inscription : 25 Avr 2012 16:20
Contact :

Re: [MY-AL] Bezier Courbe constant speed?

Message par Iwa » 07 Fév 2017 11:27

Hello,

Si tout est OK pour toi, merci de nous le notifier en éditant le premier post de ton sujet en ajoutant au devant du titre [RESOLU] ;)
"N'est stupide que la stupidité Monsieur..." - Forest Gump
... sauf si tu lis pas ça :)

Si tu as tout ce qu'il te faut, merci de penser à basculer ton sujet en [RESOLU] en éditant ton tout premier post ;)

Répondre

Revenir vers « (C#) CSharp »