0 Members and 1 Guest are viewing this topic.
Zut ça le fait pas du tout :les POS pour la caméra ne s'exprime pas en coordonnées i, z, j comme pour placer un mesh, mais en un truc genre distance 1, altitude... et un put### d'angle !
Donc je relance le débat : s'il existe un calcul qui retournerait en mètres, des coordonnées Nord et W entre 2 points de coordonnées GPS, je suis toujours prenneur.
j'aimerais pouvoir placer assez rapidement des meshs en calculant ce que je dois mettre comme POS, d'après les coords actuelles du DG ( point 1 ! ), comme par exemple si je place mon vaisseau au niveau de la rue Saint Denis :
MrSpock a écrit:Voilà ! Cest çà que je ne comprends pas !POURQUOI tu as besoin de mètres dans Orbiter ?QuoteDonc je relance le débat : s'il existe un calcul qui retournerait en mètres, des coordonnées Nord et W entre 2 points de coordonnées GPS, je suis toujours prenneur.en mètres ... le mètre est une unité de longueur ... pas de positionnement .entre 2 points de coordonnées GPS ... Quelle unité le gps stp ? ( long , lat ...)QUels points ?Tu as une position p(x,y,z) dans Orbiter , c'est ton point 1 .Est-ce que tu cherches à positionner un Point 2 par rapport à une distance en mètres ( et une direction , forcément...) ?Avoir une position d'un objet à partir de ton gps et le placer dans Orbiter , n'est-ce pas ce que tu recherches ?Je crois comprendre que tu es l'heureux possésseur d'un GPS , et que tu aimerais transposer ses données dans le système de positionnement d'Orbiter . En quelle circonstance tu dois utiliser des mètres ?
Donc ni latitude ni longitude ne sont en soit des unités, ce sont juste des coordonnées. Leur unité sont n'importe quelle unité d'angle (radian, degré, minutes,...)
VESSELSTATUS2::surf_lnglongitude of vessel position in equatorial coordinates of rbody [rad]
La géodésie est une science qui a pour but l'étude et la détermination de la taille et de la forme de la Terre, y compris son champ de gravité, dans un espace tridimensionnel variant en fonction du temps. La géodésie permet, entre autres, de mesurer la position (latitude, longitude et altitude) et le mouvement de points à la surface de la Terre. Cette science a traversé les âges en se développant encore et encore, et a renvoyé aux habitants de chaque époque jusqu'à nos jours une vision toujours plus claire et précise de notre globe.
Bref tout ce qui est cherché c'est un moyen de convertir coordonnées sphériques en coordonnées cartésiennes et réciproquement.
oapiGetEquPos (MeshBuilder,&lng,&lat,&rad);
longitudeVessel -1.34842e-183lattitudeVessel 4.70843e-070
x2=x+cos(ANGLE EN RADIAN)*Ry2=y-sin(ANGLE EN RADIAN)*R
COde fonctionnel , dessine une ligne depuis le centre [i]baseOrbiter[/i] orientée selon " degre" et de longueur "rayon"Le point " p " est la position du nouveau mesh ....Si degre=90 , la ligne indique le haut de l'écran ( NORD).TPoint DessineLigne(TCanvas* dest){//efface l'écran à chaque frameecran->Canvas->FillRect(ecran->Canvas->ClipRect) ;//place le crayon au centreecran->Canvas->MoveTo(baseOrbiter.cx,baseOrbiter.cy);int x1=baseOrbiter.cx+cos(DegToRad(degre))*rayon;int y1=baseOrbiter.cy-sin(DegToRad(degre))*rayon;ecran->Canvas->LineTo(x1,y1);dest->Draw(0,0,ecran) ;TPoint p ;p.x=baseOrbiter.cx-x1;p.y=baseOrbiter.cy-y1;return p;}
et bien cela apparaitrait dans le MFD comme choix. ( voir "image MFD" )mais tout simplement de voir la liste des fichiers présents dans un dossier serait le top
Author: Artyom "Artlav" LitvinovichMeshLand is an Orbiter plugin which offers a vessel-terrain and vessel-vessel collision detection and handling for Orbiter. MeshLand interfaces with Visosad, which is a rigid body physics simulator and integral part of Meshland.
Fies-toi plus au radius du vaisseau pour la collision entre vaisseau, c'est une donnée de la classe VESSEL.En gros si un vaisseau entre dans le radius d'un autre .... BING !!!
oapiGetBaseEquPos ( OBJHANDLE hBase, double * lng, double * lat, double * rad = 0 )
oapiEquToLocal ( OBJHANDLE hObj, double lng, double lat, double rad, VECTOR3 * loc )
oapiGetBasePadEquPos ( OBJHANDLE hBase, DWORD pad, double * lng, double * lat, double * rad = 0 )