Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
43
Task/Animate-a-pendulum/J/animate-a-pendulum-1.j
Normal file
43
Task/Animate-a-pendulum/J/animate-a-pendulum-1.j
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
require 'gl2 trig'
|
||||
coinsert 'jgl2'
|
||||
|
||||
DT =: %30 NB. seconds
|
||||
ANGLE=: 0.45p1 NB. radians
|
||||
L =: 1 NB. metres
|
||||
G =: 9.80665 NB. ms_2
|
||||
VEL =: 0 NB. ms_1
|
||||
|
||||
PEND=: noun define
|
||||
pc pend;pn "Pendulum";
|
||||
xywh 0 0 320 200;cc isi isigraph rightmove bottommove;
|
||||
pas 0 0;pcenter;
|
||||
rem form end;
|
||||
)
|
||||
|
||||
pend_run =: verb def ' wd PEND,'';pshow;timer '',":DT * 1000 '
|
||||
pend_close =: verb def ' wd ''timer 0; pclose'' '
|
||||
pend_isi_paint=: verb def ' drawPendulum ANGLE '
|
||||
|
||||
sys_timer_z_=: verb define
|
||||
recalcAngle ''
|
||||
wd 'psel pend; setinvalid isi'
|
||||
)
|
||||
|
||||
recalcAngle=: verb define
|
||||
accel=. - (G % L) * sin ANGLE
|
||||
VEL =: VEL + accel * DT
|
||||
ANGLE=: ANGLE + VEL * DT
|
||||
)
|
||||
|
||||
drawPendulum=: verb define
|
||||
width=. {. glqwh''
|
||||
ps=. (-: width) , 40
|
||||
pe=. ps + 280 <.@* (cos , sin) 0.5p1 + y NB. adjust orientation
|
||||
glbrush glrgb 91 91 91
|
||||
gllines ps , pe
|
||||
glellipse (,~ ps - -:) 40 15
|
||||
glellipse (,~ pe - -:) 20 20
|
||||
glrect 0 0 ,width, 40
|
||||
)
|
||||
|
||||
pend_run'' NB. run animation
|
||||
52
Task/Animate-a-pendulum/J/animate-a-pendulum-2.j
Normal file
52
Task/Animate-a-pendulum/J/animate-a-pendulum-2.j
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
require 'gl2 trig'
|
||||
coinsert 'jgl2'
|
||||
|
||||
DT =: %30 NB. seconds
|
||||
ANGLE=: 0.45p1 NB. radians
|
||||
L =: 1 NB. metres
|
||||
G =: 9.80665 NB. ms_2
|
||||
VEL =: 0 NB. ms_1
|
||||
|
||||
PEND=: noun define
|
||||
pc pend;pn "Pendulum";
|
||||
minwh 320 200; cc isi isigraph flush;
|
||||
)
|
||||
|
||||
pend_run=: verb define
|
||||
wd PEND,'pshow'
|
||||
wd 'timer ',":DT * 1000
|
||||
)
|
||||
|
||||
pend_close=: verb define
|
||||
wd 'timer 0; pclose'
|
||||
)
|
||||
|
||||
sys_timer_z_=: verb define
|
||||
recalcAngle_base_ ''
|
||||
wd 'psel pend; set isi invalid'
|
||||
)
|
||||
|
||||
pend_isi_paint=: verb define
|
||||
drawPendulum ANGLE
|
||||
)
|
||||
|
||||
recalcAngle=: verb define
|
||||
accel=. - (G % L) * sin ANGLE
|
||||
VEL =: VEL + accel * DT
|
||||
ANGLE=: ANGLE + VEL * DT
|
||||
)
|
||||
|
||||
drawPendulum=: verb define
|
||||
width=. {. glqwh''
|
||||
ps=. (-: width) , 20
|
||||
pe=. ps + 150 <.@* (cos , sin) 0.5p1 + y NB. adjust orientation
|
||||
glclear''
|
||||
glbrush glrgb 91 91 91 NB. gray
|
||||
gllines ps , pe
|
||||
glellipse (,~ ps - -:) 40 15
|
||||
glrect 0 0, width, 20
|
||||
glbrush glrgb 255 255 0 NB. yellow
|
||||
glellipse (,~ pe - -:) 15 15 NB. orb
|
||||
)
|
||||
|
||||
pend_run''
|
||||
Loading…
Add table
Add a link
Reference in a new issue