Umkreis von Dreieck
Verfasst: Dienstag 8. Juni 2010, 17:08
hiho,
ich will mit hilfe des tkinter moduls einen Kreis um die 3 Spitzen eines Dreiecks zeichnen. Wie geht das??
hier mein code:
ich hoffe es kann mir nun einer sagen, wie ich jetzt meinen Kreis um das Dreieck bekomme und vllt sogar den code posten 
Mfg
ich will mit hilfe des tkinter moduls einen Kreis um die 3 Spitzen eines Dreiecks zeichnen. Wie geht das??
hier mein code:
Code: Alles auswählen
from Tkinter import *
from math import *
blatt = Canvas(width=800,height=800,bg='white')
blatt.pack()
#Eingaben
x1=input("x-Koordinate von Punkt A")
y1=input("Y-Koordinate von Punkt A")
x2=input("x-Koordinate von Punkt B")
y2=input("Y-Koordinate von Punkt B")
x3=input("x-Koordinate von Punkt C")
y3=input("Y-Koordinate von Punkt C")
#Dreieck
ab=blatt.create_line(x1,y1,x2,y2)
bc=blatt.create_line(x2,y2,x3,y3)
ca=blatt.create_line(x3,y3,x1,y1)
#Mittelpunkte
def mitte(c,d):
mittelwert=(c+d)/2.0
return mittelwert
#Steigung
def steigung(a1,b1,a2,b2):
steigung = (1.0*b2-b1)/(a2-a1)
return steigung
#Y-Abschnitt
def y1bschnitt(x,y,m):
abschnitt=1.0*y-m*x
return abschnitt
#Mittelsenkrechte berechnen
def gibMittelsenkrechte(xa,ya,xb,yb):
global msenkrechte
global bsenkrechte
if ya==yb:# if paralel x:
xm=mitte(xa,xb)
print "-----------------------------------------------------"
print 'Die Mittelsenkrechte hat die Gleichung x=', xm
strecke=blatt.create_line(xm,0,xm,400)
elif xa==xb:#if paralel y:
ym=mitte(ya,yb)
print "-----------------------------------------------------"
print 'Die Mittelsenkrechte hat die Gleichung y=', ym
strecke=blatt.create_line(0, ym, 400, ym)
else:# andere:
xm=mitte(xa,xb)
ym=mitte(ya,yb)
mstrecke=steigung (xa,ya,xb,yb)
msenkrechte=-1.0/mstrecke
bsenkrechte=yAbschnitt(xm,ym,msenkrechte)
print "-----------------------------------------------------"
print 'Die Mittelsenkrechte hat die Gleichung y=',msenkrechte, '*x+',bsenkrechte
strecke=blatt.create_line(xm+800,msenkrechte*(xm+800)+bsenkrechte,xm-800,msenkrechte*(xm-800)+bsenkrechte)
#m+b
m=steigung(x1,y1,x3,y3)
b=y1bschnitt(x1,y1,m)
#Mittelsenkrechten:
def testDreieck():
if x1==x2 and x2==x3:#alle 3 paralel
print 'Das ist kein Dreieck!'
else:#ok
m=steigung(x1,y1,x3,y3)
b=yAbschnitt(x1,y1,m)
if y2==m*x2+b:
print 'Das ist kein Dreieck!'
else:
gibMittelsenkrechte(x1,y1,x2,y2)
ms1=msenkrechte
bs1=bsenkrechte
gibMittelsenkrechte(x1,y1,x3,y3)
ms2=msenkrechte
bs2=bsenkrechte
gibMittelsenkrechte(x2,y2,x3,y3)
xs=(bs1-bs2)/(ms1-ms2)
ys=ms1*xs+bs1
#Scheitelpunkte
testDreieck()
print "----------------------------------------------------"
print "Scheitelpunkt(x)=",xs,"Scheitelpunkt(y)=",ys
#Kreis
#1.Abstand von Scheitelpkt zu A
radius=sqrt(((ys-y1)*(ys-y1))+((xs-x1)*(xs-x1)))

Mfg