Mittelpunkt eines Dreiecks finden?
Übersicht

walskiEhemaliger Admin |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ok, ich improvisiere mal etwas, also kann gut sein, dass ich Fehler mache oder mein Ansatz unnötig kompliziert ist:
Satz von Heron: s = Halber Umfang = ( a + b + c ) / 2 Kein Ahnung von wem: p = Inkreisradius = sqr( ( s - a ) * ( s - b ) * ( s - c ) / 2 ) Sodele, jetzt wäre irgendwie ein Winkel ganz nett: Du hast ja drei Punkte, nennen wir sie A,B und C (alpha) sei der Winkel an A Jetzt basteln wir mal schnell zwei Vektoren und zwar zu den Geraden AB und AC mit jeweils A als Orts- oder Stützvektor. Die beiden Vektoren nennen wir vB und vC. Ax = x-Koordinate des Punktes A Ay = y-Koordinate des Punktes A usw... vB = ( Ax - Bx | Ay - By ) vC = ( Ax - Cx | Ay - Cy ) Jetzt brauchen wir den Schnittwinkel zwischen den beiden Geraden: cos (alpha) = ( vBx * vCx + vBy * vCy ) / ( ( sqr( vBx^2 + vBy^2 ) * sqr( vCx^2 + vCy^2 ) ) (alpha) = cos^-1 (alpha) soooo, jetzt haben wir eigentlich schon fast alles ![]() Eigentlich bräuchten wir jetzt nurnoch die Länge der Strecke, von A bis zum Schnittpunkt der Winkelhalbierenden an A und der Strecke BC... Das ist jetzt aber in der Tat schon wieder recht kompliziert und wenn man auf Schnittpunktberechnung nicht so steht dann googelt man eben etwas ![]() Der theoretisch saubere Weg meine Lösung zu Ende zu denken wäre jetzt eben die besagte Länge zu finden und dann von A mit dem Winkel (alpha) in BesagteLänge - p Schritten zu wandern und TADA der Mittelpunkt des Inkreises... Naja, da ich aber irgendwie selber gerade überfragt bin wenn es um ne schöne Lösung dieser Länge geht nehme ich einfach eine Lösung von: http://www.zum.de/Faecher/Mate...ck3_2.html Danach ist s die Länge eben besagter Strecke. Nennen wir dieses s mal aus Kompatibilität zu unserem anderen s, u. So, viel interessanter ist aber m, denn dies ist genau das, was ich mit u - p ausrechnen würde und wenn ich diese Seite da richtig deute braucht man dann den ganzen Quatsch da oben gar nicht ![]() Also: m = ( b * sqr ( a^2 - ( 2 * a * b ) + ( 4 * ( b ^ 2 ) ) ) ) / ( a + ( 2 * b ) ) Und jetzt sollte man den gesuchten Mittelpunkt mit: Mx = Ax + cos (alpha) * m My = Ay + cos (alpha) * m finden. Hier das ganze mal für BB umgestellt: BlitzBasic: [AUSKLAPPEN]
Joa, ich hoffe mir ist kein allzu großer faux pas passiert und wünsche viel Spaß damit. walski |
||
buh! |
walskiEhemaliger Admin |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
So, ich bin inzwischen von der Arbeit wieder zu hause und kann berichten, das das ziemlicher Mist ist, da oben.
Aber hier ist mal ein Beispiel BlitzBasic: [AUSKLAPPEN]
Oben waren ZIEMLICH viele Fehler drin, da ich einfach keinen Compiler hatte um fehlende Klammern etc zu finden und mir das per Hand zu mühselig war. Das Beispiel oben funktioniert so halb, aber sobald man B kleiner macht kommt da gar nichts mehr hin.... naja, ich überleg mir nochmal was falsch ist, eventuell fehlen da einfach irgendwo Betragsstriche oder ähnliches. walski |
||
buh! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group