Pagina 4 di 5 primaprima ... 2 3 4 5 ultimoultimo
Visualizzazione dei risultati da 31 a 40 su 48
  1. #31
    Originariamente inviato da Neptune
    1) Ora lei ci ha proposto di memorizzare per ogni cella latitudine, longitudine ed altezza e poi approssimarci la distanza mediante la formula della norma euclidea applicata a latitudine, longitudine ed altezza.
    Sarà un approssimazione molto larga ma se l'ha detto lei..
    No questa, per come l'hai detta, non è un'approssimazione, è la madre di tutte le stronzate, e chi te l'ha suggerita, se te l'ha suggerita effettivamente così, è un imbecille e un ignorante sia di cartografia (perdonabile) che del normale sistema di coordinate sferiche (non perdonabile).

    Lasciamo stare per un momento l'altitudine (che poi se si parla di navi non è che dovrebbe variare di molto... a meno di non considerare i fiumi ), limitiamoci al problema di combinare in norma euclidea dei delta di latitudine e di longitudine:
    1. Applichi la norma euclidea a due cose che non c'entrano niente, ovvero a due misure di angoli diversi. E già qui è una bestemmia.
    2. Ottieni un qualche genere di numero. Che cacchio dovrebbe rappresentare? Suppongo la misura di un angolo, dato che ci hai buttato dentro due misure di angoli. E a che angolo sarebbe riferito, di grazia?
    3. Facciamo un'approssimazione lineare, supponiamo che a un certo delta di latitudine e di longitudine corrispondano analoghi delta sulla superficie della carta (che è quello che di fatto ti è stato detto di fare). Non ti viene in mente che, a seconda della latitudine a cui ti trovi, i coefficienti di questa approssimazione cambino? E che, come ti ho già detto - e come dovrebbe essere evidente a chiunque abbia mai visto un mappamondo - in generale non vale mai (tranne forse all'equatore) che un certo angolo di latitudine e un certo angolo di latitudine corrispondono il medesimo spostamento in chilometri sulla carta?

    Tu puoi approssimare localmente le linee coordinate di latitudine e longitudine come parallele/perpendicolari su un piano, ma non puoi ignorare il fatto che stai lavorando su una griglia rettangolare!

    Ribadisco che non si tratta di correzioni al second'ordine, ma di cannare completamente il coefficiente della tua approssimazione al prim'ordine, il che significa che un'approssimazione del genere non è utilizzabile nemmeno localmente.
    Giusto per rimarcare che non è un problema che salta fuori a latitudini "strane" e su grandi scale, ho preso una carta 1:25000 di una zona dell'Alto Adige e sono andato a verificare a che spostamenti in termini di chilometri risultano per il medesimo spostamento angolare in termini di latitudine/longitudine.

    Spostamento di latitudine:


    ovvero, a 5 primi di spostamento di latitudine corrispondono ~0,37 m * 25000 = 9,25 km

    Spostamento di longitudine:


    ovvero, a 5 primi di spostamento di longitudine corrispondono ~0,256 m * 25000 = 6,40 km

    Quindi vedi bene che la norma euclidea di delta di latitudine e longitudine non ti dice niente in termini di distanza sulla superficie, perché, non sapendo come è distribuita questa "distanza angolare" tra latitudine e longitudine, non sai dire a quanti km corrisponde: sulla mia cartina se mi dici che tra due punti c'è una tua "distanza angolare" di 5 primi l'unica cosa che so è che i miei punti possono distare tra i 6,4 e i 9,25 km, a seconda di come questa distanza angolare è "distribuita" tra latitudine e longitudine.

    Quindi, prima di fare qualunque cosa, ti devi ricondurre dalla griglia rettangolare della tua approssimazione locale di latitudine e longitudine ad una griglia quadrata chilometrica (o comunque di unità di misura lineari), moltiplicando i tuoi delta di distanza angolare per un adeguato coefficiente di conversione; facendo finta che la terra sia sferica e non sia un ellissoide di rotazione, si ha che



    con

    (naturalmente con gli angoli espressi in radianti)

    ... cosa peraltro che si può fare molto meglio lavorando direttamente in coordinate UTM, studiate apposta per fare delle carte proiettive locali ben fatte (che tengono anche conto del fatto che la terra non è sferica) su cui si possa lavorare comodamente con la geometria del piano.

    Tutto il resto è secondario.
    Amaro C++, il gusto pieno dell'undefined behavior.

  2. #32
    Moderatore di foto/videocamere digitali ed elettronica hi-tech L'avatar di sparwari
    Registrato dal
    Jun 2004
    Messaggi
    7,667
    MItaly,

    se accetterò mai una volta un invito fatto da una mia amica a venire a milano, ti arruolo nella spedizione che andremo poi a fare da milano a trento toccando tutte le cime alpine.

    ti lascerò l'onore di guidare la spedizione ...sempre fuori tracciato
    1... 2... 3... prova

  3. #33
    Originariamente inviato da sparwari
    MItaly,

    se accetterò mai una volta un invito fatto da una mia amica a venire a milano, ti arruolo nella spedizione che andremo poi a fare da milano a trento toccando tutte le cime alpine.

    ti lascerò l'onore di guidare la spedizione ...sempre fuori tracciato
    Useremo il programma della professoressa di Neptune per orientarci, nel giro di un paio di giorni ci ritroveremo a Palermo.
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #34
    Originariamente inviato da MItaly
    No questa, per come l'hai detta, non è un'approssimazione, è la madre di tutte le stronzate, e chi te l'ha suggerita, se te l'ha suggerita effettivamente così, è un imbecille e un ignorante sia di cartografia (perdonabile) che del normale sistema di coordinate sferiche (non perdonabile).

    Lasciamo stare per un momento l'altitudine (che poi se si parla di navi non è che dovrebbe variare di molto... a meno di non considerare i fiumi ), limitiamoci al problema di combinare in norma euclidea dei delta di latitudine e di longitudine:
    1. Applichi la norma euclidea a due cose che non c'entrano niente, ovvero a due misure di angoli diversi. E già qui è una bestemmia.
    2. Ottieni un qualche genere di numero. Che cacchio dovrebbe rappresentare? Suppongo la misura di un angolo, dato che ci hai buttato dentro due misure di angoli. E a che angolo sarebbe riferito, di grazia?
    3. Facciamo un'approssimazione lineare, supponiamo che a un certo delta di latitudine e di longitudine corrispondano analoghi delta sulla superficie della carta (che è quello che di fatto ti è stato detto di fare). Non ti viene in mente che, a seconda della latitudine a cui ti trovi, i coefficienti di questa approssimazione cambino? E che, come ti ho già detto - e come dovrebbe essere evidente a chiunque abbia mai visto un mappamondo - in generale non vale mai (tranne forse all'equatore) che un certo angolo di latitudine e un certo angolo di latitudine corrispondono il medesimo spostamento in chilometri sulla carta?

    Tu puoi approssimare localmente le linee coordinate di latitudine e longitudine come parallele/perpendicolari su un piano, ma non puoi ignorare il fatto che stai lavorando su una griglia rettangolare!

    Ribadisco che non si tratta di correzioni al second'ordine, ma di cannare completamente il coefficiente della tua approssimazione al prim'ordine, il che significa che un'approssimazione del genere non è utilizzabile nemmeno localmente.
    Giusto per rimarcare che non è un problema che salta fuori a latitudini "strane" e su grandi scale, ho preso una carta 1:25000 di una zona dell'Alto Adige e sono andato a verificare a che spostamenti in termini di chilometri risultano per il medesimo spostamento angolare in termini di latitudine/longitudine.

    Spostamento di latitudine:


    ovvero, a 5 primi di spostamento di latitudine corrispondono ~0,37 m * 25000 = 9,25 km

    Spostamento di longitudine:


    ovvero, a 5 primi di spostamento di longitudine corrispondono ~0,256 m * 25000 = 6,40 km

    Quindi vedi bene che la norma euclidea di delta di latitudine e longitudine non ti dice niente in termini di distanza sulla superficie, perché, non sapendo come è distribuita questa "distanza angolare" tra latitudine e longitudine, non sai dire a quanti km corrisponde: sulla mia cartina se mi dici che tra due punti c'è una tua "distanza angolare" di 5 primi l'unica cosa che so è che i miei punti possono distare tra i 6,4 e i 9,25 km, a seconda di come questa distanza angolare è "distribuita" tra latitudine e longitudine.

    Quindi, prima di fare qualunque cosa, ti devi ricondurre dalla griglia rettangolare della tua approssimazione locale di latitudine e longitudine ad una griglia quadrata chilometrica (o comunque di unità di misura lineari), moltiplicando i tuoi delta di distanza angolare per un adeguato coefficiente di conversione; facendo finta che la terra sia sferica e non sia un ellissoide di rotazione, si ha che



    con

    (naturalmente con gli angoli espressi in radianti)

    ... cosa peraltro che si può fare molto meglio lavorando direttamente in coordinate UTM, studiate apposta per fare delle carte proiettive locali ben fatte (che tengono anche conto del fatto che la terra non è sferica) su cui si possa lavorare comodamente con la geometria del piano.

    Tutto il resto è secondario.
    D'accordo appurato che utilizzare il piano euclideo è un buco nell'acqua, cosa ne dici dell'altra formula che ti ho riportato? Quella parla proprio di archi sulla sfera terrestre basata proprio su longitudine e latitudine.
    "Estremamente originale e fantasioso" By darkiko;
    "allora sfiga crepuscolare mi sa che e' meglio di atmosfera serale" By NyXo;
    "per favore, già è difficile con lui" By fcaldera;
    "se lo apri te e invece di "amore" ci metti "lavoro", l'effetto è lo stesso" By fred84

  5. #35
    Originariamente inviato da Neptune
    D'accordo appurato che utilizzare il piano euclideo è un buco nell'acqua,
    No, non è un buco nell'acqua, anzi per le piccole distanze è la cosa più sensata e comoda da fare (altrimenti le cartine sarebbero inutilizzabili), ma non è che lo puoi usare "a caso" sbattendoci dentro latitudine e longitudine come se fossero x e y, devi usare una proiezione ben fatta (come appunto la UTM).
    cosa ne dici dell'altra formula che ti ho riportato? Quella parla proprio di archi sulla sfera terrestre basata proprio su longitudine e latitudine.
    Quella se non sbaglio dovrebbe essere la formula della distanza sul cerchio massimo, ed è un'ottima approssimazione per le grandi distanze (dico approssimazione perché non tiene conto del fatto che la terra non è una sfera, sarebbe esatta invece su una sfera).
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #36
    Originariamente inviato da MItaly
    No, non è un buco nell'acqua, anzi per le piccole distanze è la cosa più sensata e comoda da fare (altrimenti le cartine sarebbero inutilizzabili), ma non è che lo puoi usare "a caso" sbattendoci dentro latitudine e longitudine come se fossero x e y, devi usare una proiezione ben fatta (come appunto la UTM).

    Quella se non sbaglio dovrebbe essere la formula della distanza sul cerchio massimo, ed è un'ottima approssimazione per le grandi distanze (dico approssimazione perché non tiene conto del fatto che la terra non è una sfera, sarebbe esatta invece su una sfera).
    Quindi utilizzando quella dovremmo avere almeno un approssimazione sensata, giusto?

    Mettiamo che ci va bene quell'approssimazione ed usiamo quella, come facciamo invece a calcolarci (in maniera simile) la formula dell'arco che passa per due punti ?

    Leggevo su internet di qualcosa a riguardo della ortodromia, che dovrebbe essere proprio la retta tra i due punti, ma non riesco a trovare una formula scritta in maniera capibile per tracciarla. Utilizzano tutti segni strani, io l'unica cosa che so sono longitudine e latitudine dei due punti. Ne sai qualcosa a riguardo?


    Edit: Qui ne parla alla fine del documento:
    http://www.matematica.it/impedovo/ar...New%20York.PDF

    Ovvero dice:
    h1cos(β)cos(α)+h2cos(β)sin(α)+h3sin(β) = 0

    dove h1, h2, h3 sono delle costanti, funzioni di α1, β1, α2, β
    Però non ho ben capito come applicarla e cosa sono questi h1,h2 e h3.
    "Estremamente originale e fantasioso" By darkiko;
    "allora sfiga crepuscolare mi sa che e' meglio di atmosfera serale" By NyXo;
    "per favore, già è difficile con lui" By fcaldera;
    "se lo apri te e invece di "amore" ci metti "lavoro", l'effetto è lo stesso" By fred84

  7. #37
    Originariamente inviato da Neptune
    Quindi utilizzando quella dovremmo avere almeno un approssimazione sensata, giusto?
    Credo di sì.
    Mettiamo che ci va bene quell'approssimazione ed usiamo quella, come facciamo invece a calcolarci (in maniera simile) la formula dell'arco che passa per due punti ?
    Più che di arco si parla di cerchio massimo, che è ciò su cui è misurata la distanza nella formula che hai citato prima. La formula precisa non la so (e dipende ovviamente dalle coordinate in base a cui vuoi individuare il tuo cerchio massimo), ma sono abbastanza sicuro che Google ti sappia dare risposte in proposito.
    Leggevo su internet di qualcosa a riguardo della ortodromia, che dovrebbe essere proprio la retta tra i due punti,
    Non è una retta, è un cerchio massimo che, in certe proiezioni, può apparire localmente come una retta.
    ma non riesco a trovare una formula scritta in maniera capibile per tracciarla.
    Dov'è che la vuoi tracciare, e in base a che coordinate? Se sulla sfera è semplicemente un cerchio massimo passante per i due punti, se è su un piano dipende dalla proiezione utilizzata sul piano in questione.
    Utilizzano tutti segni strani, io l'unica cosa che so sono longitudine e latitudine dei due punti. Ne sai qualcosa a riguardo?


    Ripeto comunque che, finché stai su distanze non eccessive, la cosa più comoda secondo me è lavorare nei quadranti UTM, all'interno dei quali puoi fare finta di essere su un piano.
    Amaro C++, il gusto pieno dell'undefined behavior.

  8. #38
    Originariamente inviato da MItaly
    Credo di sì.

    Più che di arco si parla di cerchio massimo, che è ciò su cui è misurata la distanza nella formula che hai citato prima. La formula precisa non la so (e dipende ovviamente dalle coordinate in base a cui vuoi individuare il tuo cerchio massimo), ma sono abbastanza sicuro che Google ti sappia dare risposte in proposito.

    Non è una retta, è un cerchio massimo che, in certe proiezioni, può apparire localmente come una retta.

    Dov'è che la vuoi tracciare, e in base a che coordinate? Se sulla sfera è semplicemente un cerchio massimo passante per i due punti, se è su un piano dipende dalla proiezione utilizzata sul piano in questione.



    Ripeto comunque che, finché stai su distanze non eccessive, la cosa più comoda secondo me è lavorare nei quadranti UTM, all'interno dei quali puoi fare finta di essere su un piano.
    Dato che le mappe ci vengono date in un modo, proporre di cambiare il formato delle mappe non so se è possibile o è conveniente.

    Se ho longitudine e latitudine di tre punti, A, B e C, devo capire come tracciare il cerchio massimo tra A e B e capire se questa C è allineata ad A e B rispetto a questo cerchio massimo o se non lo è trovare una misura (immagino in gradi) per capire di quanto differisce.

    Il nocciolo del problema è se voglio andare da A a B, voglio cercare di fare una rotta il più possibile rettilinea (terraferma e secche permettendo), quindi scegliendo una cella per volta in cui spostarmi voglio poter calcolare un costo che mi dica quanto quella cella è allineata.


    Stiamo gongolando in 2 persone da un po' di ore e ti assicuro che di formule se ne trovano ben poche ed incedibili per il nostro livello di matematica.
    "Estremamente originale e fantasioso" By darkiko;
    "allora sfiga crepuscolare mi sa che e' meglio di atmosfera serale" By NyXo;
    "per favore, già è difficile con lui" By fcaldera;
    "se lo apri te e invece di "amore" ci metti "lavoro", l'effetto è lo stesso" By fred84

  9. #39
    Metodo rozzo: calcola le distanze ab ac e bc con la formula di cui sopra. Se ab≈ac+bc allora i tre punti sono allineati, altrimenti la differenza tra ac+bc e ab è il costo aggiuntivo del passaggio per c.
    Amaro C++, il gusto pieno dell'undefined behavior.

  10. #40
    Originariamente inviato da MItaly
    Metodo rozzo: calcola le distanze ab ac e bc con la formula di cui sopra. Se ab≈ac+bc allora i tre punti sono allineati, altrimenti la differenza tra ac+bc e ab è il costo aggiuntivo del passaggio per c.
    Ho scoperto che esiste una misura, l'azimut, che dice dato un punto di partenza ed uno di destinazione in che direzione è la destinazione rispetto al punto:
    http://it.wikipedia.org/wiki/Azimut

    A questo punto, per far scegliere alla nave una rotta più rettilinea possibile utilizziamo proprio questa misura. Per capire invece la distanza usiamo quella misura di qualche post fa (in gradi).

    Mi è stato dato un sorgente di matlab dove vi era proprio questa funzione dell'azimut:
    codice:
    function az = greatcircleaz(lat1,lon1,lat2,lon2)
    
    % Inputs LAT1, LON1, LAT2, LON2 are in units of radians.
    
    az = atan2(cos(lat2) .* sin(lon2-lon1),...
               cos(lat1) .* sin(lat2) - sin(lat1) .* cos(lat2) .* cos(lon2-lon1));
    
    % Azimuths are undefined at the poles, so we choose a convention: zero at
    % the north pole and pi at the south pole.
    az(lat1 <= -pi/2) = 0;
    az(lat2 >=  pi/2) = 0;
    az(lat2 <= -pi/2) = pi;
    az(lat1 >=  pi/2) = pi;
    Hai mai visto qualcosa del genere? Dato che non ho mai fatto matlab (ma scilab) i tre puntini servono solo per andare a capo? e .* invece che cosa significa?
    "Estremamente originale e fantasioso" By darkiko;
    "allora sfiga crepuscolare mi sa che e' meglio di atmosfera serale" By NyXo;
    "per favore, già è difficile con lui" By fcaldera;
    "se lo apri te e invece di "amore" ci metti "lavoro", l'effetto è lo stesso" By fred84

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.