Problem mit Liniene

hhunderter

Erfahrenes Mitglied
Einen wunderschönen guten Tag^^

Ich habe da mal eine Frage :
wie kann ich eine Linie in einen bestimten Grad drechen, die Linie soll aber dan immer noch die gleiche länge haben. Wie bekomme ich das hin?

Arbeite zurzeit an einem Kreisdiagramm und kirege das irgendwie net Gebacken :(
ich hoffe ihr könt mir helfen;)

mfg:hunni
 
Hura eine Antwort^^

diese Funktion benutze ich schon um die Daten anzuzeigen aber ich möchte diese Bereiche deutlicher abtrennen.

mfg:hunni
 
Hmm, also ich trenne die Bereiche durch unterschiedliche Farben ab.

So lange die Linie waagerecht oder senkrecht ist, dürfte es kein sonderliches Problem sein.
Aber so bald die Linie schräg gezeichnet werden muss, werden vermutlich komplexe Berechnungen fällig.
Ich würde mal gucken ob es nicht irgend ein Script gibt von dem man es sich abgucken könnte.
Was anderes fällt mir sonst auch nicht ein.
 
Hi,

wenn Du den Radius und den Winkel kennst, kannst Du die Linie mit Sinus- und Cosinus-Funktionen zeichnen:
PHP:
$x1 = $center_x;
$y1 = $center_y;
$x2 = $center_x - sin($winkel) * $radius;
$y2 = $center_y + cos($winkel) * $radius;
(der Winkel wird im Bogenmaß angegeben)

Gruß
.
 
Erstmal Danke an euch, aber komme noch nicht so richtig Weiter.

Ich habe schon selbst was ausprobiert und es klapt fast richtig gut:

PHP:
        $grad = $var*3.14/180;
        $a=sin($grad)*$breite/2;
        $breiteq = ($breite/2)*($breite/2);
        $aq = $a*$a;
        $b=sqrt($breiteq-$aq);
        $nhoe = $shadow-$bigshadow+$a;
        $nwei = $weite+$b;

nur das es mir manchmal die Linien abweichen läst und sogar irgendwoanders Hinzechnet :suspekt:
 
Zumindest die Abweichungen könnten schon vom abgerundeten pi kommen.
Nach meinen Erfahrungen rechnet PHP nur bis 14 Nachkommastellen.
Dieses würde für pi nicht 3,14 sondern 3,14159265358979 (abgerundet) bedeuten. :p

Warum die Linien aber auch woanders hingezeichnet werden, kann ich nicht sagen.
Das gleiche Problem habe ich aber auch mit der Start-/Endwinkelberechnung für imagefilledarc().
Unter Windows wird mir mein Kreisdiagramm korrekt dargestellt..... unter Linux hingegen kommt nur ein absolutes Chaos bei raus.
 
pi() hat die sache auch nicht verbesser :confused:
Und da versucht man das Weiter zu versuchen und dan wird das bild Schwartzt woran kann das jetzt liegen?
 
Hmm, evtl. stimmt irgend eine Berechnung nicht, so dass nun eine "Ebene" falsche oder keine Werte enthält.
Es könnte aber auch sein dass die Reihenfolge der "Ebenen" durcheinander gekommen ist.
An pi(), M_PI oder halt der Zahl 3.14....., dürfte es aber wahrscheinlich nicht liegen..... denn am Prinzip dürfte sich ja nichts ändern, nur an der Genauigkeit.
 
Zurück