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