Izračun udaljenosti između gradova koristeći njihove koordinate. Udaljenost između dvije tačke Udaljenost između dvije tačke u prostoru

Matematika

§2. Koordinate tačke na ravni

3. Udaljenost između dvije tačke.

Ti i ja sada možemo razgovarati o tačkama jezikom brojeva. Na primjer, više ne moramo objašnjavati: uzmite tačku koja je tri jedinice desno od ose i pet jedinica ispod ose. Dovoljno je jednostavno reći: shvatite poentu.

Već smo rekli da to stvara određene prednosti. Tako možemo telegrafski prenijeti crtež sastavljen od tačaka i prenijeti ga kompjuteru koji uopće ne razumije crteže, ali dobro razumije brojeve.

U prethodnom pasusu definisali smo neke skupove tačaka na ravni koristeći odnose između brojeva. Pokušajmo sada dosljedno prevesti druge geometrijske koncepte i činjenice na jezik brojeva.

Počećemo sa jednostavnim i uobičajenim zadatkom.

Pronađite rastojanje između dve tačke na ravni.

Rješenje:
Kao i uvijek, pretpostavljamo da su tačke zadane svojim koordinatama, a onda nam je zadatak pronaći pravilo po kojem možemo izračunati udaljenost između tačaka, znajući njihove koordinate. Prilikom izvođenja ovog pravila, naravno, dozvoljeno je pribjeći crtežu, ali samo pravilo ne smije sadržavati nikakve reference na crtež, već samo treba pokazati koje radnje i kojim redoslijedom se moraju izvršiti na datim brojevima - koordinatama od tačaka - da bi se dobio željeni broj - udaljenost između tačaka.

Možda će nekim čitateljima ovaj pristup rješavanju problema biti čudan i nategnut. Ono što je jednostavnije, reći će, tačke su date, čak i po koordinatama. Nacrtajte ove točke, uzmite ravnalo i izmjerite udaljenost između njih.

Ova metoda ponekad nije tako loša. Međutim, ponovo zamislite da imate posla sa računarom. Ona nema lenjir, i ne crta, ali zna tako brzo da broji da joj to uopšte nije problem. Imajte na umu da je naš problem formuliran tako da se pravilo za izračunavanje udaljenosti između dvije tačke sastoji od naredbi koje može izvršiti mašina.

Bolje je prvo riješiti problem postavljen za poseban slučaj kada jedna od ovih tačaka leži u početku koordinata. Počnite s nekoliko numeričkih primjera: pronađite udaljenost od početka tačaka; i .

Napomena. Koristite Pitagorinu teoremu.

Sada napišite opštu formulu za izračunavanje udaljenosti tačke od početka.

Udaljenost tačke od ishodišta određena je formulom:

Očigledno, pravilo izraženo ovom formulom zadovoljava gore navedene uslove. Konkretno, može se koristiti u proračunima na mašinama koje mogu množiti brojeve, sabirati ih i izvlačiti kvadratne korijene.

Sada da riješimo opći problem

Date su dvije tačke na ravni, pronađite udaljenost između njih.

Rješenje:
Označimo sa , , , projekcije tačaka i na koordinatne ose.

Označimo točku presjeka linija slovom . Iz pravokutnog trokuta koristeći Pitagorinu teoremu dobijamo:

Ali dužina segmenta je jednaka dužini segmenta. Točke i , Leže na osi i imaju koordinate i , Odnosno. Prema formuli dobijenoj u stavu 3 stava 2, udaljenost između njih je jednaka .

Slično argumentirajući, nalazimo da je dužina segmenta jednaka . Zamjenom pronađenih vrijednosti i u formulu dobijamo.

Svaka tačka A ravni je okarakterisana svojim koordinatama (x, y). Poklapaju se sa koordinatama vektora 0A, koji izlaze iz tačke 0 - početka koordinata.

Neka su A i B proizvoljne tačke ravni sa koordinatama (x 1 y 1) i (x 2, y 2), respektivno.

Tada vektor AB očigledno ima koordinate (x 2 - x 1, y 2 - y 1). Poznato je da je kvadrat dužine vektora jednak zbiru kvadrata njegovih koordinata. Dakle, rastojanje d između tačaka A i B, ili, što je isto, dužina vektora AB, određuje se iz uslova

d 2 = (x 2 - x 1) 2 + (y 2 - y 1) 2.

$$ d = \sqrt((x_2 - x_1)^2 + (y_2 - y_1)^2) $$

Rezultirajuća formula vam omogućava da pronađete udaljenost između bilo koje dvije točke na ravni, ako su poznate samo koordinate ovih tačaka

Svaki put kada govorimo o koordinatama određene tačke na ravni, mislimo na dobro definisan koordinatni sistem x0y. Općenito, koordinatni sistem na ravni se može birati na različite načine. Dakle, umjesto koordinatnog sistema x0y, možemo uzeti u obzir koordinatni sistem xִy, koji se dobija kao rezultat rotacije starih koordinatnih osa oko početne tačke 0 suprotno od kazaljke na satu strelice na uglu α .

Ako je određena tačka ravni u koordinatnom sistemu x0y imala koordinate (x, y), onda će u novom koordinatnom sistemu xִy imati različite koordinate (x, y).

Kao primjer, razmotrite tačku M koja se nalazi na osi 0x i odvojena od tačke 0 na udaljenosti od 1.

Očigledno, u koordinatnom sistemu x0y ova tačka ima koordinate (cos α ,sin α ), au koordinatnom sistemu xִy koordinate su (1,0).

Koordinate bilo koje dvije tačke na ravni A i B zavise od toga kako je koordinatni sistem specificiran u ovoj ravni. Ali udaljenost između ovih tačaka ne zavisi od metode zadavanja koordinatnog sistema .

Ostali materijali

U ovom članku ćemo razmotriti načine da se teoretski odredi udaljenost od tačke do tačke i na primjeru konkretnih zadataka. Za početak, uvedemo neke definicije.

Definicija 1

Udaljenost između tačaka je dužina segmenta koji ih povezuje, na postojećoj skali. Potrebno je podesiti skalu kako bi imali jedinicu dužine za mjerenje. Stoga se u osnovi problem nalaženja udaljenosti između tačaka rješava korištenjem njihovih koordinata na koordinatnoj liniji, u koordinatnoj ravni ili trodimenzionalnom prostoru.

Početni podaci: koordinatna prava O x i proizvoljna tačka A koja leži na njoj Bilo koja tačka na pravoj ima jedan realan broj: neka je to određeni broj za tačku A x A, to je i koordinata tačke A.

Generalno, možemo reći da se dužina određenog segmenta procjenjuje u poređenju sa segmentom koji se uzima kao jedinica dužine na datoj skali.

Ako tačka A odgovara celobrojnom realnom broju, odlaganjem uzastopno od tačke O do tačke duž prave O A segmenata - jedinica dužine, možemo odrediti dužinu segmenta O A iz ukupnog broja izdvojenih jediničnih segmenata.

Na primjer, tačka A odgovara broju 3 - da biste došli do nje od tačke O, morat ćete odvojiti tri segmenta jedinice. Ako tačka A ima koordinatu - 4, jedinični segmenti se postavljaju na sličan način, ali u drugom, negativnom smjeru. Dakle, u prvom slučaju, rastojanje O A je jednako 3; u drugom slučaju O A = 4.

Ako tačka A ima racionalan broj kao koordinatu, tada iz početka (tačke O) iscrtavamo cijeli broj jediničnih segmenata, a zatim i njen neophodni dio. Ali geometrijski nije uvijek moguće izvršiti mjerenje. Na primjer, čini se da je teško nacrtati razlomak 4 111 na koordinatnoj liniji.

Koristeći gornju metodu, potpuno je nemoguće nacrtati iracionalni broj na pravoj liniji. Na primjer, kada je koordinata tačke A 11. U ovom slučaju, moguće je preći na apstrakciju: ako je data koordinata tačke A veća od nule, tada je O A = x A (broj se uzima kao rastojanje); ako je koordinata manja od nule, tada je O A = - x A . Općenito, ovi iskazi su tačni za bilo koji realni broj x A.

Da rezimiramo: udaljenost od početka do tačke koja odgovara realnom broju na koordinatnoj liniji jednaka je:

  • 0 ako se tačka poklapa sa ishodištem;
  • x A, ako je x A > 0;
  • - x A ako je x A< 0 .

U ovom slučaju, očito je da dužina samog segmenta ne može biti negativna, stoga pomoću znaka modula zapisujemo udaljenost od tačke O do tačke A sa koordinatom xA: O A = x A

Sljedeća izjava će biti tačna: udaljenost od jedne tačke do druge će biti jednaka modulu koordinatne razlike. One. za tačke A i B koje leže na istoj koordinatnoj liniji za bilo koju lokaciju i imaju odgovarajuće koordinate xA I x B: A B = x B - x A .

Početni podaci: tačke A i B koje leže na ravni u pravougaonom koordinatnom sistemu O x y sa datim koordinatama: A (x A, y A) i B (x B, y B).

Povučemo okomice kroz tačke A i B na koordinatne ose O x i O y i kao rezultat dobijemo tačke projekcije: A x, A y, B x, B y. Na osnovu lokacije tačaka A i B, tada su moguće sljedeće opcije:

Ako se tačke A i B poklapaju, tada je udaljenost između njih nula;

Ako tačke A i B leže na pravoj liniji okomitoj na osu O x (os apscise), tada se tačke poklapaju, i | A B | = | A y B y | . Budući da je udaljenost između tačaka jednaka modulu razlike njihovih koordinata, tada je A y B y = y B - y A, i, prema tome, A B = A y B y = y B - y A.

Ako tačke A i B leže na pravoj liniji okomitoj na osu O y (os ordinate) - po analogiji sa prethodnim paragrafom: A B = A x B x = x B - x A

Ako točke A i B ne leže na pravoj liniji okomitoj na jednu od koordinatnih osa, udaljenost između njih ćemo pronaći izvođenjem formule za proračun:

Vidimo da je trougao A B C pravougaonog oblika. U ovom slučaju, A C = A x B x i B C = A y B y. Koristeći Pitagorinu teoremu, kreiramo jednakost: A B 2 = A C 2 + B C 2 ⇔ A B 2 = A x B x 2 + A y B y 2 , a zatim je transformiramo: A B = A x B x 2 + A y B y 2 = x B - x A 2 + y B - y A 2 = (x B - x A) 2 + (y B - y A) 2

Izvedimo zaključak iz dobivenog rezultata: udaljenost od tačke A do tačke B na ravnini određena je proračunom koristeći formulu koristeći koordinate ovih tačaka

A B = (x B - x A) 2 + (y B - y A) 2

Rezultirajuća formula također potvrđuje ranije formirane tvrdnje za slučajeve podudarnosti tačaka ili situacije kada tačke leže na pravim linijama okomitim na ose. Dakle, ako se tačke A i B poklapaju, bit će tačna sljedeća jednakost: A B = (x B - x A) 2 + (y B - y A) 2 = 0 2 + 0 2 = 0

Za situaciju u kojoj tačke A i B leže na pravoj liniji okomitoj na x-osu:

A B = (x B - x A) 2 + (y B - y A) 2 = 0 2 + (y B - y A) 2 = y B - y A

Za slučaj kada tačke A i B leže na pravoj liniji okomitoj na ordinatnu osu:

A B = (x B - x A) 2 + (y B - y A) 2 = (x B - x A) 2 + 0 2 = x B - x A

Početni podaci: pravougaoni koordinatni sistem O x y z sa proizvoljnim tačkama koje leže na njemu sa datim koordinatama A (x A, y A, z A) i B (x B, y B, z B). Potrebno je odrediti udaljenost između ovih tačaka.

Razmotrimo opšti slučaj kada tačke A i B ne leže u ravni paralelnoj sa jednom od koordinatnih ravni. Nacrtajmo ravni okomite na koordinatne ose kroz tačke A i B i dobijemo odgovarajuće projekcijske tačke: A x , A y , A z , B x , B y , B z

Udaljenost između tačaka A i B je dijagonala rezultirajućeg paralelepipeda. Prema konstrukciji mjerenja ovog paralelepipeda: A x B x , A y B y i A z B z

Iz kursa geometrije znamo da je kvadrat dijagonale paralelepipeda jednak zbiru kvadrata njegovih dimenzija. Na osnovu ove tvrdnje dobijamo jednakost: A B 2 = A x B x 2 + A y B y 2 + A z B z 2

Koristeći ranije dobijene zaključke, pišemo sljedeće:

A x B x = x B - x A , A y B y = y B - y A , A z B z = z B - z A

Transformirajmo izraz:

A B 2 = A x B x 2 + A y B y 2 + A z B z 2 = x B - x A 2 + y B - y A 2 + z B - z A 2 = = (x B - x A) 2 + (y B - y A) 2 + z B - z A 2

Final formula za određivanje udaljenosti između tačaka u prostoru izgledat će ovako:

A B = x B - x A 2 + y B - y A 2 + (z B - z A) 2

Rezultirajuća formula vrijedi i za slučajeve kada:

Tačke se poklapaju;

Leže na jednoj koordinatnoj osi ili pravoj liniji paralelnoj s jednom od koordinatnih osa.

Primjeri rješavanja zadataka na pronalaženje udaljenosti između tačaka

Primjer 1

Početni podaci: date su koordinatna prava i tačke koje na njoj leže sa datim koordinatama A (1 - 2) i B (11 + 2). Potrebno je pronaći rastojanje od početne tačke O do tačke A i između tačaka A i B.

Rješenje

  1. Udaljenost od referentne tačke do tačke jednaka je modulu koordinate ove tačke, odnosno O A = 1 - 2 = 2 - 1
  2. Udaljenost između tačaka A i B definiramo kao modul razlike između koordinata ovih tačaka: A B = 11 + 2 - (1 - 2) = 10 + 2 2

Odgovor: O A = 2 - 1, A B = 10 + 2 2

Primjer 2

Početni podaci: dat je pravougaoni koordinatni sistem i dvije tačke koje leže na njemu A (1, - 1) i B (λ + 1, 3). λ je neki realan broj. Potrebno je pronaći sve vrijednosti ovog broja na kojima će udaljenost A B biti jednaka 5.

Rješenje

Da biste pronašli udaljenost između tačaka A i B, morate koristiti formulu A B = (x B - x A) 2 + y B - y A 2

Zamjenom stvarnih koordinatnih vrijednosti dobijamo: A B = (λ + 1 - 1) 2 + (3 - (- 1)) 2 = λ 2 + 16

Koristimo i postojeći uslov da je A B = 5 i tada će jednakost biti tačna:

λ 2 + 16 = 5 λ 2 + 16 = 25 λ = ± 3

Odgovor: A B = 5 ako je λ = ± 3.

Primjer 3

Početni podaci: trodimenzionalni prostor je specificiran u pravougaonom koordinatnom sistemu O x y z i tačkama A (1, 2, 3) i B - 7, - 2, 4 koje leže u njemu.

Rješenje

Za rješavanje problema koristimo formulu A B = x B - x A 2 + y B - y A 2 + (z B - z A) 2

Zamjenom realnih vrijednosti dobijamo: A B = (- 7 - 1) 2 + (- 2 - 2) 2 + (4 - 3) 2 = 81 = 9

Odgovor: | A B | = 9

Ako primijetite grešku u tekstu, označite je i pritisnite Ctrl+Enter

Koristeći koordinate, određuje se lokacija objekta na globusu. Koordinate su označene zemljopisnom širinom i dužinom. Geografske širine se mjere od linije ekvatora s obje strane. Na sjevernoj hemisferi geografske širine su pozitivne, na južnoj su negativne. Geografska dužina se mjeri od početnog meridijana, istočna ili zapadna, odnosno istočna ili zapadna geografska dužina.

Prema opšteprihvaćenom stavu, za početni meridijan se uzima onaj koji prolazi kroz staru Greenwich opservatoriju u Greenwichu. Geografske koordinate lokacije mogu se dobiti pomoću GPS navigatora. Ovaj uređaj prima signale satelitskog sistema za pozicioniranje u koordinatnom sistemu WGS-84, jedinstvenom za cijeli svijet.

Modeli Navigatora razlikuju se po proizvođaču, funkcionalnosti i sučelju. Trenutno su ugrađeni GPS navigatori također dostupni u nekim modelima mobilnih telefona. Ali svaki model može snimiti i sačuvati koordinate tačke.

Udaljenost između GPS koordinata

Za rješavanje praktičnih i teorijskih problema u pojedinim industrijama potrebno je moći odrediti udaljenosti između tačaka njihovim koordinatama. Postoji nekoliko načina na koje to možete učiniti. Kanonski oblik predstavljanja geografskih koordinata: stepeni, minute, sekunde.

Na primjer, možete odrediti rastojanje između sljedećih koordinata: tačka br. 1 - geografska širina 55°45′07″ N, geografska dužina 37°36′56″ E; tačka br. 2 - geografska širina 58°00′02″ N, geografska dužina 102°39′42″ E.

Najlakši način je korištenje kalkulatora za izračunavanje dužine između dvije tačke. U pretraživaču pretraživača morate postaviti sljedeće parametre pretraživanja: online - za izračunavanje udaljenosti između dvije koordinate. U online kalkulatoru vrijednosti geografske širine i dužine unose se u polja upita za prvu i drugu koordinate. Prilikom izračunavanja, online kalkulator je dao rezultat - 3.800.619 m.

Sljedeća metoda je radno intenzivnija, ali i vizualnija. Morate koristiti bilo koji dostupni program za mapiranje ili navigaciju. Programi u kojima možete kreirati tačke koristeći koordinate i mjeriti udaljenosti između njih uključuju sljedeće aplikacije: BaseCamp (moderni analog programa MapSource), Google Earth, SAS.Planet.

Svi gore navedeni programi dostupni su svakom korisniku mreže. Na primjer, da biste izračunali udaljenost između dvije koordinate u Google Earthu, trebate kreirati dvije oznake koje označavaju koordinate prve i druge tačke. Zatim pomoću alata „Lenjir“ trebate povezati prvu i drugu oznaku linijom, program će automatski prikazati rezultat mjerenja i pokazati putanju na satelitskoj slici Zemlje.

U slučaju gore navedenog primjera, program Google Earth je vratio rezultat - dužina udaljenosti između tačke br. 1 i tačke br. 2 je 3.817.353 m.

Zašto postoji greška pri određivanju udaljenosti

Svi proračuni opsega između koordinata zasnovani su na proračunu dužine luka. Radijus Zemlje je uključen u izračunavanje dužine luka. Ali budući da je oblik Zemlje blizak spljoštenom elipsoidu, radijus Zemlje varira u određenim tačkama. Za izračunavanje udaljenosti između koordinata uzima se prosječna vrijednost Zemljinog radijusa, što daje grešku u mjerenju. Što je veća udaljenost koja se mjeri, veća je greška.

zdravo

PHP korišten:

Srdačan pozdrav, Alexander.

zdravo

Već duže vrijeme se borim s problemom: pokušavam izračunati udaljenost između dvije proizvoljne tačke koje se nalaze na udaljenosti od 30 do 1500 metara jedna od druge.

PHP korišten:

$cx=31.319738; //x koordinata prve tačke
$cy=60.901638; //y koordinata prve tačke

$x=31.333312; //x koordinata druge tačke
$y=60.933981; //y koordinata druge tačke

$mx=abs($cx-$x); //izračunaj razliku u x (prvi krak pravokutnog trokuta), funkcija abs(x) - vraća modul broja x x
$my=abs($cy-$y); //izračunaj razliku između igrača (drugi krak pravokutnog trokuta)

$dist=sqrt(pow($mx,2)+pow($my,2)); // Dobiti udaljenost do metroa (dužina hipotenuze prema pravilu, hipotenuza je jednaka korijenu zbira kvadrata kateta)

Ako nije jasno, dozvolite mi da objasnim: zamišljam da je udaljenost između dvije tačke hipotenuza pravokutnog trokuta. Tada će razlika između X svake od dvije tačke biti jedan od krakova, a drugi krak će biti razlika Y u iste dvije tačke. Zatim, izračunavanjem razlika između X i Y, možete koristiti formulu za izračunavanje dužine hipotenuze (tj. udaljenosti između dvije tačke).

Znam da ovo pravilo dobro radi za kartezijanski koordinatni sistem, međutim, trebalo bi manje-više raditi kroz longlat koordinate, jer izmerena udaljenost između dve tačke je zanemarljiva (od 30 do 1500 metara).

Međutim, udaljenost prema ovom algoritmu je pogrešno izračunata (na primjer, udaljenost 1 izračunata ovim algoritmom premašuje udaljenost 2 za samo 13%, dok je u stvarnosti udaljenost 1 jednaka 1450 metara, a udaljenost 2 jednaka je 970 metara, tj. je, zapravo razlika dostiže skoro 50% ).

Ako neko može da pomogne, bio bih veoma zahvalan.

Srdačan pozdrav, Alexander.

","contentType":"text/html"),"proposedBody":("izvor":"

zdravo

Već duže vrijeme se borim s problemom: pokušavam izračunati udaljenost između dvije proizvoljne tačke koje se nalaze na udaljenosti od 30 do 1500 metara jedna od druge.

PHP korišten:

$cx=31.319738; //x koordinata prve tačke
$cy=60.901638; //y koordinata prve tačke

$x=31.333312; //x koordinata druge tačke
$y=60.933981; //y koordinata druge tačke

$mx=abs($cx-$x); //izračunaj razliku u x (prvi krak pravokutnog trokuta), funkcija abs(x) - vraća modul broja x x
$my=abs($cy-$y); //izračunaj razliku između igrača (drugi krak pravokutnog trokuta)

$dist=sqrt(pow($mx,2)+pow($my,2)); // Dobiti udaljenost do metroa (dužina hipotenuze prema pravilu, hipotenuza je jednaka korijenu zbira kvadrata kateta)

Ako nije jasno, dozvolite mi da objasnim: zamišljam da je udaljenost između dvije tačke hipotenuza pravokutnog trokuta. Tada će razlika između X svake od dvije tačke biti jedan od krakova, a drugi krak će biti razlika Y u iste dvije tačke. Zatim, izračunavanjem razlika između X i Y, možete koristiti formulu za izračunavanje dužine hipotenuze (tj. udaljenosti između dvije tačke).

Znam da ovo pravilo dobro radi za kartezijanski koordinatni sistem, međutim, trebalo bi manje-više raditi kroz longlat koordinate, jer izmerena udaljenost između dve tačke je zanemarljiva (od 30 do 1500 metara).

Međutim, udaljenost prema ovom algoritmu je pogrešno izračunata (na primjer, udaljenost 1 izračunata ovim algoritmom premašuje udaljenost 2 za samo 13%, dok je u stvarnosti udaljenost 1 jednaka 1450 metara, a udaljenost 2 jednaka je 970 metara, tj. je, zapravo razlika dostiže skoro 50% ).

Ako neko može da pomogne, bio bih veoma zahvalan.

Srdačan pozdrav, Alexander.

zdravo

Već duže vrijeme se borim s problemom: pokušavam izračunati udaljenost između dvije proizvoljne tačke koje se nalaze na udaljenosti od 30 do 1500 metara jedna od druge.

PHP korišten:

$cx=31.319738; //x koordinata prve tačke
$cy=60.901638; //y koordinata prve tačke

$x=31.333312; //x koordinata druge tačke
$y=60.933981; //y koordinata druge tačke

$mx=abs($cx-$x); //izračunaj razliku u x (prvi krak pravokutnog trokuta), funkcija abs(x) - vraća modul broja x x
$my=abs($cy-$y); //izračunaj razliku između igrača (drugi krak pravokutnog trokuta)

$dist=sqrt(pow($mx,2)+pow($my,2)); // Dobiti udaljenost do metroa (dužina hipotenuze prema pravilu, hipotenuza je jednaka korijenu zbira kvadrata kateta)

Ako nije jasno, dozvolite mi da objasnim: zamišljam da je udaljenost između dvije tačke hipotenuza pravokutnog trokuta. Tada će razlika između X svake od dvije tačke biti jedan od krakova, a drugi krak će biti razlika Y u iste dvije tačke. Zatim, izračunavanjem razlika između X i Y, možete koristiti formulu za izračunavanje dužine hipotenuze (tj. udaljenosti između dvije tačke).

Znam da ovo pravilo dobro radi za kartezijanski koordinatni sistem, međutim, trebalo bi manje-više raditi kroz longlat koordinate, jer izmerena udaljenost između dve tačke je zanemarljiva (od 30 do 1500 metara).

Međutim, udaljenost prema ovom algoritmu je pogrešno izračunata (na primjer, udaljenost 1 izračunata ovim algoritmom premašuje udaljenost 2 za samo 13%, dok je u stvarnosti udaljenost 1 jednaka 1450 metara, a udaljenost 2 jednaka je 970 metara, tj. je, zapravo razlika dostiže skoro 50% ).

Ako neko može da pomogne, bio bih veoma zahvalan.

Srdačan pozdrav, Alexander.

","contentType":"text/html"),"authorId":"108613929","slug":"15001","canEdit":false,"canComment":false,"isBanned":false,"canPublish" :false,"viewType":"old","isDraft":false,"isOnModeration":false,"isSubscriber":false,"commentsCount":14,"modificationDate":"Sri, 27. jun 2012. 20:07:00 GMT +0000 (koordinirano univerzalno vrijeme)","showPreview":true,"approvedPreview":("izvor":"

zdravo

Već duže vrijeme se borim s problemom: pokušavam izračunati udaljenost između dvije proizvoljne tačke koje se nalaze na udaljenosti od 30 do 1500 metara jedna od druge.

PHP korišten:

$cx=31.319738; //x koordinata prve tačke
$cy=60.901638; //y koordinata prve tačke

$x=31.333312; //x koordinata druge tačke
$y=60.933981; //y koordinata druge tačke

$mx=abs($cx-$x); //izračunaj razliku u x (prvi krak pravokutnog trokuta), funkcija abs(x) - vraća modul broja x x
$my=abs($cy-$y); //izračunaj razliku između igrača (drugi krak pravokutnog trokuta)

$dist=sqrt(pow($mx,2)+pow($my,2)); // Dobiti udaljenost do metroa (dužina hipotenuze prema pravilu, hipotenuza je jednaka korijenu zbira kvadrata kateta)

Ako nije jasno, dozvolite mi da objasnim: zamišljam da je udaljenost između dvije tačke hipotenuza pravokutnog trokuta. Tada će razlika između X svake od dvije tačke biti jedan od krakova, a drugi krak će biti razlika Y u iste dvije tačke. Zatim, izračunavanjem razlika između X i Y, možete koristiti formulu za izračunavanje dužine hipotenuze (tj. udaljenosti između dvije tačke).

Znam da ovo pravilo dobro radi za kartezijanski koordinatni sistem, međutim, trebalo bi manje-više raditi kroz longlat koordinate, jer izmerena udaljenost između dve tačke je zanemarljiva (od 30 do 1500 metara).

Međutim, udaljenost prema ovom algoritmu je pogrešno izračunata (na primjer, udaljenost 1 izračunata ovim algoritmom premašuje udaljenost 2 za samo 13%, dok je u stvarnosti udaljenost 1 jednaka 1450 metara, a udaljenost 2 jednaka je 970 metara, tj. je, zapravo razlika dostiže skoro 50% ).

Ako neko može da pomogne, bio bih veoma zahvalan.

Srdačan pozdrav, Alexander.

","html":"Zdravo,","contentType":"text/html"),"proposedPreview":("izvor":"

zdravo

Već duže vrijeme se borim s problemom: pokušavam izračunati udaljenost između dvije proizvoljne tačke koje se nalaze na udaljenosti od 30 do 1500 metara jedna od druge.

PHP korišten:

$cx=31.319738; //x koordinata prve tačke
$cy=60.901638; //y koordinata prve tačke

$x=31.333312; //x koordinata druge tačke
$y=60.933981; //y koordinata druge tačke

$mx=abs($cx-$x); //izračunaj razliku u x (prvi krak pravokutnog trokuta), funkcija abs(x) - vraća modul broja x x
$my=abs($cy-$y); //izračunaj razliku između igrača (drugi krak pravokutnog trokuta)

$dist=sqrt(pow($mx,2)+pow($my,2)); // Dobiti udaljenost do metroa (dužina hipotenuze prema pravilu, hipotenuza je jednaka korijenu zbira kvadrata kateta)

Ako nije jasno, dozvolite mi da objasnim: zamišljam da je udaljenost između dvije tačke hipotenuza pravokutnog trokuta. Tada će razlika između X svake od dvije tačke biti jedan od krakova, a drugi krak će biti razlika Y u iste dvije tačke. Zatim, izračunavanjem razlika između X i Y, možete koristiti formulu za izračunavanje dužine hipotenuze (tj. udaljenosti između dvije tačke).

Znam da ovo pravilo dobro radi za kartezijanski koordinatni sistem, međutim, trebalo bi manje-više raditi kroz longlat koordinate, jer izmerena udaljenost između dve tačke je zanemarljiva (od 30 do 1500 metara).

Međutim, udaljenost prema ovom algoritmu je pogrešno izračunata (na primjer, udaljenost 1 izračunata ovim algoritmom premašuje udaljenost 2 za samo 13%, dok je u stvarnosti udaljenost 1 jednaka 1450 metara, a udaljenost 2 jednaka je 970 metara, tj. je, zapravo razlika dostiže skoro 50% ).

Ako neko može da pomogne, bio bih veoma zahvalan.

Srdačan pozdrav, Alexander.

","html":"Zdravo,","contentType":"text/html"),"titleImage":null,"tags":[("displayName":"merenje udaljenosti","slug":"izmerenie- rasstoyaniy","categoryId":"10615601","url":"/blog/mapsapi??tag=izmerenie-rasstoyaniy"),("displayName":"API 1.x","slug":"api-1 -x","categoryId":"150000131","url":"/blog/mapsapi??tag=api-1-x")],"isModerator":false,"publishCount":1,"commentsEnabled": true,"url":"/blog/mapsapi/15001","urlTemplate":"/blog/mapsapi/%slug%","fullBlogUrl":"https://yandex.ru/blog/mapsapi","addCommentUrl ":"/blog/createComment/mapsapi/15001","updateCommentUrl":"/blog/updateComment/mapsapi/15001","addCommentWithCaptcha":"/blog/createWithCaptcha/mapsapi/15001/15001"ablog"Uloge" /api/captcha/new","putImageUrl":"/blog/image/put","urlBlog":"/blog/mapsapi","urlEditPost":"/blog/56a98d48b15b79e31e0d54c8/edit","urlSlug":" /blog/post/generateSlug","urlPublishPost":"/blog/56a98d48b15b79e31e0d54c8/publish","urlUnpublishPost":"/blog/56a98d48b15b79e31e0d54c8/unpublishPost:"/blog/56a98d48b15b79e31e0d54c8/unpublish/blog"56a98d48b15b79e31e0d54c8/unpublish/public 5b79e31e0d54c8/removePost","urlDraft " :"/blog/mapsapi/15001/draft","urlDraftTemplate":"/blog/mapsapi/%slug%/draft","urlRemoveDraft":"/blog/56a98d48b15b79e31e0d54c8/removeTagraft:removeTagS/removeTagS," / api/suggest/mapsapi","urlAfterDelete":"/blog/mapsapi","isAuthor":false,"subscribeUrl":"/blog/api/subscribe/56a98d48b15b79e31e0d54c8","unsubscribeUrl/api": otkaži pretplatu /56a98d48b15b79e31e0d54c8","urlEditPostPage":"/blog/mapsapi/56a98d48b15b79e31e0d54c8/edit","urlF orTranslate":"/blog/post/post/translate", "urlUpdateTranslate" :" /blog/post/updateTranslate","urlLoadTranslate":"/blog/post/loadTranslate","urlTranslationStatus":"/blog/mapsapi/15001/translationInfo","urlRelatedArticles":"/blog/api/relatedArticles/ mapsapi/ 15001","author":("id":"108613929","uid":("value":"108613929","lite":false,"hosted":false),"aliases":() ," login":"mrdds","display_name":("name":"mrdds","avatar":("default":"0/0-0","empty":true)),,"adresa ":" [email protected]","defaultAvatar":"0/0-0","imageSrc":"https://avatars.mds.yandex.net/get-yapic/0/0-0/islands-middle","isYandexStaff": false),"originalModificationDate":"2012-06-27T16:07:49.000Z","socialImage":("orig":("fullPath":"https://avatars.mds.yandex.net/get-yablogs /47421/file_1456488726678/orig")))))))">