Re: Geometrisches Problem
Verfasst: 27.10.2009 19:47
@Kaeru Gaman deines hat aber in der Ecke nicht 100% sondern 0%
So habe dann meines auch mal kurz lauffähig gemacht damit es gleich drei Beispiele gibt ich berechne es dabei auch mit dem Abstand und nicht mit der Fläche.
So habe dann meines auch mal kurz lauffähig gemacht damit es gleich drei Beispiele gibt ich berechne es dabei auch mit dem Abstand und nicht mit der Fläche.
Code: Alles auswählen
OpenWindow(0,100,100,280,280,"Test",#PB_Window_SystemMenu)
If CreateStatusBar(0, WindowID(0))
AddStatusBarField(93)
AddStatusBarField(93)
AddStatusBarField(93)
EndIf
x1=100+Cos(-#PI*2/3)*100
y1=100+Sin(-#PI*2/3)*100
x2=100+Cos(0)*100
y2=100+Sin(0)*100
x3=100+Cos(#PI*2/3)*100
y3=100+Sin(#PI*2/3)*100
StartDrawing(WindowOutput(0))
DrawingMode(#PB_2DDrawing_Transparent)
LineXY(x1,y1,x2,y2)
LineXY(x1,y1,x3,y3)
LineXY(x2,y2,x3,y3)
StopDrawing()
While WaitWindowEvent(10)<>#PB_Event_CloseWindow
x=WindowMouseX(0)
y=WindowMouseY(0)
a1.f = Sqr((x-x1)*(x-x1) + (y-y1)*(y-y1))
a2.f = Sqr((x-x2)*(x-x2) + (y-y2)*(y-y2))
a3.f = Sqr((x-x3)*(x-x3) + (y-y3)*(y-y3))
StatusBarText(0, 0, "Ecke oben: "+Str(100.0/(a1+a2+a3)*((a2+a3)-a1)))
StatusBarText(0, 1, "Ecke rechts: "+Str(100.0/(a1+a2+a3)*((a1+a3)-a2)))
StatusBarText(0, 2, "Ecke unten: "+Str(100.0/(a1+a2+a3)*((a2+a1)-a3)))
Wend
End