salut developpeurs!
Mon problème est comment créer des courbes de niveau topographique dans mon application qui a une interface graphique.
Merci.








salut developpeurs!
Mon problème est comment créer des courbes de niveau topographique dans mon application qui a une interface graphique.
Merci.
Il te faut déjà les données, après c'est que du dessin (TCanvas), tu dois avoir une matrice qui contient pour chaque coordonnées logiques l'altitude ... je ne vois pas ce qui peut te poser problème, ...
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !![]()
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
Salut
Je pense que tu trouveras une meilleure solution dans le forum algo : http://www.developpez.net/forums/forumdisplay.php?f=60
Tu as quoi au départ? Des points en XYZ ou bien déjà les données de courbes?
Pedro
Aucune réponse aux sollicitations techniques par MP
Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)
Les pages Source C'est bon. Mangez-en!
Le défi Delphi
Règles du forum - FAQ Delphi - Pensez au chtit
Aéroclub Bastia Saint-Exupéry
Bonjour,
En supposant que l'on travaille dans un Canvas et que l'on ait l'altitude de chaque coordinnée géographique, on implémentera les fonctions suivantes:
- procedure CoordinatesToCanvasPoint(Coor: geo_coor;var x,y:integer) // optionelle
- procedure CanvasPointToCoordinates(x,y:integer;var Coor: geo_coor)
- function GetAltitude(Coor: geocoor) ;
- function GetColor(Alitude:integer) :
si les courdbes de niveau sont noires sur fond blanc, la fonction GetColor donnera par exemple noir pour des altitudes telles que Altitude mod 100 < 10 et blanc sinon.
Ensuite, rect étant la zone de tracé dans le canvas, on aura un code du genre:
for x:=rect.top to rect.bottom do for y:=rect.left to rect.right do begin
CanvasPointToCoordinates(x,y,coor) ;
canvas.setpixel(GetColor(getaltitude(coor))) ;
end ;
Partager