erst mal einen schönen guten abend.
ich schreibe meine frage hier, weil ich mir nicht sicher bin zu was sie zählt.
ich arbeite mit "Microsoft Visual C# 2010 Express".
so dann erst mal die vorgeschichte.
ich hatte vor kurzem die fixe idee mich mit der Graphics klasse und deren DrawEllipse und DrawLine befassen zu wollen.
dachte nicht das es soooo tief in die mathematik gehen würde.
für den anfang habe ich mir einen kreis mit einer linie gezeichnet wie bei einer uhr.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| int xEllipse = 10, yEllipse = 10; int breiteEllipse = 200, tiefeEllipse = 200; int xmitte = 110, ymitte = 110; int xwert = 0, ywert = -90;
Graphics g; Pen pn = new Pen(Color.White);
g = Graphics.FromHwnd(pictureBox1.Handle); g.DrawEllipse(pn, xEllipse, yEllipse, breiteEllipse, tiefeEllipse); g.DrawLine(pn, xmitte, ymitte, xmitte + xwert, ymitte + ywert); |
als ich das hatte hab ich überlegt wie ich den zeiger nun bewegen kann.
bei der suche nach informationen und code beispielen bin ich immer wieder
über die begriffe Polar-koordinaten und kartesische-koordinaten gestolpert.
dabei wurde mir klar das ich meine objekte ja auf einem koordinatensystem einzeichne.
nach einigen stunden suche bin ich dann auf die richtigen formeln gestoßen
mit denen ich aus winkel und radius jeden beliebigen punkt im koordinatensystem
zur x und y koordinate umrechnen kann.
Polar zu kartesisch lässt sich demnach folgendermaßen umrechnen:
x = r*cosφ
y = r*sinφ
bei diesen formeln hat es mir erst mal die fragezeichen raus gehauen,
ich hatte bis dato sinus und kosinus noch nie verwendet geschweige denn Phi(φ).
bei all der sucherei und dem vielen nach lesen im netz ist mir nun auch ein verwendungs zweck eingefallen.
ich möchte mir damit eine radar anzeige für meinen roboter nach bilden.
sprich der computer empfängt daten über aktuelle kompassrichtung(winkel)
und entfernung(radius) bis zum nächsten hinderniss und zeichnet damit dann die hindernisse ein.
soweit zur vorgeschichte.
-------------------------------------------------------------------------
so dann weiter im text mit meinem problem.
ich habe probleme mit der "Math" klasse die sin und cos können sollte
sowie der konvertierung zwischen int, dubel und float.
außerdem hab ich versucht ohne sinus und kosinus aus zu kommen
muß dann aber zwei wurzeln ziehen was ich auch nicht hin bekomme ohne "Math".
ich bräuchte also einen Algorythmus der mir aus winkel und radius
die kartesischen koordinaten der x und y achse berechnet
und möglichst in c# funktioniert ohne das ich dubiose bastel klassen erstellen muß
wie es leider bei vielen code beispielen der fall ist.
ich danke schon mal allen die überhaupt soweit lesen
und hoffe das mir jemand eine lösung geben kann.
möglichst mit erklärung, das ich es fürs nächste mal selbst kann.
p.s. geht Math überhaupt in der express version von VSC#2010?
gruß avoid
Moderiert von
Christian S.: Topic aus Off Topic verschoben am Mi 09.11.2011 um 07:52