|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre confirmé
![]() Inscription : juin 2006 Messages : 649 ![]() |
Bonjour,
Je ne sais pas si Ada pourrait m'aider à résoudre mon problème. Je n'ai pas su l'exprimer autrement. J'utilise une image d'un carte de dimension NxM que je découpe en zone en divisant N par (360*60*60) et M par (180*60*60). Mais si je multiplie les unités respective par (360*60*60) ou (180*60*60) je trouve un résultat débordant de N et M. Alors que je voudrait retomber pile poil. Auriez vous une solution s'il vous plaît ? Merci pour vos réponses. |
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() |
Quel que soit le langage, tu seras de toutes façons embêté.
Si N et M ne sont pas tous les deux divisibles par 180*60*60 et 360*60*60 respectivement, la représentation binaire de ses quotients introduira une erreur qui en effectuant la multiplication inverse fera dépasser tes limites. Le seul moyen que je vois comme ça, c'est de garder faire les divisions entières et de garder les restes pour faire une tuile plus grande que les autres. Enfin, si j'ai bien compris ton problème... |
|
00
|
|
|
#3 |
|
Membre confirmé
![]() Inscription : juin 2006 Messages : 649 ![]() |
Bonjour backknight.
Je pense que tu as saisi mon problème entout cas tu propose une solution qui semble y correspondre. Mais je ne peux l'appliquer. Tant pis. Merci pour ta réponse. |
|
|
00
|
|
|
#4 |
|
Membre confirmé
![]() |
Pourrais-tu exposer un peu plus ton problème ou bien c'est secret
D'ailleurs, je ne comprends pas trop dans quel cadre tu as besoin de refaire l'opération inverse. |
|
00
|
|
|
#5 |
|
Membre confirmé
![]() Inscription : juin 2006 Messages : 649 ![]() |
J'ai une carte 1024x768.
Je veux positionner des objet sur la carte selon des coordonnées "GPS" degrés minute seconde. Je divise donc ma carte par 360*60*60 et 180*60*60 dans un premier temps, et je multiplie la faction trouvé par l'unité donnée en coordonnée "GPS" |
|
|
00
|
|
|
#6 |
|
Membre confirmé
![]() |
C'est une carte Raster (jpeg, png ou autre) sans coordonnée qui représente le monde entier et donc tu cherches à faire de la projection de coordonnées GPS dessus.
Dans ce cas, il y a d'autres paramètres qui rentrent en ligne de compte comme la projection utilisée sur la carte d'origine (et là, ça devient tout de suite complexe) et la résolution utilisée (ce qui revient à faire un ratio km/pixel pour les grandes cartes). En tout cas, bon courage parce que l'alignement n'est pas ce qu'il y a de plus facile |
|
00
|
|
|
#7 |
|
Membre confirmé
![]() Inscription : juin 2006 Messages : 649 ![]() |
Mais je fais simple là, je ne cherche pas à positionner Paris sur Paris.
C'est pour un jeu, ça ira bien. Merci blackknight en tout cas. |
|
|
00
|
|
|
#8 |
|
Futur Membre du Club
![]() Inscription : mars 2011 Messages : 22 ![]() |
Bonjour,
Pourquoi ne pas simplement calculer en type long_float les coordonnées du point que l'on veut in fine positionner dans le tableau M x N puis remplacer ces coordonnées par les entiers qui en sont les plus proches et serviront d'index au tableau. Mais peut-être n'ai je pas bien saisi toutes les facettes du problème... |
|
|
00
|
|
|
#9 | |
|
Membre confirmé
![]() Inscription : juin 2006 Messages : 649 ![]() |
Citation:
Je ne sais pas, j'ai pas saisie ta démarche en fait. Ca me semble tordu comme idée en tout cas. |
|
|
|
00
|
|
|
#10 |
|
Futur Membre du Club
![]() Inscription : mars 2011 Messages : 22 ![]() |
En essayant de comprendre la question posée, j'ai posé l'hypothèse que les entiers M et N pouvaient être les dimensions d'un tableau représentant l'image de M x N pixels. Mais ce n'est donc pas la bonne interprétation !
Autre idée : ne pourrait-on pas utiliser à la place des flottants classiques d'Ada un autre type de nombres supportant le calcul exact avec les opérations restreintes +, -, *, / voire aussi la racine carrée ? |
|
|
00
|
|
|
#11 |
|
Membre confirmé
![]() Inscription : juin 2006 Messages : 649 ![]() |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com