Kreis berechnen und einzelnd speichern.



  • Hallo,
    ich möchte mit Canvas einen Kreis zeichnen.

    Dafür kann man z.B. diesen Code nehmen:

    Canvas->Ellipse(Form1->ClientWidth / 2 - Radius * 50,
                    Form1->ClientHeight / 2 - Radius * 50,
                    Form1->ClientWidth / 2 + Radius * 50,
                    Form1->ClientHeight / 2 + Radius * 50);
    

    Soweit, so gut.
    Aber wie kann ich die einzelnen Pixel oder Bereiche nun ausrechnen? Also die Lage.

    Dankesehr,
    ich



  • Über die Winkelfunktionen?!?



  • Daran hatte ich auch schon gedacht, aber wie benutze ich die im Borland Builder?

    Die Math.h habe ich schon includiert, jedoch hilft mri das nciht weiter, da ich nicht weiß wo ich anfangen soll.

    Wie Rechne ich denn bespws die Lage aus?

    Mit Kosinus, Sinus und Tangens sollte das gehen, danke ich mal.

    Aber wenn ich "sin (90)" eingebe kommt da 0,8939... raus. Obwohl da, laut meinem Schultaschenrechner ja 1 rauskommt.

    Wie geht das? Oder habe ich einen Denkfehler drin?

    Ich wollte mit hilfe der Sinusfunktionen die Lage von 360 Punkten ausrechnen.

    ich2k



  • Ups, ich hätte mir dei Hilfe mal vorher durchlesen sollen...

    Ich habe in Grad gearbeitet, sin will aber Rad oder sowas.

    Wie rechne ich den damit? (Bin ein wenig verwirrt, kenne die Einheit Rad nicht!)

    ich2k



  • Wohl eher in Deg (Gradmass), nicht zu verwechseln mit Grad (Vollkreis = 400°). Rad = Bogenmass... Mehr weiß ich da auch nicht mehr. Vielleicht verschiebt Dich ja ein Mod ins Mahtematik-Forum...



  • 1° = 180/Pi rad



  • Vom Punkt [0,0] ausgehend:
    x=rcos(winkel)
    y=r
    sin(winkel)
    r=Radius.
    Wenn ein Kreis in der Mitte des Bildes liegt brauchst du noch eine Koordinatenverschiebung.
    Wichtig ist, daß positive Winkel entgegen dem Uhrzeigersinn verlaufen, die negativen entsprechen.
    Rückwärts (über einen x-Wert auf den y-Wert schliessen) ist schwieriger, da du dann für jeden x- bzw. y-Wert zwei y- bzw x-Werte bekommst. Dann musst du eine Fallunterscheidung einbauen.



  • Hatte ich vergessen: wichtige Beziehung: r=sqrt(x2+y2).


Anmelden zum Antworten