[PYTHON] 파이썬 예제코드입니다 -

vpython(7) 공의 자유낙하 애니메이션2, free-fall 

제가 프로그래밍을 공부하기 위해 작성한 코드입니다
혹시 비슷한 분야를 공부하시는 분들은 허접한 코드지만 참고해서 봐주세요~
코드는 대부분 여러 고수님들의 코드를 참고해 작성했습니다 :-)

공의 자유낙하 운동 + x-t,v-t,a-t 그래프

 

위의 조건을 바탕으로
공의 자유낙하운동을 하는 애니메이션 코드를 작성하고

공의 x,v,a를 시간에 따라 그래프로 표현하는 코드를 작성하시오
공은 완전탄성충돌을 한다

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# code from    http://tcjd71.wixsite.com/vpython/blank-1
from visual import *
from visual.graph import *
 
#------------------------------------------------------------------
# 그래픽 그려주는 코드
#------------------------------------------------------------------
 
# 그래픽창을 설정하는 코드
scene.range = (5,5,5)
scene.center = (0,1,0)
scene.width = 400
scene.height = 400
 
size = 0.2  # 공의 반지름 m
= -9.81   # 중력가속도
 
# 공을 생성하고 초기 위치를 3m로 설정합니다
ball = sphere(radius=size, color=color.white)
ball.pos = (0,3,0)
ball.v = vector(0,0,0)
 
# 바닥면을 생성합니다
bottom = box(pos=(0,-1+size,0), length=3, heigth=0.1, width=3, material=materials.wood)
 
# x-t,v-t,a-t 그래프창을 생성합니다 
gd = gdisplay(width=500, height=300, x=410, y=0, title='y vs t', xtitle='t', ytitle='x', ymax=3, ymin=-3, xmax=10)
gd2 = gdisplay(width=500, height=300, x=410, y=250, title='v vs t', xtitle='t', ytitle='vel', ymax=20, ymin=-20, xmax=10)
gd3 = gdisplay(width=500, height=300, x=410, y=400, title='a vs t', xtitle='t', ytitle='acc', ymax=10, ymin=-10, xmax=10)
 
# 그래프창에 그려질 그래프 곡선들을 설정합니다
xt = gcurve(gdisplay=gd, color=color.cyan)
vt = gcurve(gdisplay=gd2, color=color.cyan)
at = gcurve(gdisplay=gd3, color=color.cyan)
 
# 속도 화살표 객체를 생성합니다
vel_arrow = arrow(pos=ball.pos, axis=ball.v, color=color.yellow)
 
 
 
#------------------------------------------------------------------
# 애니메이션 코드
#------------------------------------------------------------------
 
= 0
dt = 0.0004   
 
label1 = label()
label2 = label()
 
while True:
    rate(2500)  # rate * dt = 1이 되게 설정하면 실제 시간과 같은 루프주기를 얻을 수 있습니다
    t += dt
 
    # 공이 땅에 닿으면 (y == 0) 공의 속도를 반대로 바꿉니다. 완전탄성충돌
    if ball.pos.y <= 0:
        ball.v.y = abs(ball.v.y)
 
    # 공의 위치,속도,가속도를 그래프화합니다
    xt.plot(pos=(t, ball.pos.y))
    vt.plot(pos=(t,ball.v.y))
    at.plot(pos=(t,g))
 
    # 공의 위치와 속도를 업데이트합니다
    ball.pos += ball.v*dt
    ball.v.y += g*dt
 
    # 속도화살표를 업데이트합니다. 0.3을 곱해서 화살표의 크기를 줄입니다
    vel_arrow.pos = ball.pos
    vel_arrow.axis = ball.v*0.3
    
    # 텍스트 데이터
    label1.pos = bottom.pos + vector(0-0.5,0)
    label1.text = 'time : %.2f s' % t
    label2.pos = bottom.pos + vector(0-1.2,0)
    label2.text = 'vel : %.2f m/s' % ball.v.y
 
Colored by Color Scripter

[출처] https://blog.naver.com/gyurse/221034749868

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
32 (엑셀을 이용한) 천체물리학의 이해 secret 졸리운_곰 2023.12.02 0
31 [(응용)수학] Why does ∫∞0e−t2cos(at)dt=12π−−√e−a2/4∫0∞e−t2cos⁡(at)dt=12πe−a2/4 hold? file 졸리운_곰 2022.11.08 14
30 [전산물리학] science-physics package on Ubuntu 20.04 LTS (Focal Fossa) 졸리운_곰 2022.02.22 42
29 [전산물리학] 15 Best Free Linux Physics Tools file 졸리운_곰 2022.02.22 34
28 [전산물리학] Debian Science Physics packages 졸리운_곰 2022.02.22 47
27 Mathematica를 처음 시작할 때 기초! file 졸리운_곰 2022.02.16 79
26 [PYTHON] 파이썬 예제코드입니다 - vpython(10) 2자유도 반한정계 스프링-질량 애니메이션, 2DOF mass-spring system file 졸리운_곰 2020.06.10 802
25 [PYTHON] 파이썬 예제코드입니다 - vpython(9) 2자유도 스프링-질량계 애니메이션2, 2DOF mass-spring system file 졸리운_곰 2020.06.10 646
24 [PYTHON] 파이썬 예제코드입니다 - vpython(8) 2자유도 스프링-질량계 애니메이션, 2DOF mass-spring system file 졸리운_곰 2020.05.27 322
» [PYTHON] 파이썬 예제코드입니다 - vpython(7) 공의 자유낙하 애니메이션2, free-fall file 졸리운_곰 2020.05.27 1046
22 [PYTHON] 파이썬 예제코드입니다 - vpython(6) 단진자의 운동 애니메이션, simple pendulum file 졸리운_곰 2020.05.25 3991
21 [PYTHON] 파이썬 예제코드입니다 - vpython(5) 3자유도 스프링-질량계 애니메이션, 3DOF mass-spring system file 졸리운_곰 2020.05.25 350
20 3D programming with Vpython file 졸리운_곰 2020.05.10 146
19 [PYTHON] 파이썬 예제코드입니다 - vpython(4) 진자의 등속원운동 애니메이션, uniform circular motion file 졸리운_곰 2020.05.10 661
18 [PYTHON] 파이썬 예제코드입니다 - vpython(5) 3자유도 스프링-질량계 애니메이션, 3DOF mass-spring system file 졸리운_곰 2020.05.10 238
17 [PYTHON] 파이썬 예제코드입니다 - vpython(3) 1자유도 스프링-질량계 애니메이션2, 1DOF mass-spring system file 졸리운_곰 2020.05.10 299
16 [PYTHON] 파이썬 예제코드입니다 - vpython(2) 공의 자유낙하 애니메이션, free-fall file 졸리운_곰 2020.05.10 1165
15 [PYTHON] 파이썬 예제코드입니다 - vpython(1) 1자유도 스프링-질량계 애니메이션, 1DOF mass-spring system file 졸리운_곰 2020.05.10 742
14 Computational Physics, 2ed, Giordano, Nakanishi (2005).pdf file 졸리운_곰 2020.03.24 82
13 http://www.physics.purdue.edu/~hisao/book/www/samples.html 졸리운_곰 2020.03.24 73
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED