Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Pomppiva 1cm-säteinen pallo, putoaa 10 m korkeudelta
- # joka pompulla menettää nopeudestaan 5 %
- # ilmanvastusta ei ole, painovoima g = 9.81 m/s²
- # Laskenta-aikaväli Dt = 1/100 sekuntia
- # Juhani Kaukoranta 17.11.2018
- # tehty Samuli Siltasen tiedevideon innoittamana
- # pomppimisessa käyetty wanhaa kunnon Turtle-grafiikkaa
- # lämpimät muistot Logo-kielestä
- from turtle import Turtle
- from turtle import Screen
- screen = Screen()
- import math
- # alkuarvot
- y0 = 10.0
- v0 = 0.0
- t0 = 0.0
- r = 0.01
- g = 9.81
- Dt = 1/100
- T = 1000
- y = y0
- v = v0
- t = t0
- pomput = 0
- # lattian, salin ja pallon alustaminen
- ball = Turtle()
- ball.speed(0)
- ball.screen.bgcolor("black")
- ball.hideturtle()
- ball.up()
- lattia = Turtle()
- lattia.speed(0)
- lattia.color("blue")
- lattia.hideturtle()
- lattia.up()
- lattia.pensize(5)
- lattia.setpos(-200,-210)
- lattia.down()
- lattia.forward(400)
- screen.delay(1)
- otsikko = Turtle()
- otsikko.hideturtle()
- otsikko.up()
- otsikko.setpos(-0,250)
- otsikko.color("magenta")
- otsikko.down()
- otsikko.write("Pomppiva pallo",align="center",font=("Arial",40,"normal"))
- # pomppiminen alkaa
- for j in range (0,T) :
- v = v - g*Dt
- y = y + v*Dt-g*Dt*Dt/2
- ball.setpos(0,-200+40*y)
- ball.dot(10,"red")
- ball.dot(10,"red")
- ball.dot(10,"black")
- # onko pallo lattiassa
- if y <= r :
- v = -0.95*v
- pomput = pomput+1
- t = t + Dt
- otsikko.up()
- otsikko.setpos(0,200)
- otsikko.write("Pomppuja oli "+str(pomput)+" kpl",align="center",font=("Arial",20,"normal"))
Advertisement
Add Comment
Please, Sign In to add comment