Autor Beitrag
Armin
Hält's aus hier
Beiträge: 5

WinXP

BeitragVerfasst: Fr 07.05.04 20:35 
Hallo,

irgendwie bekomme ich keinen vernünftigen Pie gezeichnet.
Wisst ihr eine Möglichkeit bei der ich 2 Gradangaben mache und der Pie wird entsprechend gezeichnet?

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
  Pi := 3.14159268;
  m := 100;             // Mittelpunkt
  r := m - 45;          // Radius
  h := 200               // Höhe
  w := 200              // Breite

  grad := 10;
  winkel := grad * 180 / Pi;
  x1 := Trunc(Cos(winkel)* r);
  y1 := Trunc(Sin(winkel)* r);

  grad := 180;
  winkel := grad * 180 / Pi;
  x := Trunc(Cos(winkel)* r);
  y := Trunc(Sin(winkel)* r);

  Canvas.Pie(30,30,h-30,w-30,x,y,x1,y1);


Aber dabei kommt nicht wirklich das raus, was ich erwarte. Was mach ich nur falsch?

Thx


Moderiert von user profile icontommie-lie: Size- durch Delphi-Tags ersetzt (sowas hatten wir noch nie :mrgreen:)
Segelflieger
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 124

WinXP Pro
D7 Prof
BeitragVerfasst: Fr 07.05.04 21:43 
Hallo!

der Fehler liegt bei deiner Umrechnung vom Gradmaß ins Bogenmaß.

Mit
ausblenden Quelltext
1:
winkel := pi*grad/180;					


sollte es funktionieren. Du führst genau die umgekehrte Operation durch. :wink:

_________________
Früher hatten die Menschen Angst vor der Zukunft. Heute muss die Zukunft Angst vor den Menschen haben.
Armin Threadstarter
Hält's aus hier
Beiträge: 5

WinXP

BeitragVerfasst: Fr 07.05.04 22:16 
Hei,

@ Segelflieger

Danke, stimmt, aber leider wars das noch nicht.

Wenn ich Grad 1 auf 1 und Grad 2 auf 180 setze, sollte er doch einen Halbkreis zeichnen (also fast).
Aber leider kommt da ein etwas versetzter irgendwieviertelkreis raus.

@ tommie -lie: size durch Delphitags ersetzt :?:
tommie-lie
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: Sa 08.05.04 12:19 
Armin hat folgendes geschrieben:
@ tommie -lie: size durch Delphitags ersetzt :?:
Du hattest in deinem Post den Quellcode in size-Tags der Schriftgröße 9pt (Beispiel) eingefasst, diese habe ich durch die Delphi-Tags ersetzt, die für diese Code-Box sorgen und Syntax-Highlighting unterstützen.

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
Segelflieger
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 124

WinXP Pro
D7 Prof
BeitragVerfasst: Sa 08.05.04 18:10 
Hi!

Wenn du die Punkte (x1, y1) und (x,y) berechnest, musst du beachten, dass der mittelpunkt deines diagramms nicht auf dem Koordinatenursprung liegt. Du musst sie noch um die Koordinaten des Mittelpunktes verschieben:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
x1 := Trunc(Cos(winkel)* r) + m; 
y1 := Trunc(Sin(winkel)* r) + m;

{und analog dann für x und y}


Das stimmt aber nur, wenn m und r richtig angegeben sind. Wie kommst du auf r := m - 45 ?

_________________
Früher hatten die Menschen Angst vor der Zukunft. Heute muss die Zukunft Angst vor den Menschen haben.
Armin Threadstarter
Hält's aus hier
Beiträge: 5

WinXP

BeitragVerfasst: Sa 08.05.04 22:25 
Jo, alles richtig, nu läuft es. Oh mann, da hätte man auch selbst drauf kommen können :roll:

Danke vielmals...