Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
sõnum |
|
Peebuste
HV vaatleja
liitunud: 01.09.2007
|
06.01.2008 21:57:04
LAT & LON lähima punkti leidmine |
|
|
Tere targad ja HUA!
Polegi otseselt progemisega seotud, pigem matemaatikaga.
Seis selline:
- on geogr. koordinaatidega määratud punkt A
- on "pilveke" teisi punkte
- leida, milline on A-le lähimad
- koordinaadid on antud kraadides: 12,3456789
Vahendid - misiganes, algoritmi ei suuda välja mõelda
Vott, mõistus otsas
|
|
Kommentaarid: 1 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
1 |
|
tagasi üles |
|
|
airm
HV Guru
liitunud: 26.02.2003
|
06.01.2008 22:56:37
|
|
|
Joonista paberi peale paari punkti asukohad ja siis natuke vektorarvutust ja edasine on tõlkimine masinkeelde.
|
|
Kommentaarid: 56 loe/lisa |
Kasutajad arvavad: |
|
:: |
2 :: |
1 :: |
50 |
|
tagasi üles |
|
|
LWD
HV vaatleja
liitunud: 17.08.2007
|
07.01.2008 00:22:35
|
|
|
Oleneb, kuidas sul algandmed on esitatud.
phps oleks midagi niisugust:
$algpunkt = array(10, 20); //x=10 ja y=20;
$lisapunktid = array();
$kaugused = array();
$lisapunktid[0] = array(20, 30); //x=20, y=30
$lisapunktid[1] = array(30, 50); //x=30, y=50
$lisapunktid[2] = array(-10, 0); //x=-10, y=0
for ($i=0;$i<count($lisapunktid);$i++) { //Kontrollid kõik punktid ükshaaval läbi
$kaugused[$i] = sqrt(($algpunkt[0] - $lisapunktid[$i][0]) * ($algpunkt[0] - $lisapunktid[$i][0]) +($algpunkt[1] - $lisapunktid[$i][1]) * ($algpunkt[1] - $lisapunktid[$i][1])); //Pythagorose teoreem: x koordinaatide vahe ruudu ja y koordinaatide vahe ruudu summa ruutjuur
}
$vahim = min($kaugused); // Otsid kõige väima kauguse
$vahimid = array_search($vahim, $kaugused); // Otsib, milline sinu punktidest on vähima kaugusega
echo "Antud punktile on kõige lähemal $vahimid. punkt, mille koordinaadid on $lisapunkt[$vahimid][0], $lisapunkt[vahimid][1]";
|
|
Kommentaarid: 2 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
2 |
|
tagasi üles |
|
|
Ohohh
Kreisi kasutaja
liitunud: 13.09.2003
|
07.01.2008 00:39:08
|
|
|
LWD, kuna maakera on kera ja koordinaadid on antud nurkadega, siis ei ole see nii lihtsalt tehtav...
Mida lähemale poolusele, seda väiksem vahemaa on kahe pikkuskraadi vahel.
viimati muutis Ohohh 07.01.2008 00:43:27, muudetud 1 kord |
|
Kommentaarid: 6 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
6 |
|
tagasi üles |
|
|
Telempe
Kreisi kasutaja
liitunud: 02.11.2002
|
07.01.2008 00:49:20
|
|
|
Mida LWD skript lihtsamalt öeldes teeb on see, et lahutab algpunktivektorist iga lisapunktivektori ja leiab neist absoluutväärtuselt väikseima, aga ainult kahemõõtmelises ristkoordinaadistikus. Kaugusi sfääri pinna arvutatakse teisiti: http://en.wikipedia.org/wiki/Great-circle_distance
_________________ ORLY? I hardly know her! |
|
Kommentaarid: 22 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
21 |
|
tagasi üles |
|
|
Peebuste
HV vaatleja
liitunud: 01.09.2007
|
14.01.2008 22:30:01
|
|
|
Kas keegi aitaks seda seal harimatule pisut selgitada?
|
|
Kommentaarid: 1 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
1 |
|
tagasi üles |
|
|
Ohohh
Kreisi kasutaja
liitunud: 13.09.2003
|
15.01.2008 02:29:52
|
|
|
Peebuste kirjutas: |
Kas keegi aitaks seda seal harimatule pisut selgitada? |
Siin ei ole muud teha, kui valemites olevad tähed asendada enda muutujatega...
(FIIs,LAMDAs) on üks punkt ja (FIIf, LAMDAf) on teine punkt, kus FII on laiuskraad ja LAMDA on pikkuskraad. Delta LAMDA on LAMDAs ja LAMDAf vahe. Enne valmisse sisestamist pead sa kraadid tõenäoliselt radiaanideks teisendama, sest enamasti võtavad trigonomeetria funktsioond nurkadeks vastu radiaane.
Sulle pakutakse kolme valemit. Kõik valemid ise on õiged, aga kõige alumine annab täpseima vastuse, sest see kannatab kõige vähem ümardamistest tekkivate vigade all. Kõik valemid annavad tulemuseks Delta SIGMA, mis on nurk nende kahe punkti vahel. Et saada nende punktide vaheline vahemaa pead korrutama selle nurga (mis on samuti radiaanides) läbi maakera raadiusega.
Ehk siis võta näiteks kolmas valem, kirjuta see oma programmi ümber asendades Fii'd ja Lamda'd enda muutujatega ning tulemus korruta läbi maa raardiusega.
|
|
Kommentaarid: 6 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
6 |
|
tagasi üles |
|
|
infidel
HV kasutaja
liitunud: 31.01.2004
|
15.01.2008 12:59:22
|
|
|
Kui väga suur saladus pole, siis ehk avaldad rakenduse?
Kui punktid väga kaugel üksteisest pole, siis tasub teisendada ristkoordinaatideks, nende puhul saab klassikalist geomeetriat rakendada.
Süsteemiks pakuks L-EST97, kui punktid Eesti pinnal asuvad.
Geograafilistest L-ESTi teisendamiseks sai kunagi üks VBA jupike treitud, kui huvi on, võin saata.
|
|
Kommentaarid: 35 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
34 |
|
tagasi üles |
|
|
|
lisa lemmikuks |
|
|
sa ei või postitada uusi teemasid siia foorumisse sa ei või vastata selle foorumi teemadele sa ei või muuta oma postitusi selles foorumis sa ei või kustutada oma postitusi selles foorumis sa ei või vastata küsitlustele selles foorumis sa ei saa lisada manuseid selles foorumis sa võid manuseid alla laadida selles foorumis
|
|