To Jayce or Ron :The Tiles Deluxe

2 views
Skip to first unread message

FractAlchemist

unread,
Feb 24, 2008, 6:51:43 AM2/24/08
to UFB...@googlegroups.com
Could any of you please upload the file in it's corrected form in the files section please? Thsi would make it easy for all members to use the file:-))

http://groups.google.com/group/UFBeta/files

Thanks. Evie




On Sun, Feb 24, 2008 at 5:38 AM, Jayce Cruel <jayce...@yahoo.com> wrote:
oops...my bad- forgot the } at the end...

fixed

----- Original Message ----
From: Jayce Cruel <jayce...@yahoo.com>
To: UFB...@googlegroups.com
Sent: Saturday, February 23, 2008 8:29:34 PM
Subject: [UFBeta] Re: The Tiles Deluxe Transformation

Here- I uncompressed it and saved it as a text file...should make it easier, I hope

----- Original Message ----
From: Bill Smith <willi...@rogers.com>
To: UFB...@googlegroups.com
Sent: Saturday, February 23, 2008 3:12:44 PM
Subject: [UFBeta] Re: The Tiles Deluxe Transformation

Ken
As did I, nothing but error mesages.
To me what I thought was the formula
looked like a upr file
Bill
----- Original Message -----
From: Tres Amie
Sent: Saturday, February 23, 2008 3:58 PM
Subject: [UFBeta] Re: The Tiles Deluxe Transformation

Ken,
 
I did as you said, but when I point to that file, I get a full list of error messages and the transform button for that formula shows a red exclamation point.  Any suggestions?
 
~Vivian

Ken Childress <ke...@bww.com> wrote:

Ron/Bill,

The formula is in Jussi's post. You'll have to copy and paste it into
a local file.



Ken...


Ron Barnett wrote:
> Hi Jussi,
>
> Tiling is an area that I have explored from time to time, especially
> using images. I am looking forward to seeing the formula. Like Bill,
> where do you have it stored?
>
> Ron Barnett
>
> On Sat, Feb 23, 2008 at 12:19 PM, Jussi > > wrote:
>
>
> Hi all,
> I've subscribed this group for a while already but haven't posted
> anything before. I have recently been working on a somewhat complex
> formula that should be tested carefully before I submit it to the
> formula database.
>
> The Tiles Deluxe transformation aims to help in creation and use of
> tiled images in UF. The formula has some boolean parameter modifiers
> and three different view modes resulting in about 10 different
> coordinate calculation steps. Although it seems to me be working
> correctly, I wanted to post it here because bugs can easily sneak in
> into all that mess. It was quite a pain to get it right (?) in the
> first place.
>
> As the formula has some nontrivial features for nontrivial uses, I
> also wrote a little tutorial explaining and illustrating its use. Also
> see the formula parameter documentation for details in how the
> parameters work.
>
> Please let me know if you find illogical behavior, bugs or errors in
> the formula or its parameter documentation.
>
> Regards,
> Jussi
>
> * Tiles Deluxe Quick Tutorial *
>
> Start with the default settings. View mode is One tile by default
> which means that only one tile is shown in the image. This mode is
> intended for searching nteresting patterns - you can use mouse with
> modifier keys in a WYSIWYG manner.
>
> After you've found something interesting, switch to the Tile grid mode
> to see how that interesting area tiles when repeated twice and
> mirrored (Number of tiles is 2 and Symmetric tiling is checked by
> default).
>
> I wanted the formula to behave nicely with my Poles transform (in
> jh.uxf) as well as with zooming/rotating/panning. If Use screen
> coordinates is checked, however, the tiled image changes when the
> location is changed.
>
> By default, the Use screen coordinates is checked. This means that the
> location parameters specified in the location tab define the area in
> the complex plane from where the tile contents are calculated. Uncheck
> the Use screen coordinates and copy the center, magnification and
> angle parameters from the location tab to recreate the earlier tiled
> image. Now the tiled image is independent of the location tab - if you
> zoom or rotate the image, the result is unchanged.
>
> Now add the Poles transform from jh.uxf and reset the location tab. If
> you now zoom/rotate/pan, the resulting image changes in unexpected
> ways. This is because The Tile Grid mode is selected and the tiles are
> calculated independent of the location tab, but the location of poles
> in the Poles transform changes as the location changes.
>
> To eliminate this effect, select the Fixed grid view mode. Now the
> tiles have fixed locations in the complex plane and zooming/rotating/
> panning doesn't change their location.
>
> Attached are an example upr that's been created with the above
> instructions and the Tiles Deluxe formula. Other formulas should
> already be available in the public database.
>
>
> tilesDeluxeTutorialSample {
> ::i6KbDjn2VSVTvRNMQ07r0+fwKXRbWbnvB5DQBEUpKqocvyE7srpJ2BbH6u87lfDcmx2plK6J
> uZPem5NzbeeGs8ePf8lb3gQelfUyy8qRp7tyxlTSkfxbsK+IyxnmHlZo7VC/
> RWNGjOKVHO6Z
> lwxR+Zp1xIhk0blCl3xyucx5UoP8L7d/
> WL1viunWsnixtZb3E9PC5k0f0IYTLje1M35Q98Zv
>
> yoZZvh3f3BrZRLyQmZevyfmRw4tbm4zzK9hY49StXaZ7w5tV4muuqym6948mCSDtFXirqRT8
> DaGJvlSJk2GEXfA6xdESFESsg9Wu2NYsTOGd7mHvFz/AQFa+EQKf7Y
> +yphMEAo9c46uZDQTZ
>
> o5b1LTXHOzKgLOzitXyw7xh4nvVIdelmH7JwIYRea2AEinRgLDKrzHiGKpccdVXHtlUuHOX2
> gpNldkUacyejWs6YMN+jKbyAeP5/pujj3di48NU+/QJv/KjA899qTSB6gVJySoaGGcS/
> adv4
> k3ceCGYQeOLdpG/Lhkxopn/Iw1yX7ml9em2kSRAtVTk1kAKEp+CjxKCEDE
> +T99i0EFnTJ4um
> KYYWUSxtVrPfFMNVDq+EhWk3BUEmU/EsSz3iqcaDpb7mAlsMyTiN+JVI5gMCaIpt/os/
> OG0k
> /DfNM9Ifdt0CZAqSxlLjK+KvMFoLyLE/MOZkiQ52SohqFkc0QxObuHQi
> +XZg2MFaXj9zchax
> BhUUVUVVU0hr6KoNPzvUnQB3qJdlh2Mm4B4/qJK5j4FtBsKoE42HZSQb+
> +kfJxyX5qRzCMCk
> AOKtTJkv8vafZIQtc7Gwln/k77WPyZGVCWJttuhSLap/
> Dj1PGZmVS7mJjxf8jAVHHTXAfi9Z
>
> PQbpHfaNljf3a33bGN2PtK6g7cY7z1RiMJ4WJ1tbOYBSEQLtEwAqSdYlzNqwSKQBzP765pTR
> /yzQuIuxEZN+k+ZXTEYlWIPxI1oI
> +whmmGKpa1O406D4HsUTfwVaXNB2sAUXaFVsgWhSbW9H
> /4CMaV12N/RJv57X
> }
>
> jh.uxf:jh-tiles-deluxe {
> ; (c) 2007-2008 Jussi Härkönen
> ;
> ; This transform has been designed for easy creation and use of tiled
> images.
> ;
> ; 07-02-10 First version
> ; 07-02-23 Implemented View mode and screen coordinate parameters
> ::NgwJThn2tiVWvxtNQ43DQ
> +PwuGIdlzeZnYUgU4AH4iiagmmg402HSzDclo2lNSkLEls3tI/4
> 7M8QkUH2bRjhfwWcO
> +m7hcThcNt4VP9JEyPSupkuhRujzunQrYUyd0KOddBTpPPvQSrJckm3
> o2xSrJXSmey98s6tJklwfulx3stOxT7WaRuWm/i+kn
> +EjaumWk2UQrZGhRM8RoKClk3ISr5S
> BRmTq3ygPq1UFF+ISBXgf2InCZKVTbNdN
> +FeOZaI8eN5lLWt8FLWphEpLcA4f2iLwjYFK2Yk
> c+iVgxFIWNDiMeuzcuNlW4MlMeJToAMpIrPQgPJ45cDKRi7L
> +ufZJ5EkLnsffFLt1bpSrYMR
> gO6EV8Ymc6Q+eP518iArB9bX1oY34NSrHzTHI1u
> +gWnWEVXFLbrniQ8KHzvcgyr8b1G31SZV
> GXAWryCBP1OI451DhwkKb6UjiL2ozhQE1PWMuoBvnOIABDt182usOgRhu7/
> IUeBCfJ5cHxpy
> ydFs9kKGAV+ds3lnrYI5B+wThTpFTvSqPLh8cQF8d6M72PmMmA/IInb5/DLWkWRcWS/
> SQqYD
> m9KgSsMOFybnuBEjA/
> SGbDET0ZyobECSVJdyh0MfJZ1iVn9Dv8iX8CA8X1ewTfSdFIxcZV5r
> MecjyR/
> EA82INoIhEgCqEZFfD81iozBNnRqlEfpQbPg8KaaNtYB5kd89sCoBgYXD40AWUAVc
> VggIqDqaW5iWnATUzqARHqrt07CRCRbCoO1IQ3bMVzH45yMto2zUGBCNNJ0C
> +GBQ8OaFtoAQ
> EwFSlp/ALbDT1CgPYDaWJGhkeAB
> +NQ7WFahgODPVeHrSZgE29+Tz9ZAzmf2nJ7JfK4Ln9ZLO
>
> cpQOQ8rSfme30rr7RTbNMCu3KzYkv7SykfGCGZkNV8sJJ9rQHwcVGq6iBI3itf3Ud278T05q
> JJQS2Ub4eO5EDL2M7Y9U9A
> +XrCHzwAF3DLL73UNuH0vrYEDuy4Qj76iD6Ik6L8dk2SB7IL5/
> T0ZcA96GBm/WW6XwQiBJQFgspWxzY
> +MlpSBANIhStVevt9IE5Scxygg5lQw8dCDfTSIP7Zwp
> 01qp6WUjBPIE96g2PJk/yYOwPf9rEN/6uZPI/
> nlk0m68+RNl5anuSWwR3XhsywyJmvANBraY
> dDTtS7Ouivug5An7cfZJGPE8jovQh8eojQBLv2JkUZlIoJxwVormtawySdpQnSvgY/
> oOOoRf
>
> 3BBJmxPOY9md7gQvC6kiTHhO7imy1AOx1tAOUaAbGyMMMMTsC7RMU9vPlx5cHmfchBABfUr6
> T7brPvDfGp5Dm69vaTi1p1zJZSx3XrtR2AW4jCojFE+dA1O2sY/
> mZI5+PMuWCKgiPNJUCHGV
> CRlQ9kQQkB3u6QZJru6QSgbz5fWt4C9wVIQD7Vi9Nh2UwsSDH
> +GXEMbH8jQbDpbAsRUanvC3
>
> 6oiVS5CTKuiW2Sz4+BU7nO25O2P8Isf4hYPKQ5CLhlJhtVHDozj3QDEjsa6YEvMs5XcwcM9e
> YU9aU1InfMBadDSX0EDtpSRNX0IbUIOh+A+o0YwLw4nrveB2DfMyD9VLPPxHE/
> PJ9DjKdIm3
> a3tD/C6f/
> x2M21UYU4Qjaf0xrnf6omndZ6RwHM7aevmwO0Ow6NjihT7cnCfrmO2Xels0vDR7
>
> Sqd3l4xuoFxtC9ludqALtd5rgdvGaPx4eytCSfXgr7Js2bI8QyzFYDWvJjlTbKq1XmomXrv6
> xEzsjfiV0snNx4kwdvLJuBSWXPdn1jPRf/
> DchnJmjsiF7m40dTJJcKmRLm9ZjWu1+qBcRdkg
> JYyMclRcvBc4kdBAl+GC4SXiFEnwtMwLxBz+Fl0/gkCL94oEnNnCOQ/eQ4aEqFkW0Z5ga
> +nO
> SzPj3eHFIXJ4aJt7q8bdWJQ7OZYMsjA5+rmZMYzFFNABS7XQuR/
> cNEvHzYt436IL7uYmFjsP
> +TdrZlSFk1whZ/djCX5yf5+2HBqj8qprXMxm/
> oNg4L7YSRiW0xngYvVOtU2Iq7lkMFut7sV+
>
> XVyG8vtNkr3vTzLaIGdsgsiUyw7XLk2PNDl0FzwuZ2vosBC0faerHTtRXDx0qbtUWYtjgG/
> 9
> MG7B8Ubz
> +e2jbFZvpENxYKMxokXVB79K2kgYjmulz0rH3ZOyw40M6zAU3ue9QZncueg8cXlJ
> +ek4i9xXRxXe
> +QBlwNBLtfTnjBJyVsdM928mXY0US1JnqNBeoMr4wxNxPWWktiuXTdn51N7Z
> s5U/DSaNk/
> cLmNgXtjlNL4BFiefUX9INw0sE0xS00D9gAyqunrYz82slBfRvVqDZzhh2439L
> ygDlrWz9s4z6Fej9hYQeAvSc4turae8wUvhhDGscFjeyOiioHt5jf24wOMTt/
> Atfm5a9E7u6
> ZLHvTrtJqdw/OJQ7xEwfb/XVtrZE9wrHXg/bhlEp2jK318klDm6iHN
> +yCfrhe7TyafA2uo/f
> BkSev8M=
> }
>
>
>
>
>
> --
> Ron Barnett
> fracta...@gmail.com
> http://hiddendimension.com
> If life is a bowl of cherries why do I always get the pits?
> ^^^^^^^^^^^^^^^^^^^^^^^^
> >



Looking for last minute shopping deals? Find them fast with Yahoo! Search.





Never miss a thing. Make Yahoo your homepage.



-----Inline Attachment Follows-----


jh-tiles-deluxe {
; (c) 2007-2008 Jussi Härkönen
;
; 07-02-10 First version
; 07-02-23 Implemented View mode and screen coordinate parameters
global:
  ; Image view area variables:
  float imageAspect = (#width) / (#height)
  float halfImageHeight

  ; Calculate image height as a function of the aspect ratio as in the
  ; location tab
  if (imageAspect > 4.0/3.0)
    halfImageHeight = 1.5
  else
    halfImageHeight = 2.0 / imageAspect
  endif

  ; Scale image dimensions by magnification
  halfImageHeight = halfImageHeight / #magn

  ; Precalculate screen dimensions
  float imageHeight = 2 * halfImageHeight


  float tileAspect
  if (@useImageAspect)
    tileAspect = imageAspect
  else
    tileAspect = @tileAspect
  endif
 
  float viewHeight
  if (@useScreenCoordinates)
    viewHeight = imageHeight
  else
    ; Calculate height using the tile magnification
    viewHeight = imageHeight * #magn / @tileMagnification
  endif
 
  float halfViewHeight = viewHeight / 2
 
  complex relativeOffset = tileAspect * real(@offset) + flip(imag(@offset))
 
  complex relativeTileSize = tileAspect + flip(1)

  ; Calculate angle in radians (given in degrees by the user)
  float tileAngle = 0.0174533 * @tileAngle
transform:
   
  ; View coordinates denote the original coordinates used to calculate the
  ; fractal. #pixel (input) uses this coordinate system.

  ; Centered coordinates have the origin translated to view center and the axes
  ; are aligned parallel to the image edges.

  ; Relative centered coordinate have the origin in view center
  ; and the tile covers the area [-tileAspect,-1] x [tileAspect,1].

  complex centeredLocation
  complex relativeCenteredLocation

  if (@viewMode != "Fixed grid")
    ; Calculate centered coordinates
    centeredLocation = exp(flip(-#angle)) * (#pixel - #center)

    ; Calculate relative centered coordinates
    relativeCenteredLocation = centeredLocation / halfImageHeight
  else
    ; Use pixel directly and skip transformation to relative centered coordinates
    relativeCenteredLocation = #pixel
  endif
 
  ; Check if pixel is outside the tile (only in show tile mode)
  if ((@viewMode == "One tile") && ((abs(real(relativeCenteredLocation)) > tileAspect) \
      || (abs(imag(relativeCenteredLocation)) > 1)))
    ; Pixel is outside the tile - Use solid color
    #solid = true
  else
    ; Pixel is visible
     
    ; Relative coordniates have the origin translated to lower left
    ; corner and the tile covers the area [0,0] x [tileAspect,1].
    complex relativeLocation = (relativeCenteredLocation + relativeTileSize) / 2

    ; Apply scaling by number of tiles and offset
    complex relativeOffsetLocation
    if (@viewMode != "One tile")
      relativeOffsetLocation = @numTiles * relativeLocation + relativeOffset
    else
      ; Show tile only - don't scale by number of tiles
      relativeOffsetLocation = relativeLocation + relativeOffset
    endif

    ; Add offset
    float xRelativeOffsetLocation = real(relativeOffsetLocation)
    float yRelativeOffsetLocation = imag(relativeOffsetLocation)

    if (@useSymmetry)
      ; Scale by 0.5 to compensate for symmetry transform later on so the
      ; tile size remains the same
      xRelativeOffsetLocation = 0.5 * xRelativeOffsetLocation
      yRelativeOffsetLocation = 0.5 * yRelativeOffsetLocation
    endif

    float xRrelativeTiledLocation = xRelativeOffsetLocation - tileAspect * floor(xRelativeOffsetLocation / tileAspect)
    float yRrelativeTiledLocation = yRelativeOffsetLocation - floor(yRelativeOffsetLocation)

    if (@useSymmetry)
      ; Use symmetry for continuous tiling
      xRrelativeTiledLocation = tileAspect - 2 * abs(xRrelativeTiledLocation - tileAspect/2)
      yRrelativeTiledLocation = tileAspect - 2 * abs(yRrelativeTiledLocation - 0.5)

    endif
   
    ; Transform back to relative centered
    relativeCenteredLocation = 2*(xRrelativeTiledLocation + flip(yRrelativeTiledLocation)) - relativeTileSize

    centeredLocation = relativeCenteredLocation * halfViewHeight

    ; Transform back from centered to view coordinates
    if (@useScreenCoordinates)
      #pixel = #center + exp(flip(#angle)) * centeredLocation
    else
      #pixel = @tileCenter + exp(flip(tileAngle)) * centeredLocation
    endif
  endif
 
default:
  title = "Tiles Deluxe"

  param viewMode
    caption = "View mode"
    default = 0
    enum = "One tile" "Tile grid" "Fixed grid"
    hint = "View mode specifies how the tiles are shown. One tile mode simply \
            shows one tile and clips outside areas. Tile grid shows a grid \
            of tiles aligned to image edges and the Number of tiles parameter \
            is used to specify the grid size. In the Fixed grid mode the \
            visible area of the tile grid can be adjusted using the location \
            tab."
  endparam

  complex param offset
    caption = "Offset amount"
    default = (0.0,0.0)
    hint = "Specifies the amount of offset. 0 means no offset, (0.5,0.5) offsets edges to screen center."
  endparam
 
  bool param useSymmetry
    caption = "Symmetric tiling"
    default = true
    hint = "Use symmetry (or mirroring) to achieve continuous tiling."
  endparam
 
  float param numTiles
    caption = "Number of tiles"
    default = 2
    enabled = @viewMode == "Tile grid"
    hint = "Specifies the number of times the tile is repeated in the Tile \
            grid mode."
  endparam

  bool param useImageAspect
    caption = "Use image aspect"
    default = false
    hint = "When checked, the image aspect ratio is used as the tile aspect \
            ratio. Otherwise, the Tile aspect parameter is used."
  endparam

  float param tileAspect
    caption = "Tile aspect ratio"
    default = 1
    enabled = @useImageAspect == false
    hint = "Specifies the tile aspect ratio."
  endparam

  bool param useScreenCoordinates
    caption = "Use screen coordinates"
    default = true
    hint = ""
  endparam

  complex param tileCenter
    caption = "Tile center"
    default = (0,0)
    enabled = @useScreenCoordinates == false
    hint = "Specifies the tile location center point."
  endparam

  float param tileMagnification
    caption = "Tile magnification"
    default = 1
    enabled = @useScreenCoordinates == false
    hint = "Specifies the tile location magnification."
  endparam

  float param tileAngle
    caption = "Tile angle"
    default = 0
    enabled = @useScreenCoordinates == false
    hint = "Specifies the tile location angle in degrees."
  endparam



Looking for last minute shopping deals? Find them fast with Yahoo! Search.


jh-tiles-deluxe {
; (c) 2007-2008 Jussi Härkönen
; This transform has been designed for easy creation and use of tiled images.
;
; 07-02-10 First version
; 07-02-23 Implemented View mode and screen coordinate parameters
global:
 ; Image view area variables:
 float imageAspect = (#width) / (#height)
 float halfImageHeight

 ; Calculate image height as a function of the aspect ratio as in the
 ; location tab
 if (imageAspect > 4.0/3.0)
   halfImageHeight = 1.5
 else
   halfImageHeight = 2.0 / imageAspect
 endif

 ; Scale image dimensions by magnification
 halfImageHeight = halfImageHeight / #magn

 ; Precalculate screen dimensions
 float imageHeight = 2 * halfImageHeight


 float tileAspect
 if (@useImageAspect)
   tileAspect = imageAspect
 else
   tileAspect = @tileAspect
 endif

 float viewHeight
 if (@useScreenCoordinates)
   viewHeight = imageHeight
 else
   ; Calculate height using the tile magnification
   viewHeight = imageHeight * #magn / @tileMagnification
 endif

 float halfViewHeight = viewHeight / 2

 complex relativeOffset = tileAspect * real(@offset) + flip(imag(@offset))

 complex relativeTileSize = tileAspect + flip(1)

 ; Calculate angle in radians (given in degrees by the user)
 float tileAngle = 0.0174533 * @tileAngle
transform:

 ; View coordinates denote the original coordinates used to calculate the
 ; fractal. #pixel (input) uses this coordinate system.

 ; Centered coordinates have the origin translated to view center and the axes
 ; are aligned parallel to the image edges.

 ; Relative centered coordinate have the origin in view center
 ; and the tile covers the area [-tileAspect,-1] x [tileAspect,1].

 complex centeredLocation
 complex relativeCenteredLocation

 if (@viewMode != "Fixed grid")
   ; Calculate centered coordinates
   centeredLocation = exp(flip(-#angle)) * (#pixel - #center)

   ; Calculate relative centered coordinates
   relativeCenteredLocation = centeredLocation / halfImageHeight
 else
   ; Use pixel directly and skip transformation to relative centered coordinates
   relativeCenteredLocation = #pixel
 endif

 ; Check if pixel is outside the tile (only in show tile mode)
 if ((@viewMode == "One tile") && ((abs(real(relativeCenteredLocation)) > tileAspect) \
      || (abs(imag(relativeCenteredLocation)) > 1)))
   ; Pixel is outside the tile - Use solid color
   #solid = true
 else
   ; Pixel is visible

   ; Relative coordniates have the origin translated to lower left
   ; corner and the tile covers the area [0,0] x [tileAspect,1].
   complex relativeLocation = (relativeCenteredLocation + relativeTileSize) / 2

   ; Apply scaling by number of tiles and offset
   complex relativeOffsetLocation
   if (@viewMode != "One tile")
     relativeOffsetLocation = @numTiles * relativeLocation + relativeOffset
   else
     ; Show tile only - don't scale by number of tiles
     relativeOffsetLocation = relativeLocation + relativeOffset
   endif

   ; Add offset
   float xRelativeOffsetLocation = real(relativeOffsetLocation)
   float yRelativeOffsetLocation = imag(relativeOffsetLocation)

   if (@useSymmetry)
     ; Scale by 0.5 to compensate for symmetry transform later on so the
     ; tile size remains the same
     xRelativeOffsetLocation = 0.5 * xRelativeOffsetLocation
     yRelativeOffsetLocation = 0.5 * yRelativeOffsetLocation
   endif

   float xRrelativeTiledLocation = xRelativeOffsetLocation - tileAspect * floor(xRelativeOffsetLocation / tileAspect)
   float yRrelativeTiledLocation = yRelativeOffsetLocation - floor(yRelativeOffsetLocation)

   if (@useSymmetry)
     ; Use symmetry for continuous tiling
     xRrelativeTiledLocation = tileAspect - 2 * abs(xRrelativeTiledLocation - tileAspect/2)
     yRrelativeTiledLocation = tileAspect - 2 * abs(yRrelativeTiledLocation - 0.5)

   endif

   ; Transform back to relative centered
   relativeCenteredLocation = 2*(xRrelativeTiledLocation + flip(yRrelativeTiledLocation)) - relativeTileSize

   centeredLocation = relativeCenteredLocation * halfViewHeight

   ; Transform back from centered to view coordinates
   if (@useScreenCoordinates)
     #pixel = #center + exp(flip(#angle)) * centeredLocation
   else
     #pixel = @tileCenter + exp(flip(tileAngle)) * centeredLocation
   endif
 endif

default:
 title = "Tiles Deluxe"

 param viewMode
   caption = "View mode"
   default = 0
   enum = "One tile" "Tile grid" "Fixed grid"
   hint = "View mode specifies how the tiles are shown. One tile mode simply \
           shows one tile and clips outside areas. Tile grid shows a grid \
           of tiles aligned to image edges and the Number of tiles parameter \
           is used to specify the grid size. In the Fixed grid mode the \
           visible area of the tile grid can be adjusted using the location \
           tab."
 endparam

 complex param offset
   caption = "Offset amount"
   default = (0.0,0.0)
   hint = "Specifies the amount of offset. 0 means no offset, (0.5,0.5) offsets edges to screen center."
 endparam

 bool param useSymmetry
   caption = "Symmetric tiling"
   default = true
   hint = "Use symmetry (or mirroring) to achieve continuous tiling."
 endparam

 float param numTiles
   caption = "Number of tiles"
   default = 2
   enabled = @viewMode == "Tile grid"
   hint = "Specifies the number of times the tile is repeated in the Tile \
           grid mode."
 endparam

 bool param useImageAspect
   caption = "Use image aspect"
   default = false
   hint = "When checked, the image aspect ratio is used as the tile aspect \
           ratio. Otherwise, the Tile aspect parameter is used."
 endparam

 float param tileAspect
   caption = "Tile aspect ratio"
   default = 1
   enabled = @useImageAspect == false
   hint = "Specifies the tile aspect ratio."
 endparam

 bool param useScreenCoordinates
   caption = "Use screen coordinates"
   default = true
   hint = ""
 endparam

 complex param tileCenter
   caption = "Tile center"
   default = (0,0)
   enabled = @useScreenCoordinates == false
   hint = "Specifies the tile location center point."
 endparam

 float param tileMagnification
   caption = "Tile magnification"
   default = 1
   enabled = @useScreenCoordinates == false
   hint = "Specifies the tile location magnification."
 endparam

 float param tileAngle
   caption = "Tile angle"
   default = 0
   enabled = @useScreenCoordinates == false
   hint = "Specifies the tile location angle in degrees."
 endparam
}



--
Eveline Berkman

http://www.fractalchemist.com
http://www.renderosity.com/mod/gallery/browse.php?username=fractalchemist

"When the student is ready, the teacher will appear."
Reply all
Reply to author
Forward
0 new messages