Matteproblem
att det var 15 år sedan jag läste matte...
Problemet uppstår att du har inte samma skala på lat. och long.
Man mäter alltid avstånd (distans) på lat. skalan. Och tittar man på hur sjökorten är ritade så används oftas Mercators projektion och det innebär att korten inte är riktig proptionella med verkligheten.
Om jag räknar enl. formeln med datan fart:20 knop, kurs:045 grader så får jag följande:
efter 10 min har jag en total förflyttning på ca:
lat + 3,5
long + 3,5
men eftersom long. skalan är "kortare" så kommer man inte "rätt".
// Fredrik
Problemet uppstår att du har inte samma skala på lat. och long.
Man mäter alltid avstånd (distans) på lat. skalan. Och tittar man på hur sjökorten är ritade så används oftas Mercators projektion och det innebär att korten inte är riktig proptionella med verkligheten.
Om jag räknar enl. formeln med datan fart:20 knop, kurs:045 grader så får jag följande:
efter 10 min har jag en total förflyttning på ca:
lat + 3,5
long + 3,5
men eftersom long. skalan är "kortare" så kommer man inte "rätt".
// Fredrik
Du skrev ingen enhet på ditt svar. Är det riktings komposanten så är det fel. Då borde du få 14knop. Det är samma sak som (1grad/60)/h på latituden. För att räkna om det till för att det ska stämma med logituden måste du multiplicera med en kostant som är beroende på vilken latitud du är på. 1 på ekvatiorn och 0 på polerna. frågan är om det är så enkelt så att konstnten är cos (latitud) ? Det verkar rimligt men jag orkar inte räkna på det nu...
Jag har bortsett från att jorden inte är en perfekt svär i mina förklaringar.
EDIT: Efter lite funderande kom jag fram till att det stämmer. Fråga igen om du vill ha mer förklaringar eller färdiga formler.
EDIT2: Nu såg jag att det var förflyttning på 10 min du hadde räknat ut.
Jag får det till:
longitud + 2,4*cos(latitud)
latitud + 2,4
Jag har bortsett från att jorden inte är en perfekt svär i mina förklaringar.
EDIT: Efter lite funderande kom jag fram till att det stämmer. Fråga igen om du vill ha mer förklaringar eller färdiga formler.
EDIT2: Nu såg jag att det var förflyttning på 10 min du hadde räknat ut.
Jag får det till:
longitud + 2,4*cos(latitud)
latitud + 2,4
Fart: 10 Knop = 10 sjömil / h = 5,14 m/s
Kurs: 45 grader
Startpunkt: N57 30´
E11 25´
Nordlig fart
cos45 * 10knop = 7,07 knop
Nordlig sträcka
7,07knop * 1h = 7,07 sjömil
position
N57 30´ + 7,07´sjömil = N57 37,07´
Östlig fart.
sin45 * 10knop = 7,07 knop
Östlig sträcka
7,07knop * 1h = 7,07 sjömil
kompensering
cos 57,5 = 0,537
position
E11 25´ + 7,07´sjömil/0,537 = E11 38,16
Det verkar vara samma sak som du kom fram till.
Kurs: 45 grader
Startpunkt: N57 30´
E11 25´
Nordlig fart
cos45 * 10knop = 7,07 knop
Nordlig sträcka
7,07knop * 1h = 7,07 sjömil
position
N57 30´ + 7,07´sjömil = N57 37,07´
Östlig fart.
sin45 * 10knop = 7,07 knop
Östlig sträcka
7,07knop * 1h = 7,07 sjömil
kompensering
cos 57,5 = 0,537
position
E11 25´ + 7,07´sjömil/0,537 = E11 38,16
Det verkar vara samma sak som du kom fram till.
misstänkte det.
Men nu är det bara så att när jag knappade in detta i picbasic:
och tittade på lat och long så fick jag lat:5.235 och long:14.655 som värden. Jag tror den är lika dum som jag.
edit :
lade in följande:
och fick lat:6.530 och long:7.071
// Fredrik
Men nu är det bara så att när jag knappade in detta i picbasic:
Kod: Markera allt
speed = 10
heading = 45
comp = cos 57.5
cos_ = cos heading
sin_ = sin heading
lat = speed * cos_
ychange = speed * sin_
long = ychange / comp
edit :
lade in följande:
Kod: Markera allt
speed = 10
heading = 45
compvalue = 0.537
comp = cos compvalue
cos_ = cos heading
sin_ = sin heading
ychange = sin_ * speed
lat = cos_ * speed
long = ychange / comp
// Fredrik
Från Proton Picbasic manualen:
Och just ju testar jag med 18F452 så det borde ju gå, men jag får nog uppgradera min Proton.With 12, and 14-bit core devices, COS returns the 8-bit cosine of a value, compatible with the BASIC Stamp syntax. The result is in two's complement form (i.e. -127 to 127). COS starts with a value in binary radians, 0 to 255, instead of the customary 0 to 359 degrees.
However, with the extra functionality, and more linear memory offered by the 16-bit core devices, full 32-bit floating point COSINE is implemented.