Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

Could someone explain why I get those ugly graphics ..

enter image description here

..trying to use fractals in mathematica 8 ?

I'd also like to know if it is possible to draw 2D fractals in Mathematica


My configuration is:

  • Windows 7 64 bits
  • Intel Pentium P600
  • RAM 4Go
  • ATI Mobility Radeon HD5470
share|improve this question
    
Does this only happen when rendering the fractal or with any 3D graphics in Mathematica? Have you upgraded your graphics drivers to their latest version? If you haven't, it's something worth doing. –  Szabolcs Feb 27 '12 at 21:16
    

3 Answers 3

I think the lower quality you see has to do with the downscaling of the image. It is generated at 512x512 pixels which you can check if you right mouse click on the image, but it isn't displayed that way. So, if I change this to:

OpenCLFractalRender3D[ImageSize -> 512]

I get

Mathematica graphics.

As to your second question: of course you can use Mathematica to generate 2D fractals. It has a rich set of drawing primitives. Examples can be found in the manual (for instance, here).

share|improve this answer
    
When I do this command, I get nothing -- just "OpenCLFFractalRender3D[ImageSize->512" written, ideas why? How to get the picture? –  hhh Mar 18 '13 at 19:31
    
@hhh This may be an installation/drfiver/graphics card issue. Currently, I have troubles running this command in Mathematica 9. In v8, installed on the same PC, everything is OK. You may try some of the installation guides in the CUDAlink tutorial. –  Sjoerd C. de Vries Mar 18 '13 at 21:42
    
Additionally, you have to run Needs["CUDALink"]` before that command. What helped me in a reinstallation of the CUDA resources using CUDAResourcesInstall[Update -> True]. –  Sjoerd C. de Vries Mar 18 '13 at 21:48

You can certainly draw 2D fractals, eg the Mandelbrot set

ClearAll[mnd]
mnd = Compile[{{m, _Integer}, {n, _Integer}, {steps, _Integer},
{maxiter, _Integer}, {xmax, _Real}},
   Block[{z, c, iters = 0},
    z = c = -xmax + 2.*xmax*n/steps - 0.5 + I*(-xmax + 2.*xmax*m/steps);
    While[(iters < maxiter) && (Abs@z < 2),
     iters++;
     z = z^2 + c
     ];
    Sqrt[iters/maxiter]
    ],
   {{z, _Complex}, {c, _Complex}}
   ];

ListContourPlot[
 Table[
  mnd[m, n, 200, 200, 1],
  {m, 1, 200}, {n, 1, 200}
  ],
 Frame -> False
 ]

Mathematica graphics

or the Hofstadter butterfly

ClearAll[matrix];
matrix[p_,q_,nu_:0]:=Module[
    {sigma},
    sigma=p/q;
    N@SparseArray[
        {{m_,m_} -> 2Cos[2Pi*m*p/q + nu], {i_,j_}/;Abs[i-j] == 1 -> 1},{q,q}]]

ClearAll[attachsigma]
attachsigma[sigma_,lst_]:={sigma,#}&/@lst

fracs = Table[p/q, {q, 2, 80}, {p, 2, q}] // Flatten // 
   DeleteDuplicates;
pq = {Numerator@#, Denominator@#} & /@ fracs;
(ens = Eigenvalues[#] & /@ (matrix[#[[1]], #[[2]]] & /@ pq);) // Timing
pts = Flatten[#, 1] &@MapThread[attachsigma, {fracs, ens}];
plot = Graphics[
  {PointSize[0.001], Point[pts]},
  AspectRatio -> 1,
  ImageSize -> Full
  ]

enter image description here

share|improve this answer
    
Ok, thanks for your answers. (sorry about the link, i can't post images yet because i'm new) –  user1234161 Feb 27 '12 at 22:44

And if disk or screen space is at a premium, have a look at Stephan Leibbrandt´s lovely Mandelbrot oneliner using just 130 characters:

Oneliner Competition 2011

Notebook of the winning entries... quite handy to view with the CDF plugin.

share|improve this answer
    
Excellent. I especially enjoyed William Wu's entry... –  acl Feb 28 '12 at 13:22

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.