To --> program code (complete)



Data snippet from the user editing area for z wrap:
(program code is below the data snippet.)

---------------------------------------------------------------
Rotation for light source:   0 = 0   1 = 90   2 = 180   3 = 270

-------------------------------------------------
steps
                                    end
  min xyz       max xyz    spacing  cube  rot,col
  -------       -------    -------  ----  -------
AUTOCUBE000:
-3  -4   0     3   4   1      0     71      0,42
-------------------------------------------------


Transformations snippets for steps
----------------------------------------
first  last     x    y    z  
TRAN
TRANSLATE:
1      718     0    50    0
999,999         999,999,999
----------------------------------------

----------------------------------------
start    start    angle      how 
first    last     per cube   many   lift
TRAN
ZWRAP:
1          8        10       71      1
999,999           999            999,999
----------------------------------------


program code snippet for reading the above data snippet:

TRANSLATE:
FOR RD = 1 TO 1000
  INPUT #2, FIRST, LAST, TRANX, TRANY, TRANZ
  IF FIRST = 999 THEN EXIT FOR
  FOR TRAN = FIRST TO LAST
   X(TRAN) = XR(TRAN) + TRANX: XR(TRAN) = X(TRAN)
   Y(TRAN) = YR(TRAN) + TRANY: YR(TRAN) = Y(TRAN)
   Z(TRAN) = ZR(TRAN) + TRANZ: ZR(TRAN) = Z(TRAN)
  NEXT TRAN
NEXT RD
GOTO TRANSFORMATIONS

ZWRAPIT:
For RD = 1 To 800
  Input #2, First, Last, wrapangle, wrapnum, liftinc
  If First = 999 Then Exit For
  wrapfirst = First - 10: wraplast = Last - 10
  ZANGLE = 0: zlift = 0: wrapangle = (wrapangle * 3.14159) / 180
  For zwrap = 1 To wrapnum
    zlift = zlift + liftinc
    ZANGLE = ZANGLE + wrapangle
    wrapfirst = wrapfirst + 10: wraplast = wraplast + 10
    For ROTA = wrapfirst To wraplast
      X(ROTA) = (XR(ROTA) * Cos(ZANGLE)) - (YR(ROTA) * Sin(ZANGLE))
      Y(ROTA) = (XR(ROTA) * Sin(ZANGLE)) + (YR(ROTA) * Cos(ZANGLE))
      Z(ROTA) = ZR(ROTA) + zlift
      XR(ROTA) = X(ROTA): YR(ROTA) = Y(ROTA): ZR(ROTA) = Z(ROTA)
    Next ROTA
  Next zwrap
Next RD
GoTo TRANSFORMATIONS



To --> program code (complete)