Trajectoires d'objets et mathématiques

Hep !

Encore une question d’un cancre en maths… Et je pense que la question a déjà dû être posée mais je ne vois rien pourtant sur les forums…

Lors de l’utilisation de “Ajouter à Objet une force de XX p/s en X et XX p/s en Y”, j’iamgine qu’il est possible de donner des trajectoire complètement folle à des objets ?

Exemple : je voudrais que l’objet suive une trajectoire sinusoïdale en X ? (j’ai bien essayé sin() mais ça donne rien)

Autre exemple : je veux que mon objet suive une trajectoire exponentielle ? (utiliser ² ?)

Amis matheux, quelques explications là dessus seraient les bienvenues !

J’ai mis toutes les explications en commentaire dans le projet ci-dessous. Je te propose deux méthodes : avec les positions (plus simple mathématiquement, mais obligé de mettre la position initiale de l’objet en dur dans le code) ou avec les forces (pas ce besoin, mais il est nécessaire de savoir ce que représente une dérivée et comment la calculer).

TrajectoiresSpeciales.zip (9.68 KB)

Sinon, une trajectoire exponentielle, c’est avec l’exponentielle e^x pas x^2 (trajectoire quadratique)

Merci, si je peux je prendrai le temps de l’ajouter au wiki !

En compliquant un poil, comment faire la même avec une force dirigée vers un objet et une force dirigée vers une position ?

Il n’existe pas de méthode plus simple en utilisant les événements et des sous event conditionnels, ou en core en mixant les forces ?

Parce que là ton exemple est bien documenté mais je suis largué sur des choses comme ça “170 + 100 * sin((2 * 3.14 / 5) * TimeFromStart())”, à part copier/coller je suis pas prêt de pouvoir appréhender des déplacements complexe pour mes objets :smiley:, c’est mon pote prof de maths qui va être content !

Tu veux diriger l’objet vers un autre en faisant une sinusoïde ? Ça va pas être facile…

100 permet de définir l’amplitude du sinus (de -100 à 100 dans ce cas) et (2 * 3.14 / 5) permet de mettre la période de sin à 5 (3.14 est PI approché).

Peut-etre en appliquant plusieurs force ? Diriger vers un objet + une des méthodes de ton exemple ?

Dans ce cas, il faut “orienter” la sinusoïde avec l’angle du mouvement du personnage, ça sent la trigonométrie ! :mrgreen:

Voilà ce que j’ai pu faire (deuxième scène du projet) :
TrajectoiresSpeciales.zip (22.5 KB)

J’ai eu un peu la flemme de commenter, en gros, c’est un changement de repère : il faut convertir les coordonnées par rapport au repère orthonormé dont l’axe X est le long de la trajectoire (si elle était linéaire) pour aller de A à B.

Merci tout plein !

Sympa, je vais en faire un petit modèle d’évènement pour l’Event Store :smiley:
Comme ça tu pourra utiliser et personnaliser ça en 2 clics :slight_smile: