Calcul de navigation

Modérateur : Admin bis

jcgoudon
Joueur
Messages : 25
Inscription : 25 oct. 2017 10:12
Contact :

Calcul de navigation

Message par jcgoudon » 08 nov. 2017 15:25

pour RG expresso : j'observe des problèmes de calcul entre vrtools et RG , il y a un léger écart sur le point d'arrivée. je me suis donc livré à quelques essais. je fais un cap 180° dans une case 23.6 kt/40° ce qui me fait un TWA de 140 , je vais chercher dans la polaire 24 kt et je trouve une vitesse de 32.67 kt, ce qui correspond en N/S à une variation de latitude de 32,67 minutes (32' 40" environ).
je lis sur la carte RG expresso les deux latitudes atteintes en 1 heure à cette vitesse et je trouve 38°29'56" pour le temps zero et 37°58'44" pour le temps = 1heure ce qui fait un écart de 31'12"" ce qui est très différent des 32'40" attendu

je ne comprends pas cette différence, merci de votre retour

Avatar de l’utilisateur
zedstar
Joueur
Messages : 451
Inscription : 23 févr. 2016 14:24
Contact :

Re: Calcul de navigation

Message par zedstar » 08 nov. 2017 16:50

La planète RG est environ 5% plus grosse que la terre.

Le mille nautique RG vaut 1.941 km au lieu des 1.852 km habituels.

Dans les logiciels divers et variés cela correspond à une baisse de vitesse, facteur 0.954 et des pouillièmes.

On s'y fait :roll:

Définition du mille nautique : 1°de latitude = 60 milles = 1/360 le périmètre de la terre
On peut préférer le système métrique : 1 grade (degré centésimal) = 1/400 du périmètre de la terre = 100 km

Avatar de l’utilisateur
limelight
Joueur
Messages : 733
Inscription : 22 août 2019 10:15
Localisation : Melbourne, Australia
Contact :

Re: Calcul de navigation

Message par limelight » 02 sept. 2019 03:01

Oui, c'est correct, mais le mille marin peut aussi avoir sa définition originale qui est qu'il fait une minute d'arc sur un grand cercle. Si on utilise cette définition, le mille marin reste le même quelque soit le diamètre de la planète.

Pour les équations loxodromiques basées sur les mesures d'angle (mon sextant est calibré en degrés et minutes décimales, donc je peux lire théorétiquement 0.1', pratiquement je ne cherche pas plus de 1 ou 2 minutes), les voici:

Si L est la distance entre 2 points A et B, et alpha est le cap de A vers B (0 = nord, 90 = est, 180 = sud, 270 = ouest)

Changement de latitude = L * cos(alpha) donc LatB = LatA + L * cos(alpha)/60 (L en milles nautiques, on divise par 60 pour avoir des degrés décimaux)

Changement de longitude = 180/π * tan(alpha) * [ acosh(1/cos(LatB)) - acosh (1/cos(LatA)) ] = LonB - LonA

acosh est la fonction inverse du cosinus hyperbolique, sa valeur est toujours en radian d'où le besoin de convertir de radians en degrés.

quand alpha est soit 90 soit 270, la tangente est infinie et le terme entre "[" et "]" est zero. Dans ce cas il faut traiter le cas comme ci:

LonB - LonA = +( L * 1/cos(LatA) )/60 si alpha est 90
LonB - LonA = - ( L * 1/cos(LatA) )/60 si alpha est 270 (les divisions par 60 sont pour obtenir des degrés décimaux quand L est en milles nautiques)

Il est peu probable qu'il soit nécessaire de vérifier, car même les ultimes ne sont pas si rapides, mais la longueur L ne peut pas excéder une certaine longueur car la longueur maximale (mesurée en minutes d'arc) d'un loxodome partant du pole sud et allant jusqu'au pole nord avec un angle alpha est: 180 * 60 / cos(alpha)

Si la fonction acosh n'existe pas (elle existe dans ma version de Excel), on peut se servir des logarithemes naturels qui eux surement doivent exister.

acosh (x) = Ln [ x + sqrt(x^2 - 1) ]
Check https://madinstro.net/rg/ for handy navigation tools.

Avatar de l’utilisateur
limelight
Joueur
Messages : 733
Inscription : 22 août 2019 10:15
Localisation : Melbourne, Australia
Contact :

Re: Calcul de navigation

Message par limelight » 02 sept. 2019 13:42

J'ai mis un petit calculateur Excel qui fait les calculs de loxodromes. Latitudes et longitudes sont en degrés décimaux, longueurs en milles marins (minutes d'arc).

Il calcule la latitude de la destination d'abord, puis la longitude par les formules précédentes.

https://madinstro.net/rg/loxodrome.xlsx
Check https://madinstro.net/rg/ for handy navigation tools.

Avatar de l’utilisateur
zedstar
Joueur
Messages : 451
Inscription : 23 févr. 2016 14:24
Contact :

Re: Calcul de navigation

Message par zedstar » 02 sept. 2019 17:56

:shock: Le cosinus hyperbolique, pourquoi pas la trigonométrie sphérique, c'est pas à la portée de tous :mrgreen:

Image

La question initiale était : "mon bateau va moins vite que prévu par des calculs simples de loxodromie sur des itérations successives de 10 minutes comme est supposé fonctionner le jeu"

Avec tigrou (jcgoudonon) on a identifié et signalé le bug, pour conclure qu'on prend je jeu tel qu'il est, à nous d'adapter nos formules. Ensuite avec la programmation et double programmation tellement précises, les formules je ne les utilise plus.

Plus cocasse, sur VR je ne comprenais pas pourquoi les bateaux dérivaient quand on mettait cap au 90 ou 270 et franchissaient les limites de cases. là aussi j'ai trouvé le bug (les itérations étaient calculées avec des formules orthodromiques) et naïvement j'ai signalé le bug, pacotool et zezo ont rapidement corrigé leurs formules loxo, logiques mais inexactes, rendant mes bidouilles excel inutiles, puis VR a enfin compris et corrigé le bug. Et j'ai plus jamais gagné une casquette pour ma grosse tête :lol:

Avatar de l’utilisateur
limelight
Joueur
Messages : 733
Inscription : 22 août 2019 10:15
Localisation : Melbourne, Australia
Contact :

Re: Calcul de navigation

Message par limelight » 02 sept. 2019 23:06

Tu peux accepter le jeu tel qu'il est... mais c'est quand même un bug car les positions sur le globe (de n'importe quelle taille) sont des mesures d'angles. Donc un sextant terrestre marche tout aussi bien sur la lune que sur terre, le mille sur la lune est certainement beaucoup plus court que sur la terre parceque le diamètre est plus petit... mais il fait toujours 1 minute d'arc! Donc le bug est que dans RG, le mille marin ne fait pas une minute d'arc comme il le devrait.

Quant au cosinus hyperbolique inverse, c'est une conséquence de la géométrie sphérique :mrgreen:
Check https://madinstro.net/rg/ for handy navigation tools.

Avatar de l’utilisateur
mAKi
Administrateur
Messages : 1204
Inscription : 16 juil. 2015 13:49
Localisation : Bretagne sud
Contact :

Re: Calcul de navigation

Message par mAKi » 02 sept. 2019 23:45

Image

:lol:
plus tard il sera trop tard, notre vie c'est maintenant

Avatar de l’utilisateur
limelight
Joueur
Messages : 733
Inscription : 22 août 2019 10:15
Localisation : Melbourne, Australia
Contact :

Re: Calcul de navigation

Message par limelight » 03 sept. 2019 00:23

mAKi a écrit :Image

:lol:
:lol: C'est quand même plus simple que ta feuille d'impôts, non? :mrgreen:
Check https://madinstro.net/rg/ for handy navigation tools.

Avatar de l’utilisateur
limelight
Joueur
Messages : 733
Inscription : 22 août 2019 10:15
Localisation : Melbourne, Australia
Contact :

Re: Calcul de navigation

Message par limelight » 15 sept. 2019 04:59

zedstar a écrit :La planète RG est environ 5% plus grosse que la terre.

Le mille nautique RG vaut 1.941 km au lieu des 1.852 km habituels.

Dans les logiciels divers et variés cela correspond à une baisse de vitesse, facteur 0.954 et des pouillièmes.

On s'y fait :roll:

Définition du mille nautique : 1°de latitude = 60 milles = 1/360 le périmètre de la terre
On peut préférer le système métrique : 1 grade (degré centésimal) = 1/400 du périmètre de la terre = 100 km
Je pourrais presque accepter ce raisonnement sauf qu'il ne s'accorde pas du tout avec les distances publiées dans le classement. Elles sont en milles nautiques et en accord avec mon calculateur d'orthodrome, donc pour le classement, la planète RG a le même diamètre que la terre... donc c'est bien un bug! :)
Check https://madinstro.net/rg/ for handy navigation tools.

Avatar de l’utilisateur
zedstar
Joueur
Messages : 451
Inscription : 23 févr. 2016 14:24
Contact :

Re: Calcul de navigation

Message par zedstar » 10 oct. 2019 20:38

C'est bien un bug sur le calcul des positions successives.

Simplissime en différences finies :

Code : Tout sélectionner

%formules ortho itératives Matlab
%unités degrés, noeuds, heures

lat2=lat1+vitesse.*cosd(cap)*dt/60;
lon2=lon1+vitesse.*sind(cap)./cosd(lat1)*dt/60;
cosd = cosinus en degrés ça existe aussi dans Visual Basic
./ ou .* calcul matriciel, pour calculer plusieurs routes simultanément.

:geek:
Dernière modification par zedstar le 10 oct. 2019 20:58, modifié 2 fois.

Répondre

Revenir à « Rapportez les bugs »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité