J'essaie de mettre en œuvre un mouvement de projectile pour mon application. Pour commencer, j'essaie de tracer les points sur le projectile. Je suppose que ma vitesse initiale est de 5m/s.exécuter le mouvement du projectile. android
J'ai essayé de calculer ma vitesse initiale en me basant sur l'angle de projection pour la direction x et y respectivement. Mais j'obtiens que c'est vale us NaN (pas un nombre).
Aussi j'essaye de tracer les premiers 10 points sur le chemin de la trajectoire mais je reçois NaN pour eux aussi. Comme le temps retourné maintenant est en milliseconde je le convertis en secondes.
S'il vous plaît suggérer où je me suis trompé.
public void drawProjectile(double angle)
{
Log.w(this.getClass().getName(),"drawProjectile called");
mUx = mUi*Math.acos(angle);
mUy = mUi*Math.asin(angle);
Log.d(this.getClass().getName(), "Value of mUx: " + Double.toString(mUx));
Log.d(this.getClass().getName(), "Value of mUy: " + Double.toString(mUy));
for(int i = 1;i<=10;i++)
{
Log.w(this.getClass().getName(),"In plotting points loop");
long now = System.currentTimeMillis();
mX1=(float) (mUx*now)/1000;
mY1 = (float) (mUy*now/1000+(mGravity/2)*now*now/1000000);
Log.d(this.getClass().getName(), "Value of mX1: " + Float.toString(mX1));
Log.d(this.getClass().getName(), "Value of mY1: " + Float.toString(mY1));
mCanvas.drawPoint(mX1, mY1, mPaint);
}
cela a résolu une partie de mon problème .., mais je reçois maintenant des valeurs exponentielles pour les points sur la trajectoire ... donc il ne peut pas être tracée sur la toile. – Ruchira
@Ruchira - Voir mon edit. –
Merci! C'est ce que je cherchais ... mais je n'avais aucune idée ... Je vais mettre en œuvre ceci et vous mettre au courant de mes résultats :) – Ruchira