ich hatte doch die Berechnung für den ZZP. http://www.xbaseforum.de/viewtopic.php?f=7&t=7920
Die zweiten Formel war nun eine Gegenprobe zur ersten Formel.
ich habe also die Werte per Parameter übergeben und komme auch auf das gewünschte Ergebnis.
Nun kann ein COS() ja von -1 bis +1 gehen und bei einem Kreis wäre bei 180° der "Wendepunkt" (?)
Ich wollte das nun abfangen mit der Zeile
Code: Alles auswählen
IF INT(n) = 180
Code: Alles auswählen
PROC Do_More(XX,RR,LL,aa,oPS)
LOCAL x
LOCAL y
LOCAL z
LOCAL n
y := RR**2
y += (LL + RR - XX)**2
y -= LL**2
z := 2*RR
z *= (RR + LL - XX)
x := (y/z) // von +1 bis -1
GraSetColor( oPS, GraMakeRGBColor({1,aa,aa}) )
GraMarker( oPS, {aa, (x*100)+100 } )
n := RtoD( Acos(x) ) // Radiant in Grad
IF INT(n) = 180 // müsste doch gehen !!!
* IF aa = 180 // Zähler wurde als Parameter übergeben -> OK
* IF n > 179.6 // hm ... das würde gehen
n180 := .T.
ENDIF
IF n180 = .T.
x := 360 - n
ELSE
x := n
ENDIF
GraSetColor( oPS, GraMakeRGBColor({aa,aa,1}) )
GraMarker( oPS, {aa, (x) } )
RETURN