Retrouver un vector3 à partir de la longitude et latitude et d'un rayon

Soyez le premier à donner votre avis sur cette source.

Snippet vu 2 438 fois - Téléchargée 18 fois

Contenu du snippet

Bon voila j'ai passé 3h à trouver ce code et à le tester il fonctionne: Pour ceux qui se lancent dans la 3D voici une fonction pour retrouver un vector3 à partir d'une position 3D, d'une longitude, d'une latitude et d'un rayon.

Source / Exemple :


Function retrouver_xyz(ByVal origine As Vector3, ByVal longitude As Single, ByVal latitude As Single, ByVal rayon As Single)
        latitude = Math.PI * latitude / 180
        longitude = Math.PI * longitude / 180
        Dim x, y, z As Decimal
        x = origine.X + rayon * Math.Cos(latitude) * Math.Cos(longitude)
        y = origine.Y + rayon * Math.Sin(latitude)
        z = origine.Z + rayon * Math.Cos(latitude) * Math.Sin(longitude)
        Return New Vector3(x, y, z)
    End Function

Conclusion :


Je rappelle que le moteur XNA 3D est parfaitement utilisable en Vbnet voir les cours d'Alan Phipps:
http://www.alanphipps.com/VisualBasicdotNET-XNA.html

A voir également

Ajouter un commentaire

Commentaires

Whismeril
Messages postés
13723
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
14 septembre 2019
302 -
Bonjour,
à préciser qu'il s'agit de longitude et latitude sur une sphère.
Des utilisateurs cherchant des solutions pour de la géodésie ou de la cartographie pourraient se tromper.

Cdt
michael59330
Messages postés
26
Date d'inscription
dimanche 27 janvier 2008
Statut
Contributeur
Dernière intervention
7 juillet 2019
-
Bonjour,

Merci pour l'info, et désolé de la réponse un peu tardive,

Je trouve dommage qu'Alan Phillips ai fermé son site, j'ai sauvegardé tous ces cours sur un fichier zip de 49 mega si cela vous intéresse je peux vous l'envoyer.

J'ai pensé que ce serait bien de mettre le zip en ligne pour les autres internautes, connaissez vous une solution?

Salutations
CGSI3
Messages postés
417
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
7 janvier 2018
1 > michael59330
Messages postés
26
Date d'inscription
dimanche 27 janvier 2008
Statut
Contributeur
Dernière intervention
7 juillet 2019
-
Bonjour Michael,

Pour mettre a disposition un dossier de cette taille, il faut trouver un hébergeur et ajouter le lien ( n'étant pas admin sur ce site je ne vois que cela)
Mais je suis preneur de ce genre de cours.

Je suis parti pour l'instant sur une solution différente.
J'ai découvert récemment ce lien :

http://helixtoolkit.codeplex.com/

Vu les exemples donnés, j'ai trouvé que ce serait intéressant d'explorer tout ça.
Seul pb il faut avoir une version vb.net toute récente (mini Vb.2010) et un framework4.
J'ai également noté la présence de Loader d'objets (3DS, OBJ (wavefront) ,LWO et STL)

Il faut également aussi se familiariser avec l'extension WPF ( et le langage XAML ) ce qui semble prometteur mais ne dispose pas pour l'instant d'une grosse liste d'exemple.

Au passage : l'intérêt du WPF est que les interfaces graphiques (Form) de windows ne sont plus géré pas le processeur mais par le GPU (carte graphique) ce qui est une avancé intéressante.

J'essayerai de poster un exemple des que j'arriverai a maîtriser les bases.
Bonne Prog
CGSI3
michael59330
Messages postés
26
Date d'inscription
dimanche 27 janvier 2008
Statut
Contributeur
Dernière intervention
7 juillet 2019
> CGSI3
Messages postés
417
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
7 janvier 2018
-
Bonjour,

J'ai mis un tutoriel suite à votre demande du fichier compressé sur des cours XNA en VBNET:
http://codes-sources.commentcamarche.net/faq/11124-cours-xna-3d-vbnet

le fichier est téléchargeable à cet adresse :
http://toutbox.fr/mic493/cours%20XNA%203D%20VBnet.zip

A noter que le site du cours n'existe plus.

Bonne prog à vous aussi.

ps: désolé du retard, mais mieux vaut tard que jamais!
CGSI3
Messages postés
417
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
7 janvier 2018
1 -
Bonjour Mickael,

Merci pour ce post.
Quelques remarques pour accélérer ton code:

Math.pi/180 pourrais être calculé au préalable dans une constante

idem pour rayon * Math.Cos(latitude) qui est calculé 2 fois et a mettre dans une variable. (la fonction Cos est assez gourmande en Temp d'exécution)

As tu d'autre lien sur le moteur XNA 3D? car celui donné ne fonctionne pas.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.