Michael J. Swart

February 6, 2009

Something Pretty

Filed under: Tongue In Cheek — Michael J. Swart @ 7:46 am

A T-SQL script I came up with that displays the Mandelbrot set. (Tip: Hit Ctrl-T before executing)

SET NOCOUNT ON;

--populate
;WITH Numbers ([row]AS
(
   SELECT TOP 100 CAST(ROW_NUMBER() OVER (ORDER BY NEWID()) AS FLOAT[row]
   FROM sys.columns
)
SELECT A.row AS x, 
   B.row AS y, 
   AS iter, 
   A.row AS iterx, 
   B.row AS itery, 
   '.' AS symbol
INTO #GRID
FROM Numbers ANumbers B
WHERE B.[row] <= 24
GO

-- scale
UPDATE #GRID
SET 3.0 100.0 2,
   2.0 24.0 1,
   iterx 3.0 100.0 2,
   itery 2.0 24.0 1
GO

--iterate
UPDATE #GRID
SET iterx iterx*iterx itery*itery x,
    itery 2*iterx*itery y,
    iter iter+1
WHERE iterx*iterx+itery*itery <= 2*2
GO 257

UPDATE #GRID SET symbol = CHAR(64+(iter%26)) WHERE NOT iter 257
GO

--print
WITH concatenated (ycAS 
(
   SELECT G2.y,
       (SELECT SUBSTRING(G.symbol11AS [data()] FROM #GRID WHERE G.y G2.y FOR XML PATH('')) c
   FROM (SELECT DISTINCT FROM #GRIDAS G2
)
SELECT REPLACE(c' '''FROM concatenated ORDER BY y
GO

DROP TABLE #GRID

Wikipedia’s entry on the Mandelbrot set.

2 Comments »

  1. […] Today I’m sharing something I first posted two years ago: Something Pretty. […]

    Pingback by Mandelbrot Revisited. | Michael J. Swart — March 2, 2011 @ 12:05 pm

  2. Cool!

    Comment by dave — March 3, 2011 @ 12:47 pm

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress