das ist pseudocode, also im prinzip "sprachlos" *g*
musst nur aufpassen, dass du die ifs so schachtelst wie im code oben durch die einrückung geschehen, dann sollte das klappen...
wenns nich klappt, wurschdel ich dirs auch in vb um
Druckbare Version
das ist pseudocode, also im prinzip "sprachlos" *g*
musst nur aufpassen, dass du die ifs so schachtelst wie im code oben durch die einrückung geschehen, dann sollte das klappen...
wenns nich klappt, wurschdel ich dirs auch in vb um
also wenn diffy ist (ziel links oder rechts) dann schauen ob diffx größer 0 (winkel von 90 grad zurückgeben (returnen)), wenn diffx kleiner 0 (winkel von 270 grad returnen), sonst (also diffx = 0) ist man schon da und muss eben einen Fehler oder so zurückliefern.
dann eben winkel ausrechnen (weiter oben haben wir ja schon abgefangen, dass diffy = 0, deshalb können wir bedenkenlos dadurch teilen)
nun noch, wenn objekt hinter uns (diffy <0) 180 Grad addieren dass es passt, dann irgendwelche negativen Zahlen "wegmodulieren" =)
=> Winkel in [0,360] und dann zurückgeben.
fertig....
Hi,
also find des echt toll von dir das du da so mitmachst, ein SUPER DANKE
Mein Code momentan, da ich den deinen nicht hinbekommen hab :-(
bin halt doch noch nicht so fit in VB wie ich dachte oder eher in Mathe!
Rechnungen zeigen nicht immer den richtigen Wert!Code:Private Sub Command1_Click()
Dim difflat, difflon, sina, cosa, winkelR, alf, diff, radi
'Dezimal Umrechnung
Lat1 = Text1.Text + (Text2.Text / 60) + (Text3.Text / 3600)
Lon1 = Text4.Text + (Text5.Text / 60) + (Text6.Text / 3600)
Lat2 = Text7.Text + (Text8.Text / 60) + (Text9.Text / 3600)
Lon2 = Text10.Text + (Text11.Text / 60) + (Text12.Text / 3600)
'----------------------------------------------------------------------
difflat = Lat1 - Lat2
difflon = Lon1 - Lon2
Label20.Caption = "difflat :" & difflat
Label21.Caption = "difflon :" & difflon
'----------------------------------------------------------------------
radi = Sqr(difflat ^ 2 + difflon ^ 2)
sina = (difflat / radi)
cosa = difflon / radi
If sina And cosa = 0 Then Exit Sub
alf = Abs(Atn(sina / cosa))
winkelR = alf
If difflat < 0 And difflon < 0 Then winkelR = pi + winkelR
If difflat >= 0 And difflon < 0 Then winkelR = pi - winkelR
If difflat < 0 And difflon >= 0 Then winkelR = 2 * pi - winkelR
Dim test
test = ((180 / pi) * winkelR)
Text14.Text = test]
immer wenns zwischen nord und west und west und süd liegt ???
by Ulli
kann es sein, dass das recht wenig mit meinem code zu tun hat?
hab jetzt grade keine Nerven miczh da reinzudenken, aber wie wärs du versuchst mal testweise meinen Code zu verwenden/übersetzen
Hab mit deine Code jetzt rumexperimentiert :-)
Komm aber ihrgenwie net drauf *grrrr*
Werd mal ins Bett gehn und nochmal ne nacht drüber schlafen....
Kannst du aber trotzdem die Funktion in VB übersetzten, Büdde
Danke und gut´s Nächtlé
sorry, weder Zeit noch nerven, aber probiers doch einfach ma und post dann was klappt bzw. was nicht klappt
Hi,
naja kann ich verstehen :-)
ich werd noch mal bissl probieren...
Das Problem ist wie ich merke wenn er von nen stupfen in nen überstumpfen Winkel geht...
by Ulli
Hi,
habs nun entlich hinbekommen :- ) :-) :-)
Also ich hab jetzt die ganzen Winkel fest definiert und nur di ehalbwinkel berechnet und denjeweiligen ganzen Winkel dazu gerechnet b.z.w abgezogen je nach Richtung von Norden aus.
Und sie da war jetzt 2Std. im Garten und hab gut xxx Positionen getestet
und ich treffe auf etwa 0,5m +- genau.
Nächster Schritt ist jetzt mal die Motoren meines Heimüberwachungs Roboters (Alarm-Roboter) anzusteuern über das Programm damit er zu
dieser Position geht :-)
Weiteres gibts dann wieder unter Heimüberwachungs Roboter
by Ulli
Nochmals Danke für die Hilfe
---------------------------------
Hi,
hier noch ein Bild von der Software zum Testen des GPS.
Bild hier
by Ulli
@Sommer
nett die Software.
Darf ich mal fragen welches GPS Modul du verwendest?
gruss
pinguin