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

Reply via email to