math.sin

math.sin(_a) berechnet den Sinus des Winkels _a, also das Verhältnis der Längen von Gegenkathete zu Hypotenuse im rechtwinkligen Dreieck.

Wichtig: Die Funktion geht davon aus, dass _a im Bogenmaß angegeben wird! Ist ein Gradmaß gegeben, muss der Winkel zuerst mit math.rad umgerechnet werden.

Beispiel Anwendungsfall

Zusammen mit math.cos kann man mit dem Sinus Kreiskoordinaten abhängig von einem Winkel und einem Radius berechnen. Siehe dazu auch das Schaubild unten.

Iteriert man mit gleich bleibendem Radius durch wachsende Winkel α, können so z.B. Entities in einer Kreisformation gesetzt werden:

function DrawCircle(_Position, _Radius, _EntityType, _NumberOfEntities)
    local AngleStep = 360/_NumberOfEntities
    local EntityPositionX, EntityPositionY
    for alpha = 0, 360, AngleStep do
        -- Winkel in der Schleife ist im Gradmaß, muss also noch umgerechnet werden
        EntityPositionX = _Position.X + math.cos(math.rad(alpha)) * _Radius
        EntityPositionY = _Position.Y + math.sin(math.rad(alpha)) * _Radius
        Logic.CreateEntity(_EntityType, EntityPositionX, EntityPositionY, 0, 0)
    end
end