Seite 1 von 1

Ich bekomme den Kreis nicht ueber mitte

Verfasst: Donnerstag 29. Juli 2010, 19:32
von sea-live
guten tag
Gedankenfehler bitte um hilfe
Bild
hier die verzwickte stelle

Code: Alles auswählen

for move in xrange(1,schritte+1):
    canvas_new_Y =150-((move*versatz)/scale)
    #Linien korrekt erzeugt aus testgruenden schraeg 
    w.create_line(145,canvas_old_Y,150,canvas_new_Y, fill = 'red')
    # -> Kasus knaxus warumm geht das nicht
    # am ende jeder linie sollte ein kreis um den mittelpunkt sein 
    w.create_oval(
        canvas_new_Y,
        canvas_new_Y,
        150+canvas_new_Y,
        150+canvas_new_Y,outline='red' )
    canvas_old_Y=canvas_new_Y
kompletter Code 64zeilen
http://python-forum.de/pastebin.php?mode=view&s=46

ALSO Erklärung die schrägen aufwärts gehenden Linien sind nur zu testzwecken schräg und sind auch da wo sie hinsollen in der Schleife
NUR die Kreise sollen über mitte des fadenkreutzes center 150,150 und am ende der Linien sein also konzentrisch
Die eine tut die andere leider nicht
Es sollen ja auch mehrere geben wenn sich die werte ändern und dann wirds bunt!
ich bitte um entwirren meiner Gehirnzellen

Re: Ich bekomme den Kreis nicht ueber mitte

Verfasst: Donnerstag 29. Juli 2010, 21:46
von EyDu
Hallo.

Ich würde vorschlagen, dass du dein Problem erstmal in vollständigen Sätzen, mit einer korrekten Grammatik und ein wenig Rechtschreibung, beschreibst. Nach mehrmaligem Lesen ist mir immer noch nicht klar was du eigentlich willst. Wenn ich raten müsste: Es liegt an dem nicht angepassten Durchmesser des Kreises.

Sebastian

Re: Ich bekomme den Kreis nicht ueber mitte

Verfasst: Freitag 30. Juli 2010, 09:38
von Trichter
Beim Aufruf von create_oval() übergibst du die Koordinaten der linken-oberen und rechten-unteren Ecke eines Rechteckes, in das dann der Kreis gezeichnet wird.
Du verschiebst nun zwar, die Koordinaten dieser Punkte, aber du passt die Größe des Rechteckes nicht an.
Dadurch verschiebt sich natürlich auch der Mittelpunkt.

Versuchs mal mit:

Code: Alles auswählen

w.create_oval(canvas_new_Y, canvas_new_Y,
              300-canvas_new_Y, 300-canvas_new_Y,
              outline='red')

Re: Ich bekomme den Kreis nicht ueber mitte

Verfasst: Freitag 30. Juli 2010, 10:06
von sea-live
DANKE
Bild

Es war schon eine Kopfnuss !

Re: Ich bekomme den Kreis nicht ueber mitte

Verfasst: Sonntag 1. August 2010, 20:15
von sea-live
und nun das ganze mit der Spirale
Nur der 2te halbkreis will nicht !
warum? logic B)
Bild

Code: Alles auswählen

if spirale==1:
    halbkreise=schritte*2
    vsh=(versatz/scale)/2.0
    w.create_line(150,150,150+(versatz/scale),150, fill = 'red')
    for arc_curve in xrange(1,halbkreise+1):
        if arc_curve %2 == 0:#geradezahl
            if arc_curve==2:
                #canvas_new_Y =150-((arc_curve*(versatz/2.0))/scale)
                w.create_arc(canvas_new_Y+vsh,canvas_new_Y,300-canvas_new_Y+vsh,300-canvas_new_Y,start=180,extent=180,outline='red',style=ARC)
            else:
                canvas_new_Y =150-((arc_curve*(versatz/2.0))/scale)
                w.create_arc(canvas_new_Y+vsh,canvas_new_Y,300-canvas_new_Y+vsh,300-canvas_new_Y,start=180,extent=180,outline='red',style=ARC)
        else:
            if arc_curve ==1 :
                canvas_new_Y =150-((arc_curve*versatz)/scale)
                w.create_arc(canvas_new_Y,canvas_new_Y,300-canvas_new_Y,300-canvas_new_Y,start=0,extent=180,outline='red',style=ARC)
            else:
                canvas_new_Y =150-((arc_curve*(versatz/2.0))/scale)
                w.create_arc(canvas_new_Y,canvas_new_Y,300-canvas_new_Y,300-canvas_new_Y,start=0,extent=180,outline='red',style=ARC)
                

Re: Ich bekomme den Kreis nicht ueber mitte

Verfasst: Sonntag 1. August 2010, 20:32
von sea-live
Danke an den CHAT

Code: Alles auswählen

           if arc_curve==2:
                #canvas_new_Y =150-((arc_curve*(versatz/2.0))/scale)
                w.create_arc(canvas_new_Y,canvas_new_Y,300-canvas_new_Y+vsh,300-canvas_new_Y,start=180,extent=180,outline='red',style=ARC)