Nice! 2010/1/6 Sherlock, Ric <r.g.sherl...@massey.ac.nz>: > I just added a J solution for the Pendulum Animation task on Rosetta Code: > http://rosettacode.org/wiki/Pendulum_Animation#J > > I'm reasonably happy with it (there is something satisfying about making > something move! :-) ), > but any improvements are welcome. > > NB.================================================================= > require 'gl2 trig' > coinsert 'jgl2' > > DT =: %30 NB. seconds > ANGLE=: 0.25p1 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 > glrgb 91 91 91 > glbrush'' > gllines ps , pe > glellipse (,~ ps - -:) 40 15 > glellipse (,~ pe - -:) 20 20 > glrect 0 0 ,width, 40 > ) > > pend_run'' NB. run animation > NB.================================================================= > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm >
-- Björn Helgason, Verkfræðingur Fornustekkum II 781 Hornafirði Po Box 127,801 Selfoss , t-póst: gos...@gmail.com gsm: +3546985532 sími: +3544781286 http://groups.google.com/group/J-Programming Tæknikunnátta höndlar hið flókna, sköpunargáfa er meistari einfaldleikans góður kennari getur stigið á tær án þess að glansinn fari af skónum /|_ .-----------------------------------. ,' .\ / | Með léttri lund verður | ,--' _,' | Dagurinn í dag | / / | Enn betri en gærdagurinn | ( -. | `-----------------------------------' | ) | (\_ _/) (`-. '--.) (='.'=) ♖♘♗♕♔♙ `. )----' (")_(") ☃☠ ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm