See site in english Voir le site en francais
Website skin:
home  download  forum  link  contact

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

Author Topic: cherche moyen de calculer un POS à partir de coordonnées  (Read 41041 times)

0 Members and 1 Guest are viewing this topic.

Offline cslevine

  • Legend
  • ******
  • Posts: 3621
  • Karma: 17
Reply #50 - 15 August 2010, 21:08:58
oui dans Orbiter on avance à pas de G !



Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #51 - 16 August 2010, 19:27:09
Salut !
Echec de ma tentative d'aujourd'hui ... pas grave .
Je n'ai pas éssayé ta méthode des 500 ,800 m avec le cube .

J'ai lancé mon programme à partir d'une position du Vessel dans la base de CAP CANAVERAL , qui a produit une
valeur x et y .
J'ai fermé la session d'Orbiter , ouvert le fichier ( current state ) et comparé les valeurs ... rien à voir .
En même temps , je tatonne ... Voici les screens :

Le code :

Code: [Select]
//C'est parti Sammy !
//Je remplace les Latitudes par 0
//mais d'abord une sauvegarde ...

double latcpy1=Latitude1;
double latcpy2=Latitude2;

Latitude2=0;
Latitude1=0;

//calcul x
 x = rayon * 3.1415926 *sqrt((Latitude2-Latitude1)*(Latitude2-Latitude1)
+cos(Latitude2/57.29578 )*cos(Latitude1/57.29578 )*(Longitude2-Longitude1)*(Longitude2-Longitude1))/ 180;

//Je remplace les longitudes par 0
//mais d'abord une sauvegarde ...

double longcpy1=Longitude1;
double longcpy2=Longitude2;

//je reviens sur les bonnes lats ...

Latitude2=latcpy2;
Latitude1=latcpy1;

//zero all
Longitude1=0 ;
Longitude2=0 ;

//calcul y

 y = rayon * 3.1415926 *sqrt((Latitude2-Latitude1)*(Latitude2-Latitude1)
+cos(Latitude2/57.29578 )*cos(Latitude1/57.29578 )*(Longitude2-Longitude1)*(Longitude2-Longitude1))/ 180;

//ecriture dans le fichier
oapiWriteScenario_float (fichierConf,"POS X",x);
oapiWriteScenario_float (fichierConf,"POS Y",y);

Le résultat :
Code: [Select]
Distance en metres 128.964
  POS X 53.4911
  POS Y 117.348

Le fichier current State :
Code: [Select]
GL-01:DeltaGlider
  STATUS Landed Earth
  POS -80.6474375 28.5812664

Je n'arrive pas à comprendre cos(Latitude1/57.29578 )
J'y retourne ... si tu as des idées ... ;)
REEDIT : J'ai retourné le problème ( méthode originale) , mais le résultat ne change pas .
Je n'ai pas un niveau suffisant en math pour valider la formule que j'utilise , je vais en chercher une autre .
La question des matrices revient au premier plan ...



Message modifié ( 16-08-2010 20:15 )

Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #52 - 16 August 2010, 20:46:22
Code: [Select]
//encore un essai
distanceLon=Longitude1-Longitude2;
distanceLat=Latitude1-Latitude2;

        double aHarv= pow(sin(distanceLat/2.0),2.0)+cos(Latitude1)*cos(Latitude2)*pow(sin(distanceLon/2),2);
        double cHarv=2*atan2(sqrt(aHarv),sqrt(1.0-aHarv));
           distance=rayon*cHarv;
  oapiWriteScenario_float (fichierConf,"DISTANCEEE",distance);

Resultat ( en haut , ancienne formule , en bas la nouvelle )

 
Code: [Select]
Distance en metres 128.964
  DISTANCEEE 7242.5

7242 , cela correspond plus à l'endroit où je me trouve ( à vol d'oiseau ) .
J'ai le nez du DG dans un Block , et dans le fichier canaveral.cfg j'ai trouvé :
Code: [Select]
BLOCK
POS -7240 0 2013
SCALE 55 32 42
ROT 30
TEX1 Fcd07 1.5 1.5
TEX2 Fcd07 1.5 1.5
TEX3 Roof01 4 4

Mais bon , faut que je TROUVE  et que je  PROUVE .
;)


Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #53 - 16 August 2010, 21:35:51
Hey ? Sammy ?
Je suis jaloux de ton cerveau ...

Image 1 : Position du DG au centre de l'image



Image 2 : Chargement de WHEEL.msh à la position calculée ( voir plus loin )



Avant de sabrer le champagne ,il ya encore un souci !
Regarde le résultat du calcul :

Code: [Select]
POS X 6723.57
POS Y 2692.11

J'avais remarqué que dans ta méthode , tu avais reçu un nombre positif , et que tu avais mis un - devant .
C'est ce que j'ai fait dans le fichier Canaveral , j'ai " triché " en le signant !
Code: [Select]
MESH
FILE Wheel
OWNMATERIAL
POS -6723.57 0 2692.11
      ROT 10
SHADOW
PRELOAD
END

Conclusion : J'ai réussi à adapter ta méthode en C++ , il faudrait que tu l'améliores pour obtenir un signe !
Bon courage ... :badsmile:


Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline cslevine

  • Legend
  • ******
  • Posts: 3621
  • Karma: 17
Reply #54 - 16 August 2010, 22:10:37
Wouh Wouh wouah Wouah !!!
Ca vaut tout de même un verre de Bénédictine ou une bonne bierre, car l'histoire du signe, à mon avis: c'est une histoire de IF résultat rapporte un "N" (comme Nord), alors ça pourrait être signe "-" et "S" comme Sud, un signe "+" (ou rien)
Donc moi je dis c'est le GO pour la faisabilité du truc !

:beer:

Après c'est juste une question de "réglages".



Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #55 - 16 August 2010, 22:11:50
Je pense pareil , mais comme c'est toi le cerveau ...
:beer:
Post scriptum :
 Ce n'est plus MeshPoser by MrSpock , c'est :
Spoiler  :
MeshPoser by MrSpock and CSLevine !



Message modifié ( 16-08-2010 22:25 )

Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #56 - 16 August 2010, 22:54:45
Houston ? Nous sommes prêts pour le GO !!




Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline cslevine

  • Legend
  • ******
  • Posts: 3621
  • Karma: 17
Reply #57 - 16 August 2010, 23:43:26
Quote
Post scriptum :
 Ce n'est plus MeshPoser by MrSpock , c'est :
Spoiler  :
MeshPoser by MrSpock and CSLevine !

  si c'est un problème de valeur absolue, c'est vrai que c'est embêtant. La nature pour la gravité, fournit aussi le truc entre les 2 barres, à savoir qu'on a toujours un poids positif. Le jour où un type arrive à retirer les | | du poids ou de la masse d'un truc, il aura enfin trouvé la formule antigravitationnelle  ! ...


Quote
Houston ? Nous sommes prêts pour le GO !

   euh, ça sentirait pas la victoire contre le boss de fin de niveau, à savoir les  | | et le "-"  ?



Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #58 - 16 August 2010, 23:47:22
Non sammy , demain ... peut-être ... sait-on jamais ?
Là , c'était pour le fait d'avoir terrassé le boss du Level 1 !
;)


Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #59 - 17 August 2010, 00:15:40
Etretat ? Nous n'avons plus de problème !

Enfin j'espère ... mon petit cerveau vient de me sortir une idée du genre :
Si longitudeA>longitudeB signe= + sinon -
Etc ...
J'essayerai demain !
J'aiguise mon sabre pour le boss du level2 ....
;)



Message modifié ( 17-08-2010 07:11 )

Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline cslevine

  • Legend
  • ******
  • Posts: 3621
  • Karma: 17
Reply #60 - 17 August 2010, 00:35:17
Quote
Etretat ? Nous n'avons plus de problème !

celle là j'ai adoré !  :ptdr:



Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #61 - 17 August 2010, 00:47:41
:merci:


Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #62 - 17 August 2010, 19:50:42
Salut sammy !
Comme c'est pénible de réfléchir , j'ai mis ton " prélude " en boucle ...
Ah ... mes neurones te remercient !

J'ai donc éssayé :
Code: [Select]
//cherche un signe
  if(Longitude1>Longitude2)
  distance=-distance;

et j'ai obtenu :

 
Code: [Select]
DISTANCEEE 7242.5
  POS X -6723.57
  POS Y 2692.11

Me reste à essayer toutes les configurations , et à t'envoyer le module pour que tu l'éprouves !
A+
:top:


Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline cslevine

  • Legend
  • ******
  • Posts: 3621
  • Karma: 17
Reply #63 - 17 August 2010, 21:14:04
Etretat, coordonnées spatiotemporelles ....................  .....................
Au quais ! Super
:top:


(
Je pensais à une dérive qui serait carrément balaise mais pour plus tard : déposer des meshes, non plus dans le système de coords terrestre, mais dans des coordonnées qui seraient "artificiellement" fixes dans Orbiter par rapport au soleil, pour marquer par exemple, le "chemin" laissé par un lieu au fur et à mesure que la terre évolue dans l'espace temps.
Ainsi, au fil des années, on pourrait voir la "spirale"... mais je doûte que dans Orbiter soit pris en compte le déplacement du Soleil. A mon avis le soleil est "fixe" ce qui signifie que c'est perdu.
)



Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #64 - 17 August 2010, 21:27:26
Quote
A mon avis le soleil est "fixe" ce qui signifie que c'est perdu.
Ben là , pose la question à Tofitouf en MP : c'est sa spécialité !

Ensuite , pour ce qui est de poser des meshs ailleurs qu'au sol ....mmh .
Pour l'instant , je connais que les fichiers base.cfg qui aient la capacité de charger des meshs .
Ensuite , tu as la classe VESSEL qui dispose de méthodes pour charger des meshs , et la classe CELESTIALBODY surement aussi , faut que je vérifie .

En utilisant la classe des planètes , ton idée devrait fonctionner , il faudrait annuler leur effet dans le moteur physique je
pense . Mais tout ce que je dis à ce sujet maintenant est immature . L'idée fera son chemin .


Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline tofitouf

  • Legend
  • ******
  • Posts: 1380
  • Karma: 0
Reply #65 - 19 August 2010, 12:06:11
je confirme que le soleil est fixe dans l'espace d'orbiter mais je ne vois pas le rapport, ce que tu voudrait c'est voir la trainée laissée par un objet dans l'espace absolut, dans ce cas, à priori pas de soucis, tu enregistre toute les frames la position absolue de l'objet et tu devrais avoir tes jolies boucles.

par contre pour afficher celles ci je ne sais aps trop là, il faut faire un faux vaisseau je pense qui lance directement des appels directX. là ce n'est plus mon rayon


---------------------------------------------

PC en rade, codage en panne.... Nom de Zeus

Offline cslevine

  • Legend
  • ******
  • Posts: 3621
  • Karma: 17
Reply #66 - 24 August 2010, 23:15:54
je viens de voir qu'un vessel, en fait, est quelques chose de déclaré dans un fichier de vessel.ini, que son mesh est dans un dossier dédié etc. cela semble pas si dur que ça de créer un vessel, si du moins on ne souhaite pas l'utiliser en tant que tel mais comme objet déplaçable.
Par exemple en copiant un vessel existant, très simple... ou bien alors avec la méthode des véhicules dans UCGO pour commenccer.
Je penserais par exemple aux tours du 11 septembre et autres fantaisies du genre.

mais bon, je verrai cela plus tard pour la faisabilité.

ceci dit je me pose une question : est-ce qu'un vaisseau qui a plusieurs docks, comme l'ISS par exemple, peut s'arrimer à un autre qui, lui aussi, a plusieurs docks ?
je veux dire par là : peut on créer par exemple des vessels qui auraient plusieurs docks ? j'ai l'impression que non, vu le mode de fonctionnement du MFD dock : on ne choisis pas le dock du vaisseau dans lequel on est.

non ce serait pour beaucoup plus tard, j'ai juste une idée en tête.
(euh : une idée scabreuse en fait. Créer des personnages, avec plusieurs possibilités d'arrimages.....
je sais, faudrait que être en orbite si on veut garder une rotation choisie pour les autres positions)




Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #67 - 24 August 2010, 23:54:44
Faire l'amour n'est pas si compliqué que çà !
Quote
ceci dit je me pose une question : est-ce qu'un vaisseau qui a plusieurs docks, comme l'ISS par exemple, peut s'arrimer à un autre qui, lui aussi, a plusieurs docks ?
Des anciens avaient été confrontés à ce problème dans leur tentative de mode multiJoueur ...
Attends ... Je reviens !
:music:
Ok ... Le projet ... Hamac :diable:
http://www.aibs.org.uk/hamac/
A l'époque :
Quote
I can't dock to two buddies - they jump around! This is an Orbiter limitation, once two vessels are docked, you can't update other vessels at the same time. Maximum of two vessels may dock at any time. This is not a Project Hamac bug.
:music: entropie ... énergie ...



Message modifié ( 25-08-2010 00:04 )

Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline cslevine

  • Legend
  • ******
  • Posts: 3621
  • Karma: 17
Reply #68 - 25 August 2010, 03:20:22
voilà ok c'est bien ce que je pensais. (mon but n'aurais pas été de docker plus de 2 "trucs", mais de pouvoir les docker... différament  mdr ). Enfin j'en suis pas là.

sinon j'adorais le GFA Basic sur Atari : Quelle belle présentation du code.
Pas de couleurs... y'en avait nul besoin, car la présentation structurée des boucles et de leur dépendences, avec les MOTS CLES EN MAJUSCULES, facilement différenciables des variables persos en minuscules,
et des RETURN ou ENDIF bien placés ....


www.cslevine.com/divert/passion_prog/PLOTSON.LST

  ( je mettrai une petite capture vidéo de ce que ça donnait )

j'aimais bien le Turbo Pascal aussi à cause de cela. Les autres langages pour moi, font "fouillis", j'ai beaucoup de mal avec des minuscules accolades qui se balladent en plein milieu d'un écran, et que je risque beaucoup de ne pas voir.
Ca je sais que c'est plutôt une question de vue. Ce qui m'a aussi largué en électronique ( couleurs des résistances quand on est dalto... + les petits caractères... )

c'est ça aussi qui me rébarbative avec le c mais bon après, chacun ses spécialités c'est mieux aussi.



Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #69 - 25 August 2010, 03:42:14
Quote
c'est ça aussi qui me rébarbative avec le c mais bon après, chacun ses spécialités c'est mieux aussi.
Je suis presque d'accord avec toi !
Edith : "c'est ça aussi qui me rébarbative avec le c mais bon après, chacun ses spécialités c'est mieux ainsi ."
:top:
PS : dans ton code , Vitesse est exprimée en millisecondes ou en cycle d'horloge systeme ? 100 ms ...:wonder:
Je viens de regarder plus en détail ton code , Bibi a raison quand il dit que tu pourrais faire rapidement la transition .
Mais bon , la place que nous occupons chacun ne doit pas rester vide , je suppose ? :wonder:
Idée : trouve un disciple ! :ptdr:



Message modifié ( 25-08-2010 03:52 )

Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline cslevine

  • Legend
  • ******
  • Posts: 3621
  • Karma: 17
Reply #70 - 25 August 2010, 12:16:24
je sais que je pourrais, mais je passe déjà un temps pas possible à m'éparpiller, plutôt que de faire la musique, et dieu sait ce que la programmation prend comme temps.
en GFA avec sa présentation, je me souviens que j'y passais des heures mais cela allait vite. Rien qu'avec Google Sketchup pour modéliser patiament Etretat tandis que ma souris ne souhaite pas s'affichier avec moi, cela me prend un temps fou.

et là, tout de suite je suis pas dans la période creuse de Mai-Juin où j'avais modélisé la Seine de Paris jusqu'au Havre.

mais bon, on ne sais jamais, c'est vrai que l'idée de m'intéresser un jour au SDK trotte un petit peu.



Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #71 - 25 August 2010, 23:19:48
Quote
mais bon, on ne sais jamais, c'est vrai que l'idée de m'intéresser un jour au SDK trotte un petit peu.
Je saute sur l'occasion ...
Etant assujetti moi aussi à la gravité , je me suis remis au travail .
En parlant de SDK , je viens de trouver dans celui de 2010 cette fonction qui concerne les Meshs dans les Bases :

Code: [Select]
void oapi::GraphicsClient::GetBaseStructures  ( OBJHANDLE  hBase,  
  MESHHANDLE **  mesh_bs,  
  DWORD *  nmesh_bs,  
  MESHHANDLE **  mesh_as,  
  DWORD *  nmesh_as  
 )   const

Returns meshes for generic base objects.


Parameters:
 hBase  surface base handle  // l'étiquette de la base
 mesh_bs  mesh list for objects rendered before shadows (NULL if none)  //Liste Meshs pré-rendus avant l'ombre
 nmesh_bs  list length of mesh_bs list  // nombre de meshs dans la liste précédente
 mesh_as  mesh list for objects rendered after shadows (NULL if none)//Liste Meshs Post-rendus après l'ombre  
 nmesh_as  list length of mesh_as list  //

Note:
The lists contain mesh objects as well as generic object primitives (blocks, tanks, hangars, etc.)
All generic objects are separated into objects rendered before and after shadows, and compressed into one mesh each, such that all objects with the same textures are merged into a single group.

Je ne sais pas encore quoi en faire , mais ce serait possible puisque nous avons un accès au mesh , de le remplacer par un autre .
Mmmouais ... Et donc , peut-être de le changer en temps réel ?
Associé à un détecteur de collision , nous pourrions envoyer un mesh " détruit " ou "endommagé ?"
Rock it , Baby !
:music:


Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline cslevine

  • Legend
  • ******
  • Posts: 3621
  • Karma: 17
Reply #72 - 26 August 2010, 12:03:14
intéressant en effet, pour l'avenir



Offline pilote334

  • Sr. Member
  • ****
  • Posts: 300
  • Karma: 5
Reply #73 - 26 August 2010, 15:59:15
Pour le docking, il faut rester logique : Tu ne peux te docker à partir de ton vaisseau qu'à un seul port à la fois. Mais...si ton vaisseau possède plusieurs ports de docking, alors un autre vaisseau peut venir se docker sur un de tes ports libres. Heureusement d'ailleurs, sinon l'ISS ne pourrait docker qu'un seul vaisseau, hors nous savons qu'il peut y en avoir plusieurs. Le nombre et le statut de chaque port de dock sont référencés dans des variables d'Orbiter (classe VESSEL2).

Voilà pour la documentation...

Yves

Sources : SDK 2010



Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #74 - 27 August 2010, 00:26:42
Quote
Le nombre et le statut de chaque port de dock sont référencés dans des variables d'Orbiter (classe VESSEL2).

Et transitent maintenant dans le système de transport d'Octets de TeamServeur ... , le module élaboré et maintenu par
Pilote334 ! :top:
Comme je le disais , RockIt Baby !
Quel disque ? Levine ou CQFD ? :ptdr:
Je vais essayer ton balisage Sammy ! Poussez-vous les flamands roses !!
:music:


Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos