Fysik 1/Logbog uge 40
Fra Meinertz Wiki
(Forskel mellem versioner)
Meinertz (diskussion | bidrag) (Siden blev oprettet: Gruppe 1 består i denne uge af * Henrik Bo Hoffmann Carlsen * Kristian Due Andersen * Jonas Meinertz Hansen == Indledende overvejelser == Vi vil forsøge at simulere vores ka...) |
Meinertz (diskussion | bidrag) |
||
| Linje 7: | Linje 7: | ||
Vi vil forsøge at simulere vores katapultforsøg, ved at opbygge et system hvor projektiler bliver affyret i retning og hastighed tilsvarende det virkelige forsøg vi lavede. Vi vil f.eks. bruge en form for rand-funktion samt vores usikkerheder fra første forsøg, til at få resultater der ligner dem vi fik fra det fysiske forsøg mest muligt. | Vi vil forsøge at simulere vores katapultforsøg, ved at opbygge et system hvor projektiler bliver affyret i retning og hastighed tilsvarende det virkelige forsøg vi lavede. Vi vil f.eks. bruge en form for rand-funktion samt vores usikkerheder fra første forsøg, til at få resultater der ligner dem vi fik fra det fysiske forsøg mest muligt. | ||
| + | |||
| + | == Det endelige resultat == | ||
| + | <pre> | ||
| + | # -*- coding: utf-8 -*- | ||
| + | from visual import * | ||
| + | from random import gauss | ||
| + | |||
| + | ball=sphere(pos=(0,0,0),radius=0.05,color=color.blue) | ||
| + | |||
| + | arrowtails="atorigin" | ||
| + | #avec=arrow(color=color.green,shaftwidth=0.1) | ||
| + | #vvec=arrow(color=color.yellow,shaftwidth=0.3) | ||
| + | ball.mass=5 | ||
| + | |||
| + | ball.acceleration=vector(0,-9.82,0) | ||
| + | path=curve(radius=0.01,color=color.red) | ||
| + | autoscale=1 #this off auto scaling! | ||
| + | scene.range=(2,1,2) #gives the property range to the scene object | ||
| + | scene.center=(1.5,0,0) | ||
| + | dt=0.0002 #dt is delta t and is 0.1 second if we are using MKS | ||
| + | #loop for 5 seconds: | ||
| + | |||
| + | throws = 25 #hvor mange gange der skal kastes | ||
| + | thrown = 0 # hvor mange gange der er kastet | ||
| + | |||
| + | # til statistik | ||
| + | gennemsnit = 2.768 | ||
| + | intervaller = | ||
| + | |||
| + | while thrown < throws: | ||
| + | |||
| + | ball.pos = (0,0,0) | ||
| + | ball.velocity=vector(gauss(3.71,0.134),gauss(3.71,0.134),0) | ||
| + | |||
| + | thrown += 1 | ||
| + | t=0 #start at time 0 | ||
| + | |||
| + | while ball.pos.y >= 0: | ||
| + | #rate(1000) #slows animation by 1/arg seconds | ||
| + | ball.velocity = ball.velocity+ball.acceleration*dt | ||
| + | ball.pos=ball.pos+ball.velocity*dt | ||
| + | t=t+dt | ||
| + | path.append(pos=ball.pos) | ||
| + | #avec.axis=ball.acceleration | ||
| + | #vvec.axis=ball.velocity | ||
| + | #if arrowtails=="onball": | ||
| + | # avec.pos=ball.acceleration | ||
| + | # vvec.pos=ball.vel | ||
| + | #if arrowtails=="atorigin": | ||
| + | # avec.pos=ball.pos | ||
| + | # vvec.pos=ball.pos | ||
| + | |||
| + | print "----" | ||
| + | print thrown | ||
| + | print t | ||
| + | print ball.pos.x | ||
| + | |||
| + | totlen += ball.pos.x | ||
| + | </pre> | ||
Versionen fra 28. okt 2009, 11:47
Gruppe 1 består i denne uge af
- Henrik Bo Hoffmann Carlsen
- Kristian Due Andersen
- Jonas Meinertz Hansen
Indledende overvejelser
Vi vil forsøge at simulere vores katapultforsøg, ved at opbygge et system hvor projektiler bliver affyret i retning og hastighed tilsvarende det virkelige forsøg vi lavede. Vi vil f.eks. bruge en form for rand-funktion samt vores usikkerheder fra første forsøg, til at få resultater der ligner dem vi fik fra det fysiske forsøg mest muligt.
Det endelige resultat
# -*- coding: utf-8 -*-
from visual import *
from random import gauss
ball=sphere(pos=(0,0,0),radius=0.05,color=color.blue)
arrowtails="atorigin"
#avec=arrow(color=color.green,shaftwidth=0.1)
#vvec=arrow(color=color.yellow,shaftwidth=0.3)
ball.mass=5
ball.acceleration=vector(0,-9.82,0)
path=curve(radius=0.01,color=color.red)
autoscale=1 #this off auto scaling!
scene.range=(2,1,2) #gives the property range to the scene object
scene.center=(1.5,0,0)
dt=0.0002 #dt is delta t and is 0.1 second if we are using MKS
#loop for 5 seconds:
throws = 25 #hvor mange gange der skal kastes
thrown = 0 # hvor mange gange der er kastet
# til statistik
gennemsnit = 2.768
intervaller =
while thrown < throws:
ball.pos = (0,0,0)
ball.velocity=vector(gauss(3.71,0.134),gauss(3.71,0.134),0)
thrown += 1
t=0 #start at time 0
while ball.pos.y >= 0:
#rate(1000) #slows animation by 1/arg seconds
ball.velocity = ball.velocity+ball.acceleration*dt
ball.pos=ball.pos+ball.velocity*dt
t=t+dt
path.append(pos=ball.pos)
#avec.axis=ball.acceleration
#vvec.axis=ball.velocity
#if arrowtails=="onball":
# avec.pos=ball.acceleration
# vvec.pos=ball.vel
#if arrowtails=="atorigin":
# avec.pos=ball.pos
# vvec.pos=ball.pos
print "----"
print thrown
print t
print ball.pos.x
totlen += ball.pos.x