Encore merci pour ton aide sur ce problème,
ton code marche impeccable et sur mesure, j'ai juste fait un copier coller et hop
par contre j'ai été frustré par un échec sur ton code et précisément 2 problèmes
ce code marche très biens :
List<PointF> f = calculTrajectory(new PointF(0F, 0F), new PointF(200F, 100F), 50);
qui donne une liste de 50 éléments débutant de (x=4 , y=2) et fini par (x=196 , y=98)
mais ce n'est plus la même chose lorsqu'on échange les 2 points
List<PointF> f = calculTrajectory(new PointF(200F, 100F), new PointF(0F, 0F), 50);
la liste commence par (198 , 98) et se termine avec (102 , 2);
et du coup la projectile n'est pas sur le bon alignement horizontal (X = 102) alors que ça devrai atteindre 0 ou valeur approximative, mais elle est sur le bon alignement vertical (Y = 2)
ce problème deviens plus visible lorsqu'il s'agit de plus grand nombres comme :
List<PointF> f = calculTrajectory(new PointF(465F, 345F), new PointF(285F, 225F), 50);
la liste commence avec (463.8 , 342.6) et se termine avec (406.2 , 227,4)
elle s'est dévié de 121 pixel horizontal (406.2 , 285)
donc se n'est pas vraiment proportionnel au coordonnées X et Y
mais si par contre la ligne est diagonal, cad :
List<PointF> f = calculTrajectory(new PointF(465F, 465F), new PointF(285F, 285F), 50);
cela marche très bien tant que c'est diagonal
une idée ?
encore merci pour le soutien
Partager