Matematiikka : funktiot

SIN


   KUVAUS

Laskee kulman sinin. Kulma annetaan asteina.

Tätä funktiota käytetään lähinnä apukeinona laskemaan paljonko pisteen pitää liikkua pystysuunnassa, kun tiedetään liikkeen suunta (kulma) ja nopeus.

Oletetaan, että haluat laskea seuraavat ammuksen koordinaatit. Ammus on laukaistu kulmassa 60 astetta, nopeudella 5. Tästä voidaan muodostaa suorakulmainen kolmio. Ammus kulkee vinoa sivua pitkin. Sin laskee tämän kolmion pystysivun pituuden. Siten y# = y# - Sin (60) * 5.

Tulos on aina desimaaliluku väliltä -1 ja 1.

Sinin pariksi tarvitset kosinia (kts. Cos).

   KÄYTTÖ
SIN (luku)

  • luku = Kokonaisluku tai desimaaliluku.

  • Katso myös: COS, ASIN

       ESIMERKKI
    FrameLimit 40 'prevent the game from running too fast

    AddText "Arrows to aim"
    AddText "Space to shoot"
    AddText "Esc to exit"

    angle=90

    Repeat

        'draw the ground
        Line 0,150,400,150
        
        'draw the turret
        Line 200,150,200+Cos(angle)*20,150-Sin(angle)*20
        
        If LeftKey()Then angle=angle+1
        If RightKey()Then angle=angle-1
        
        If angle<10 Then angle=10
        If angle>170 Then angle=170
        
        'shoot?
        If KeyHit(cbkeyspace)And bulletflying=0 Then
            bulletx#=200+Cos(angle)*20
            bullety#=150-Sin(angle)*20
            
            bulletmovex#=Cos(angle)*2 '2=speed
            bulletmovey#= -Sin(angle)*2 '2=speed
            
            bulletflying=1
        EndIf
        
        'update and draw bullet
        If bulletflying Then
        
            bulletx#=bulletx#+bulletmovex#
            bullety#=bullety#+bulletmovey#
            
            Dot bulletx#,bullety#
            
            'if the bullet goes outside screen, remove it
            If bulletx#<0 Or bulletx#>400 Or bullety#<0 Then
                bulletflying=0
            EndIf
        
        EndIf
        
        
        'draw the screen
        DrawScreen

    Until EscapeKey()

    <<TAKAISIN