This is my conversion.
Const RAD2DEG!=57.295779513082320876798154814105 Local i:Int, j:Int Select trans Case 0 Local p:Float For i = 1 To nRows-1 For j = 1 To nCols-1 p = (t*10+(i+j)*.5#)*RAD2DEG dis.SetDisplacement(j,i,Cos( p )*5,Sin( p )*5, HGEDISP_NODE) Next Next 'break Case 1 For i=0 To nRows For j=1 To nCols-1 dis.SetDisplacement( j, i, Cos( (t*5 + j*.5#)*RAD2DEG ) * 15, 0, HGEDISP_NODE ) col = Int( (Cos((t*5+(i+j)*.5)*RAD2DEG)+1)*35 ) dis.SetColor( j,i, $FF000000 | col Shr 16 | col Shr 8 | col ) Next Next 'break Case 2 For i=0 To nRows For j=0 To nCols Local pow1:Float = j-(nCols*.5#) pow1:*pow1 Local pow2:Float = i-(nRows*.5#) pow2:*pow2 r = Sqr( pow1+pow2 ) a=(r*Cos( (t*2) * RAD2DEG )*.1#)*RAD2DEG dx = Sin(a)*(i*cellh-256) + Cos(a)*(j*cellw-256) dy = Cos(a)*(i*cellh-256) - Sin(a)*(j*cellw-256) dis.SetDisplacement( j, i, dx, dy, HGEDISP_CENTER ) col = Int( ( Cos( (r+t*4)*RAD2DEG )+1 )*40 ) dis.SetColor( j,i,$FF000000 | col Shl 16 | (col/2) Shl 8 ) Next Next 'break End Select