Umkreismittelpunkt eines dreiecks

Status
Nicht offen für weitere Antworten.
S

sehr wichtig

Gast
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?
 
B

Beni

Gast
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.
 
S

sehr wichtig

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

sehr wichtig

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

Lim_Dul

Top Contributor
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

Operations involving NaN

Double.NaN + Double.NaN -> NaN
Float.NaN + 2.0 -> NaN
Float.NaN * 3.0 -> NaN
(0.0 / 0.0) * Float.POSITIVE_INFINITY -> NaN
Math.abs(0.0 / 0.0) -> NaN
(int) (Double.NaN) -> 0
http://www.concentric.net/~Ttwang/tech/javafloat.htm
 
G

Guest

Gast
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?
 
B

Beni

Gast
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.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben