Forum Liberty Basic France

Jeux » "Tentative" de Simulation de pilotage d'un sous-marin DSRV... DSRV = petit sous-marin de sauvetage en grande profondeur.
Le 19/12/2012 à 12h26

Libertynaute Expert

Groupe: Membre

Inscrit le: 19/02/2011
Messages: 767
Ce simulateur est juste une tentative de ma part car je ne suis pas du tout sûr de savoir arriver au bout :siffle

Je me suis dit que ce serait sympa de pouvoir piloter un sous-marin en immersion avec le minimum d'info nécessaires.

Aller : j'essaye.

Le but du jeu : retrouver un sous-marin en perdition sur un haut fond quelque part dans la zone où le DSRV est laché.

De quoi ai-je besoin pour piloter le petit DSRV (Deep Submergence Rescue Vehicles) de sauvetage de 38,5 tonnes en plongée (30.5t ballast vide) ?

- son cap : 0 à 360°
- sa profondeur d'évolution.
- sa masse (avec l'état de ses ballasts avant et arrière)
- sa vitesse

et donc les commandes de pilotage minimum nécessaire pour agir sur ces données.

Représenter en temps réel le profil du "terrain" que le soum rencontre à la profondeur où il se trouve et au cap qu'il suit via la représentation d'un SONAR, ça c'est pas évident pour moi, car c'est là que ce satané Pytagore doit sûrement intervenir...
Il y a aussi les indications de la sonde bathymétrique (profil des profondeurs sous le sous-marin) histoire qu'il ne s'échoue pas lui-même sur un haut fond, et accessoirement qu'il "voit" le sous-marin à "sauver" :lol

Tout ça en "lisant" une carte des profondeurs de la région... (donc une base de données) en fonction du cap suivi, en fait un angle de 0 à 360°, tout simplement...

Le fait que le radar (sonar) tourne implique une boucle temporisé dans laquelle absolument TOUS les calculs doivent s'effectuer dans la période du TIMER de la boucle...

Tout ces calculs restent à faire judicieusement, c'est à dire trouver le juste milieu entre réalité et simplification...

C'est là que le défi prend toute sa dimension par rapport à la capacité de mon neurone mais aussi probablement des limites de JB en matière de traitement graphique...!

submarine_simulator.zip

@+



Edité par cassiope01 Le 19/12/2012 à 14h14
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."

Web    
Le 19/12/2012 à 13h28

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2126
Pfioouu !!!
Alors...Pour faire une véritable écholocation en azimut/distance/ profondeur.Je te le dis tout de go. Avec JB, cela parait difficile.
Il faudrait disposer en meme temps d'un balayage en azimut ( ce que tu as fait ), mais aussi d'un balayage en hauteur.( Comme sur les radars d'altimétrie type: i10 ). Et cela suppose aussi une carte en trois dimensions.
Je propose ceci:
La surface balayée est la base d'un cone situé à la verticale du sous-marin. (Pytagore peut dormir tranquille)
La carte en deux dimensions, comporte une troisième dimension qui serait matérialisée par la nature de la limite (valeurs de limite RPG )ex:0=x m; 1=+10m; 2=+20m. ( qui ne serait donc plus une limite, mais une caractéristique locale.)
Au niveau affichage:
Sur l'écran "azimut" un point plus ou moins gros ou plus ou moins brillant (fonction de la valeur de la "limite RPG" ( devenue caractéristique locale)
Sur l'écran "sonde" (Profondeur axe y; distance axe x) des barres verticales (graphe) fonctions de la valeur locale/carte.

Je n'ai pas encore regardé le code ni la carte.
L'interface est carrément.......réjouissante ! Il me semble entendre le "cri" du sonar.
Il faut savoir que sur les escorteurs, le local sonar est situé sous le poste des "chouf's" (quartiers maitres de 1er cl); et que pendant les exercices, il valait mieux etre à la passerelle que dans son lit......à+.
____________________
Roro

   
Le 19/12/2012 à 13h56

Libertynaute Expert

Groupe: Membre

Inscrit le: 19/02/2011
Messages: 767
C'est plus ou moins ça en ce qui concerne la lecture de la carte.
Mon soucis c'est que le balayage effectué par le radar doit "dessiner" le profil de ce qu'il "voit" devant lui à sa profondeur actuelle et dans la direction qu'il suit actuellement.
Tous les points de la carte lû contiennent l'indication de profondeur dont tu parles, laquelle carte est orientée Nord/Sud c'est à dire 0° (comment posée sur la table), et pas dans le sens du cap actuel du DSRV... donc il faut des calculs suivant ce décalage... les mêmes d'ailleurs que pour lire et afficher la sonde bathymétrique, qui est sensée montrer le profil sous marin qu'il y a sous le DSRV dans la direction de sa route actuelle.
J'espère qu'avec ces indications, le joueur pourra le piloter... :heink mais je pense que je vais avoir aussi un soucis d'interprétation d'échelle car je ne pouvais pas créer un carte au mètre: elle n'est qu'au kilomètre et c'est déjà pas mal, une zone de 100km sur 50. Le problème c'est que le sous-marin ne mesure que 15m de long... :siffle

De toute façon j'ai bien précisé qu'il s'agit juste d'une "tentative".
Si c'est pas possible ou trop complexe pour moi tant pis...!

@+

Note: pour l'instant, juste durant la mise au point, Azimuth et Depth indiquent la coordonnée X et Y du clic de souris dans la fenêtre des commandes, avec changement de couleur suivant leur valeur : vert = tout va bien, orange = valeur limite, rouge = valeur extrèmement dangereuse.



Edité par cassiope01 Le 19/12/2012 à 14h16
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."

Web    
Le 19/12/2012 à 15h22

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2126
Ton histoire de direction ne me parait pas justifiée.
Ce que tu est en train de faire, combine deux types d'équipement.
Le type: radar de veille, écran rond à balayage circulaire, parabole tournante à vitesse angulaire variable.
Et le type: radar altimétrique, ecran de type x/y, parabole à balayage vertical, commandée en azimut.
Ce qui pourrait donner quelque chose comme ça: (cas des radars de poursuite)

Sur l'écran azimut la direction du SM est simplement un vecteur, la longueur du vecteur pouvant représenter sa vitesse. L'alidade, (cercle mobile autour de l'écran , graduée en degrés.) commande l'azimut d'emission (la parabole dans le cas des radars. Pour le sonar c'est un peu différent, mais on peut utiliser ce principe)
Pour la sonde, vu que tu dispose de la distance (entre le SM et les points concernés ( dans une seule direction, fixée par l'alidade)). Et de la profondeur des points (valeurs points-carte)
Tu peux afficher dans l'écran "sonde" les profondeurs sur la distance ( dans une seule direction, fixée par l'alidade.)
Sous la forme de graphe (barres verticales) cela donne une bonne représentation du relief.
J'espère ne t'avoir trop embrouillé. Mais vu comme ça, cela parait jouable........à+
____________________
Roro

   
Le 19/12/2012 à 21h59

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2126
Je crois bien que les ballasts ne servent qu'à : flotter ou couler.
En plongée la montée/descente est assurée par un "palonnier" ( gouvernail perpendiculaire au gouvernail de direction)

Ce qui serait top, c'est que la carte soit dans le scope, et n'apparaisse qu'avec le balayage..mais là, je rève...



Edité par Roland Le 20/12/2012 à 01h30
____________________
Roro

   
Le 20/12/2012 à 19h05

Libertynaute Expert

Groupe: Membre

Inscrit le: 19/02/2011
Messages: 767
Roland:
Boudiou ! mais qu\'est-ce que tu as fais ! :|
Tu as commencé par la fin ! L\'interface avant le fonctionnement ! :heink
Et une interface extraterrestre, bien chiadée comme il faut.
Morbleu de foutrebleu ! il faut faire fonctionner ! avec une interface minimale ( que des textbox et des boutons + ...

Oui j'ai commençer par la fin comme tu dis, c'est sûrement parce que quand je programme je pense toujours en premier à celui qui va l'utiliser, donc à l'interface.
Mais c'est aussi peut-être parce que je ne suis pas très sûr de moi quant aux calculs... ;)

Roland:
Je crois bien que les ballasts ne servent qu'à : flotter ou couler.
En plongée la montée/descente est assurée par un "palonnier" ( gouvernail perpendiculaire au gouvernail de direction)

Si par exemple tu ouvres le ballast AVANT moteur à zéro: le soum va bien s'incliner vers l'avant !!!
Si tu met du moteur sans ouvrir les ballast, même avec les barres de plongée à fond tu ne pourras pas plonger bien profond...!!!
Tout ça est lié et à gérer et surtout à indiquer au pilote : l'assiette du soum.

Roland:
Ce qui serait top, c'est que la carte soit dans le scope, et n'apparaisse qu'avec le balayage..mais là, je rève...

Non, tu ne rèves pas : c'est précisément ce que je voudrai faire ! (mais y a plein de sinus cosinus et autre hypoténuse...)
Comment t'y prendrais-tu ?

@+
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."

Web    
Le 20/12/2012 à 19h38

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2126
D'abord s'ciouse me pour avoir supprimé le post dont tu parle.
j'ai crains que tu le prenne mal.
Ma foi, je ferais une carte de la dimension du scope
je construirais le vecteur point par point, en partant du centre, allumé ou éteint, en fonction de la carte .
Une sorte de lecture de la carte selon une "demi-diagonale-tournante" :heink

Ou alors je mettrai la carte ( verte) en fond de scope, et je ferait un sprite "trou" qui serait le vecteur tournant.
mais il n'y aurait pas de rémanence, ce qui n'e serait pas plus mal, cela ferait travailler la mémoire visuelle.
mais là, le problème, c'est de faire défiler la carte (le move background n'est que pour LB)
Il faudrait envisager de refaire la carte au fur et a mesure du déplacement du SM. :|

Si tu pouvais jeter un oeil sur mon essais dans "débutant" tu va vite voir où je voulais en venir.
Et si tu pouvais commenter les points d'entrée dans l'interface des paramètres de navigation .
Parce que là, c'est deja un tantinet complexe.

Indiquer l'assiette ?...Plus tard !... plus tard! :s

____________________
Roro

   
Le 20/12/2012 à 20h59

Libertynaute Débutant

Groupe: Membre

Inscrit le: 04/06/2012
Messages: 23
Bonjour!
Je viens de sortir de ma caverne apès la tempète de neige d'hier (C'est vrai!!!!! 50 cm de me ...e blanche euhhhh... de neige). J'ai pris 10 minutes pour lire vos élucubrations sur le sous marin et le sonar. Je ne suis pas certain d'avoir tout compris, mais si je ne m'abuse tu vas essayer de transposer sur un plan en deux dimensions (ton écran radar) des objets dans un monde virtuel en 3 dimensions qui se trouvent devant toi. J'ai des bonnes et des mauvaises nouvelles pour toi..... De façon mathématique, c'est relativement simple à réaliser, seulement, en pratique cela exige ume masse incroyable de calculs (rendu là, on ne parle pas de trigo, mais de résolution d'équations linéaires À L'AIDE DE MATRICES). Comme JUSTBASIC ne possède pas de facilités pour ce type d'opération, faudra créer des sous routines pour calcul matriciel (c'est faisable, je l'ai déja fait sur mon TIMEX SINCLAIR1000....il y a longtemps).
T'as quand même de la chance, j'ai déja bossé sur ce type de problème (c'étais en 1981......ouf!) J'ai même créé un programme en basic (toujours sur le TIMEX SINCLAIR 1000) où je disposait quelques objets simples cubes, triangles...) dans un espace à 3 dimensions. Par la suite je simulais une trajectoire et je pouvais voir à l'écran ma progression (l'observateur) dans cet espace. C'étais impossible à réaliser en temps réel (à l'époque je réalisait tous les calculs au départ et je les remisais dans des matrices pour les afficher par la suite) à cause de la lenteur de la machine et du grand nombre de calculs à réaliser, mais probablement qu'avec les machines actuelles on pourrait le faire.
Aujourd'hui, les gens qui réalisent de l'animation ont des outils sophistiqués, mais dans notre cas on devra réinventer la roue. Peut-être qu'avec un peu d'astuce on pourra faire des approximations pour limiter les calculs...faudrait voir. Si tu n'est pas pressé, j'essairai de te donner un coup de main.
Pour le moment je dois bosser (ne le dites pas à mon chef...je suis au travail).
Je vais tenter de revenir plus tard en journée pour expliquer l'approche mathématique d'un tel problème.
A+
ChRiS
____________________
ChRiS :)

Web    
Le 20/12/2012 à 23h15

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2126
Ton histoire de sonder dans l'axe du SM serait avantageusement remplacée par une commande d'azimut de sondage.
J'ai fait un petit bidouillage expérimental qui affiche le fond dans la gbox "sonde".
du SM à une distance dsrvX+50 en horizontal-carte donc dans l'azimut 90° carte.
Je pense qu'il faut tout faire en relatif-carte, et pas en relatif-SM.
Pour voir la bidouille, il faut faire afficher la carte ( chargement de map(x,y )), et fermer la fenetre carte.

Code JB :
 
 
    [displaySonde]
        ' read map(dsrvX,dsrvY) to draw depth just (500m front/back) to 1524m under the submarine respecting it's road (cape)
        ' To code...!!!
        #w.sonde "color yellow"
        #w.sonde "line 5 80 205 80"
        xx=5
        for x=5 to 205 step 10
           #w.sonde "line ";xx;" ";"80";" ";xx;" ";"85"
           xx=xx+10
        next x
       ' #w.azimov,str$(dsrvX);"**";str$(dsrvY)
        yy=80: xx=5
        #w.sonde "color green"
        for xmap=dsrvX to dsrvX+50
           #w.sonde "line ";xx;" ";yy;" ";xx;" ";yy - map(xmap,dsrvY)/5
           xx=xx+5
        next xmap
        '#w.sonde "color darkblue ; delsegment ";dSegmt-1
        '#w.sonde "place 105 0 ; turn 180 ; go 100 ; segment dSegmt"
 
        #w.sonde "flush ; discard"
    return
 
 
____________________
Roro

   
Le 21/12/2012 à 19h35

Libertynaute Avancé

Groupe: Membre

Inscrit le: 08/06/2012
Messages: 270
Et ben ça c'est un projet vieux :|
____________________
Si le meilleurs langage de programmation existe, alors le Just Basic est loin devant.
Ne me tappez pas dessus ! Je débute :D

Web    
Le 21/12/2012 à 19h54

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2126
Auquel les jeunes peuvent participer :siffle ( sans foutre le souk..hein! :s )
____________________
Roro

   
Le 21/12/2012 à 21h17

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2126
J'ai réussi à faire afficher par ton afficheur d'un autre monde la route en fonction de la barre et du moteur.
En plus, j'ai été propre, j'ai mis les computations au chapitre "compute"
Tu as bien fait de mettre un point d'interrogation à:
to simulate inertia, commands could be divided by 10 ?
Parce que pour gerer l'inertie, il faut gérer le temps.
Quand l'engin est en train de tourner, si la barre est remise à zéro, l'inertie prolonge le mouvement de rotation.
Moi, je laisse l'inertie de coté pour le moment.
Ceci dit, c'est un vrai plaisir de bricoler ton code . :top



Edité par Roland Le 21/12/2012 à 21h40
____________________
Roro

   
Le 22/12/2012 à 11h34

Libertynaute Expert

Groupe: Membre

Inscrit le: 19/02/2011
Messages: 767
Salut Chris, il ne s'agit pas du tout d'une représentation en 3D de ce que le radar "voit" : ça je ne l'avais même pas imaginé tellement c'est hors de ma portée... ;) par contre ça serait bien pour une simulation de pilotage d'un vaisseau spacial dans un champ d'astéroides :top
D'ailleurs il me semble bien que quelqu'un l'a déjà fait en JB sur le forum anglophone... mais je ne sais plus qui !

Dans mon petit simulateur de soum, il s'agit juste de montrer l'obstacle en 2D qu'il a potentiellement devant lui (à sa profondeur et suivant sa route bien sûr) et grace au barregraphe de la sonde bathymétrique, le profil du fond strictement en dessous de lui (toujours dans la direction qu'il suit).
Ce serait un peu comme si le radar d'une tour de contrôle d'aéroport ne visualisait QUE le front de nuage ou les avions qu'il y a à une seule altitude...
J'espère simplement qu'avec ces informations + toutes les valeurs affichées issues de ses actions sur les commandes (qu'il faudra calculer pour un réalisme à peu près crédible), le joueur parviendra à piloter le DSRV... mais il n'y a rien de moins sûr !
Je le répète, c'est juste une tentative :siffle

@+
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."

Web    
Le 22/12/2012 à 11h41

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2126
Pour les nombreuses interactions, ça va, puisqu'on peut les ajouter au fur et à mesures.
Le gros morceau, c'est le passage des coordonnées de polaires à cartésiennes. (du moins pour moi )
d'ailleurs pour isoler le problème, j'ai charcuté ton code:

Enfer de Trigo.zip :| :heink ;)
____________________
Roro

   
Le 22/12/2012 à 12h07

Libertynaute Expert

Groupe: Membre

Inscrit le: 19/02/2011
Messages: 767
Dans mon code il y a :

map(x,y) = la carte : toutes les cellules de cette carte ont une valeur de profondeur. C'est la principale source d'informations.

dsrvX = position cartésienne X sur la carte map(x,y)
dsrvY = position cartésienne Y sur la carte map(x,y)
value(1) = l'angle de la "route" que suit le sous-marin (0° à 360°)
value(2) = sa profondeur actuelle
value(3) = sa vitesse actuelle
value(4) = son inclinaison actuelle
value(5) = la pression qu'il subit actuellement (juste gadget)

mass + BlstFrontMass + BlstBackMass = le poids du soum + poids du ballast AVANT + poids du ballast ARRIERE.

Depth = valeur de la commande de profondeur (mis à l'echelle = DepthScaled = +/- 20° )
Direction = valeur de la commande de direction (mis à l'echelle = DirectionScaled= +/- 30° )
Engine = valeur de la commande de moteur (mis à l'echelle = EngineScaled= +/- 100 choisi un peu au pif ! )

DepthScaled, DirectionScaled et EngineScaled devraient pouvoir s'intégrer aux calculs pour être correctement reflétés dans le tableau de bord...!

Je ne pense pas qu'il y ait besoin d'autres données... mais effectivement plein de calculs !!!

Pour ce dont tu parles Roland, j'ai trouvé ça : [url=http://integraledesmaths.free.fr/idm/PagePrincipale.htm#http://integraledesmaths.free.fr/idm/GeoAPPasCooCarPol.htm]http://integraledesmaths.free.fr/idm/PagePrincipale.htm#http://integraledesmaths.free.fr/idm/GeoAPPasCooCarPol.htm[/url]

je ne sais pas si ça te sera utile !?

@+

Note: il y a une grosse bétise dans mon code : les données cruciales de map(x,y) devraient être TOUJOURS disponibles, alors que tel que j'ai codé, elles ne le sont que quand on clique sur le bouton "MAP"...
Il faut que je revois ça...!

Voici la version corrigée : submarine_simulator.zip


@+



Edité par cassiope01 Le 23/12/2012 à 12h13
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."

Web    
Le 22/12/2012 à 13h07

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2126
Je ne sais si tu t'adresse à Chris ou à moi.
de mon côté, j'ai parfaitement pigé ton code ( sauf le découpage des digits et leur organisation)
Je suis aux prises avec Pytagore, et je n'ai pas le dessus. Le grec est coriace . :s
____________________
Roro

   
Le 22/12/2012 à 13h29

Libertynaute Expert

Groupe: Membre

Inscrit le: 19/02/2011
Messages: 767
A toi en ce qui concerne le passage des coordonnées polaires à cartésiennes, et à tout le monde quant au rescencement des variables utiles dans mon code ;)

J'ai juste un peu peur que ça devienne une monstrueuse usine à gaz, ce que je voudrai éviter si possible :(

Ne te soucis pas trop des digits : c'est [displayValue] qui s'occupe de tout ! y compris de la couleur en fonction de la valeur.
Il affiche la valeur qu"il y a dans la variable tableau value( v ) pour le 'v' courrant dans la bonne petite fenêtre graphique correspondante.

Mais il faut surtout prendre la dernière version : submarine_simulator.zip

@+



Edité par cassiope01 Le 22/12/2012 à 14h09
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."

Web    
Le 22/12/2012 à 13h45

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2126
Comme tu la commencé, ça ne peut pas devenir une usine à gaz.
Tout est super bien organisé.
Au premier coup d'oeil, j'ai pensé que c'était inaccessible, et finalement, c'est celui de tes codes que j'ai le mieux appréhendé.
Je n'ai pas trouvé, dans les centaines de codes que j'ai chargés, un seul qui fasse la conversion polaire/cartésien.
Et meme dans la marine, on ne la fait pas. Puisque c'est la table traçante qui la fait (sans aucun calculs.)
Une table dont le dessus est transparent, sur laquelle on pose un calque.ou une carte semi transparente.
A l'intérieur, un projecteur qui envoie un mince faisceau de lumière, et qui est mû par le compas et le lock.
Ce n'est pas les formules qui manquent sur le net...Mais un p...n d'exemple. .....à+.
____________________
Roro

   
Le 22/12/2012 à 17h11

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2126
Il faudrait envoyer ma version infernale aux anglophonistes, ils auraient vite fait de comprendre le but.
____________________
Roro

   
Le 22/12/2012 à 20h28

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2126
Cassiope, peut-tu me donner la portée horizontale de la sonde en pixels de carte
J'ai vu que c'était 500 et 1500m, mais vu les fonctions du bas où j'ai vu le mot "scale" je préfère demander.
Je pense pouvoir avancer la dessus, en feintant ( parce que la distance est fixe) ...Merci . ....0+.
................
Une idée pour le sonar:
Le rayon est de 100, ça fait un carré de 200 par 200.
Si on divise par 10, ça fait un tableau de 400 par 400, des cases se 10.
J'ai vu que les cases de la carte étaient de 8
Le tableau de la carte existe, donc si on transfère le contenu du tableau carte dans le tableau scope en fonction de l'avancement du SM . ( convers pol/cartesien) Ce qui peut se faire de façon optimisée à 5 ou 10° prés. Et pas forcément à chaque tour.
Il "suffit" alors, de faire une lecture tournante du tableau scope, et d'allumer les points en fonction de son contenu. indépendamment du balayage,mais synchrone avec lui.
Et on peut meme introduire une variable aléatoire, pour que ce ne soit pas toujours les memes pixels qui s'allument à chaque tour, à l'intérieur de la case 10x10
N'oublions pas que ce qu'on voit sur un scope, c'est trés loin d'etre une photo. Et que l'image n'est pas exactement la meme à chaque balayage ( propagation fluctuente)



Edité par Roland Le 23/12/2012 à 00h27
____________________
Roro

   
Jeux » "Tentative" de Simulation de pilotage d'un sous-marin DSRV... DSRV = petit sous-marin de sauvetage en grande profondeur.  

 |  |

2 Utilisateurs en ligne : 0 Administrateur, 0 Modérateur, 0 Membre et 2 Visiteurs
Utilisateurs en ligne : Aucun membre connecté
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie