Win a copy of Functional Reactive Programming this week in the Other Languages forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Generating a mandelbrot with Java

 
Mads Nielsen
Greenhorn
Posts: 28
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello.

First of all, thanks for all the replies on my other posts. I really appriciate it.

I have recently become totally facinated with fractals, and i want to make one with Java.

I have based the code on the pseudocode from the wiki article on en.wikipedia.org about mandelbrot sets.

Here is the pseudocode:


And this is my attempt to port it to Java:


There are currently no compile or runtime errors, but its not working. Its only plotting 1 pixel. I need to scale the values for x0 and y0, so they have the range (-2.5 to 1) and (-1 to 1)
I have no idea how to do this, also, the x and y variables are integers, how am i supposed to add or multiply with double x0 and y0 ?

And i also dont understand why x0 and y0 are used as the cordinates for the plotting, i mean it has to be integers, not doubles, there are no "half pixels".

Does anyone here have experience with generating fractals using Java?

Kind regards Mads Nielsen
 
Tim Moores
Bartender
Posts: 2947
46
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
For starters, there shouldn't be a loop from 1 to canvasSize, but two nested loops for 1<=x<=800 and 1<=y<=600, so that you know for which pixel the iteration depth is being calculated, and so you can set that pixel in the appropriate color. (The code is not even using "i" anywhere.)
 
Tarun Bolla
Ranch Hand
Posts: 89
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Mads Nielsen wrote:

In your code you hardcoded x0, y0 as 1,1. That shouldnt be the case .. You should be iterating over each and every pixel from the screen (I mean your window area) and that each pixel will provide value for x0, y0
For Eg., (As Tim said)
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic