Matematiikka : funktiot

COS


   KUVAUS

Laskee kulman kosinin. Kulma annetaan asteina.

Tätä funktiota käytetään lähinnä apukeinona laskemaan paljonko pisteen pitää liikkua vaakasuunnassa, 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 x# = x# + Cos (60) * 5.

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

Kosinin pariksi tarvitset siniä (kts. Sin).

   KÄYTTÖ
SIN (luku)

  • luku = Kokonaisluku tai desimaaliluku.

  • Katso myös: SIN, ACOS

       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