Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # pallo pomppaa maan pinnasta, menettää nopeudesta 5 % joka pompulla
- import pygame
- y0 = 10.0 # alkukorkeus m
- v0 = 0.0 # alkunopeus m/s
- t0 = 0.0 # aloitusaika
- r = 0.25 # pomppupallon säde
- g = 9.81 # putouskiihtyvyys m/s²
- # Maa 9.81 m/s², Kuu 1.622 m/s², Mars = 3.74 m/s², voit muuttaa g:n arvoa
- Dt = 1/300.0 #aika-askel
- T = 7000 # simulaation kesto askeleina, aika = 7000/300=23 s
- y = y0
- v = v0
- t = t0
- pomput = 0
- # pallo 400 pixelin = 10 m korkeudella maasta
- # pallon säde r = 0.25 m = 10 pixeliä
- (width,height) = (800,600)
- screen = pygame.display.set_mode((width, height))
- pygame.display.set_caption("Pomppiva pallo")
- black = (0,0,0)
- yellow =(255,255,0)
- red = (255,0,0)
- screen.fill(black)
- pygame.draw.line(screen, red, (100,500),(700,500), 4)
- pygame.display.flip()
- # pomppiminen alkaa
- for j in range (0,T) :
- v = v - g*Dt
- y = y + v*Dt-g*Dt*Dt/2
- pygame.draw.circle(screen, yellow, (400, int(500-40*y)), int(40*r))
- pygame.display.flip()
- # ruudun päivytyksen viive vakioidaan
- pygame.time.delay(2)
- pygame.draw.circle(screen, black, (400, int(500-40*y)), int(40*r))
- # onko pallo lattiassa
- if y <= r + 0.03 and v < 0:
- v = -0.95*v
- pomput = pomput+1
- # näytetään pomppujen lukumäärä
- pygame.display.set_caption("Pomppiva pallo: Pomppuja "+str(pomput))
- t = t + Dt
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement