# Umkreismittelpunkt eines dreiecks



## sehr wichtig (1. Dez 2005)

Hi!
Hoffe ihr könnt mir helfen!Suche die Implementierung zur Berechnung des Umkreismittelpunktes!
Is gleub ich nicht so einfach,wenn men nicht weiß wie die drei Punkte zueinander liegen,da dies ja für die Berechnung der Geradenschnittpunkte wichtig ist oder?Hat jemand eine idee?


----------



## Beni (1. Dez 2005)

Eigentlich ist es eine äusserst triviale Aufgabe, nur habe ich keine Lust deine Hausaufgaben zu lösen.

Nimm zwei Punkte, z.B. A und B. Die Mittelsenkrechte ist dann (A+B)/2 + s*( A.x-B.x, B.y - A.y )  (Mittelpunkt zwischen A und B plus Normalvektor zu A-B)
Die Mittelsenkrechte zu A,C ist äquivalent, anstelle von "s" schreib aber "t".
Setz die Gleichungen der Mittelsenkrechten gleich, und such die Werte für s und t. Wenn du die Werte hast, kannst du sie in den Geradengleichungen einsetzen, fertig.

Dazu benötigst du keine Zahlen, rechne einfach mit den Variablen. Wenn du dann mal Zahlen kriegst, kannst du sie immernoch im nachhinein einsetzen.


----------



## sehr wichtig (2. Dez 2005)

Genau das hab ich versucht! Allerdings bekam ich bei system.out.println
ein NaN!!!????


----------



## Lim_Dul (2. Dez 2005)

Dann hast du irgendwo durch 0 dividiert.


----------



## sehr wichtig (2. Dez 2005)

Ich glaub nicht!Noch ne andere Idee was das sein könnte?


----------



## Lim_Dul (2. Dez 2005)

Glauben heißt nicht wissen.

Gie einzelnen Variablen vor der Berechnung mal aus.



> "NaN" stands for "not a number". "Nan" is produced if a floating point operation has some input parameters that cause the operation to produce some undefined result. For example, 0.0 divided by 0.0 is arithmetically undefined. Taking the square root of a negative number is also undefined.
> 
> 0.0 / 0.0   ->  NaN
> Math.sqrt(-2.0)  ->  NaN
> ...


http://www.concentric.net/~Ttwang/tech/javafloat.htm


----------



## Guest (2. Dez 2005)

m1=(-1)/((a.y-by)/(a.x-b.x))
m2=(-1)/((a.y-cy)/(a.x-c.x))
der y-achsenabschnitt lässt sich jeweils über die mittelpunkte der strecken ausrechnen:
y1=m1x1+c1      y2=m2x2+c2 
jetzt muß x1=x2 und y1=y2 sein
jetzt lässt sich x-komponente bestimmen und dann durch einsetzen y!
Wo ist der Fehler?


----------



## Guest (2. Dez 2005)

Es funzt einfach nicht!Was soll ich tun?


----------



## Beni (2. Dez 2005)

1. Gib nach jeder Operation die Variablen aus (System.out.println...), nach irgendeiner Operation kommt plötzlich NaN, dort müsste der Fehler liegen.

2. Benutz nicht die "Standardformel" y = mx + q für die Gerade. Benutz die Vektorschreibweise, denn dann kann _jede_ Gerade dargestellt werden (ResultPunkt = StartPunkt + s * RichtungsVektor; s beliebig). Mit der aktuellen Formel hast du ein Problem, wenn die Geraden horizontal oder Vertikal sind.


----------

