' Winkelberechnung beim Dreieck TYPE Punkt x AS SINGLE y AS SINGLE END TYPE DECLARE FUNCTION PolarWinkel! (pM AS Punkt, pP AS Punkt) DIM SHARED Pi! DIM pA AS Punkt, pB AS Punkt, pC AS Punkt Pi! = 4! * ATN(1!) SCREEN 12 INPUT "Punkt A"; pA.x, pA.y INPUT "Punkt B"; pB.x, pB.y INPUT "Punkt C"; pC.x, pC.y LINE (pA.x, 479! - pA.y)-(pB.x, 479! - pB.y), 12 LINE (pB.x, 479! - pB.y)-(pC.x, 479! - pC.y), 9 LINE (pC.x, 479! - pC.y)-(pA.x, 479! - pA.y), 10 wAB! = PolarWinkel(pA, pB) wAC! = PolarWinkel(pA, pC) CIRCLE (pA.x, 479! - pA.y), 10!, 9, wAB!, wAC!, 1! alpha! = wAC! - wAB! IF alpha! < 0! THEN alpha! = alpha! + 2! * Pi! END IF COLOR 9 PRINT "Winkel Alpha="; alpha! * 180! / Pi! wBC! = PolarWinkel(pB, pC) wBA! = PolarWinkel(pB, pA) CIRCLE (pB.x, 479! - pB.y), 10!, 10, wBC!, wBA!, 1! beta! = wBA! - wBC! IF beta! < 0! THEN beta! = beta! + 2! * Pi! END IF COLOR 10 PRINT "Winkel Beta="; beta! * 180! / Pi! wCA! = PolarWinkel(pC, pA) wCB! = PolarWinkel(pC, pB) CIRCLE (pC.x, 479! - pC.y), 10!, 12, wCA!, wCB!, 1! gamma! = wCB! - wCA! IF gamma! < 0! THEN gamma! = gamma! + 2! * Pi! END IF COLOR 12 PRINT "Winkel Gamma="; gamma! * 180! / Pi! COLOR 7 d$ = INPUT$(1) SCREEN 0 FUNCTION PolarWinkel! (pM AS Punkt, pP AS Punkt) dx! = pP.x - pM.x dy! = pP.y - pM.y IF dx! < 0! THEN w! = Pi! + ATN(dy! / dx!) ELSEIF dx! = 0! THEN IF dy! < 0! THEN w! = 1.5 * Pi! ELSE w! = Pi! / 2! END IF ELSE IF dy! < 0! THEN w! = 2! * Pi! + ATN(dy! / dx!) ELSE w! = ATN(dy! / dx!) END IF END IF PolarWinkel! = w! END FUNCTION