[PYTHON] 파이썬 예제코드입니다 - vpython(4) 진자의 등속원운동 애니메이션, uniform circular motion

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



 

 

진자의 등속원운동

위 조건을 바탕으로 등속원운동하는 물체의 애니메이션 코드를 작성하고
공의 x좌표를 x-t 그래프로 나타내는 코드를 작성하시오

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
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
78
79
80
81
82
83
84
85
86
87
# code from  http://tcjd71.wixsite.com/vpython/blank-1
from visual import *
from visual.graph import *
 
#------------------------------------------------------------------
# 그래픽 그려주는 코드
#------------------------------------------------------------------
 
# 그래픽창과 그래프창을 생성합니다
scene = display(width=600, height=600, fov = 0.01*pi)
gd = gdisplay(x=600, y=0, title='x-t', xtitle='t', ytitle='x', ymax=1, ymin=-1, xmax=10, background=(.3,.3,.3))
xt = gcurve(gdisplay=gd, color=color.orange, size=20, dot=False)
 
# 벽과 공을 생성합니다
wall = box(pos=(0,1,-2), length=4, height=3, width=0.01)
ball = sphere(pos=(-1,0,0), radius=0.1, make_trail=True)
 
 
# 공의 각속도는 3 rad/s로 일정합니다 
ball.w = 3
 
 
# 공의 움직임을 똑같이 따라가는 그림자를 벽에 생성합니다
shadow = cylinder(axis=(0,0,wall.width), radius=ball.radius, color=(0.1,0.1,0.1))
shadow.pos.z = wall.pos.z
 
 
# 텍스트를 표시하는 라벨 객체를 생성합니다
label1 = label()
label2 = label()
 
 
# 바닥면의 실린더를 생성합니다
disk = cylinder(axis=(0,0.01,0), radius=1.5, material=materials.silver)
disk.pos.y = -ball.radius
 
 
# 공의 궤적을 벽에 표현하기 위한 line 객체를 생성합니다
number = 4000
= [0]*number
= [0]*number
line = curve(y=linspace(0,2.5,number), z=-2+0.01, color=color.black)
 
#------------------------------------------------------------------
# 애니메이션 코드
#------------------------------------------------------------------
 
label3 = label()
= 0
dt = 0.01
 
while True:
    rate(100)   # dt와 rate[Hz]를 사용해 1초에 100번씩 루프를 돕니다
    t += dt
    
    # rotate(A,theta,B) ==> rotate(vector=A, angle=theta, axis=B)
    # y축을 기준으로 물체가 회전합니다. 실제 한 루프당 각속도는 ball.w * dt = 0.003 rad/s 입니다
    ball.pos = rotate(ball.pos, ball.w * dt, (0,1,0))
    shadow.pos.x = ball.pos.x
    
    # 공의 궤적을 그래프창에 표시합니다
    xt.plot(pos=(t,ball.pos.x))
 
    # 공의 위치를 텍스트로 표시합니다
    label1.pos = ball.pos + vector(0,0.2,0)
    label1.text = '(%1.2f, %1.2f, %1.2f)' % (ball.pos.x, ball.pos.y,ball.pos.z)
    label2.pos = shadow.pos + vector(0,0.2,0)
    label2.text = '(%1.2f)' % (shadow.pos.x)
 
    label3.pos = wall.pos + vector(0-0.1 , 0)
    label3.text = 'time : %.2f s' % t
 
    # 공의 움직임을 궤적으로 벽에 표시하는 코드
    l.append(ball.pos.x)
    l.pop(0)
 
    for j in range(number):
        m[number-1-j] = l[j]
 
    line.x = array(m)
 
 
 
 
 
 
 
Colored by Color Scripter

 

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

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
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 15
30 [전산물리학] science-physics package on Ubuntu 20.04 LTS (Focal Fossa) 졸리운_곰 2022.02.22 43
29 [전산물리학] 15 Best Free Linux Physics Tools file 졸리운_곰 2022.02.22 36
28 [전산물리학] Debian Science Physics packages 졸리운_곰 2022.02.22 48
27 Mathematica를 처음 시작할 때 기초! file 졸리운_곰 2022.02.16 81
26 [PYTHON] 파이썬 예제코드입니다 - vpython(10) 2자유도 반한정계 스프링-질량 애니메이션, 2DOF mass-spring system file 졸리운_곰 2020.06.10 811
25 [PYTHON] 파이썬 예제코드입니다 - vpython(9) 2자유도 스프링-질량계 애니메이션2, 2DOF mass-spring system file 졸리운_곰 2020.06.10 651
24 [PYTHON] 파이썬 예제코드입니다 - vpython(8) 2자유도 스프링-질량계 애니메이션, 2DOF mass-spring system file 졸리운_곰 2020.05.27 328
23 [PYTHON] 파이썬 예제코드입니다 - vpython(7) 공의 자유낙하 애니메이션2, free-fall file 졸리운_곰 2020.05.27 1058
22 [PYTHON] 파이썬 예제코드입니다 - vpython(6) 단진자의 운동 애니메이션, simple pendulum file 졸리운_곰 2020.05.25 4024
21 [PYTHON] 파이썬 예제코드입니다 - vpython(5) 3자유도 스프링-질량계 애니메이션, 3DOF mass-spring system file 졸리운_곰 2020.05.25 361
20 3D programming with Vpython file 졸리운_곰 2020.05.10 148
» [PYTHON] 파이썬 예제코드입니다 - vpython(4) 진자의 등속원운동 애니메이션, uniform circular motion file 졸리운_곰 2020.05.10 669
18 [PYTHON] 파이썬 예제코드입니다 - vpython(5) 3자유도 스프링-질량계 애니메이션, 3DOF mass-spring system file 졸리운_곰 2020.05.10 239
17 [PYTHON] 파이썬 예제코드입니다 - vpython(3) 1자유도 스프링-질량계 애니메이션2, 1DOF mass-spring system file 졸리운_곰 2020.05.10 300
16 [PYTHON] 파이썬 예제코드입니다 - vpython(2) 공의 자유낙하 애니메이션, free-fall file 졸리운_곰 2020.05.10 1181
15 [PYTHON] 파이썬 예제코드입니다 - vpython(1) 1자유도 스프링-질량계 애니메이션, 1DOF mass-spring system file 졸리운_곰 2020.05.10 764
14 Computational Physics, 2ed, Giordano, Nakanishi (2005).pdf file 졸리운_곰 2020.03.24 84
13 http://www.physics.purdue.edu/~hisao/book/www/samples.html 졸리운_곰 2020.03.24 74
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED