GijsB wrote:Thanks for all of your help Kraftman!!
My pleasure.
Good night.
GijsB wrote:Thanks for all of your help Kraftman!!
Code: Select all
resolution =2
size = 300
kt = 50
m = 4.0
xmin = 2.1
xmax = -0.6
ymin = -1.5
ymax = 1.5
dx = (xmax-xmin)/size
dy = (ymax-ymin)/size
pixels = {}
function run()
pixels = {}
function MainCalculation(jx, jy, wx, wy, k)
local tx = wx*wx-(wy*wy+jx)
local ty = 2.0*wx*wy+jy
if tx*tx+ty*ty<=m and k<kt then
return MainCalculation(jx, jy, tx, ty, k + 1)
end
return k
end
for x = 0,size,resolution do
local jx = xmin+x*dx
for y = 0,size,resolution do
local jy = ymin+y*dy
table.insert(pixels,{X = x, Y = y, C = MainCalculation(jx, jy, 0, 0, 0)})
end
end
end
run()
function love.draw()
for i,v in pairs(pixels) do
love.graphics.setColor( -v.C, -v.C, -v.C, 255 )
love.graphics.rectangle("fill",v.X,v.Y,resolution,resolution)
end
end
function love.keypressed(k)
if k == "d" then
xmin = xmin*0.9
xmax = xmax*0.9
run()
elseif k == "a" then
xmin = xmin/0.9
xmax = xmax/0.9
run()
elseif k == "s" then
ymin = ymin*0.9
ymax = ymax*0.9
run()
elseif k == "w" then
ymin = ymin/0.9
ymax = ymax/0.9
run()
elseif k == "q" then
xmin = xmin*0.9
xmax = xmax*0.9
ymin = ymin*0.9
ymax = ymax*0.9
dx = (xmax-xmin)/size
dy = (ymax-ymin)/size
run()
elseif k == "e" then
xmin = xmin/0.9
xmax = xmax/0.9
ymin = ymin/0.9
ymax = ymax/0.9
dx = (xmax-xmin)/size
dy = (ymax-ymin)/size
run()
end
end
you forgot to update dx and dyGijsB wrote:oh god i cant fix it, this is what i have now =
Code: Select all
resolution =2 size = 300 kt = 50 m = 4.0 xmin = 2.1 xmax = -0.6 ymin = -1.5 ymax = 1.5 dx = (xmax-xmin)/size dy = (ymax-ymin)/size pixels = {} function run() pixels = {} function MainCalculation(jx, jy, wx, wy, k) local tx = wx*wx-(wy*wy+jx) local ty = 2.0*wx*wy+jy if tx*tx+ty*ty<=m and k<kt then return MainCalculation(jx, jy, tx, ty, k + 1) end return k end for x = 0,size,resolution do local jx = xmin+x*dx for y = 0,size,resolution do local jy = ymin+y*dy table.insert(pixels,{X = x, Y = y, C = MainCalculation(jx, jy, 0, 0, 0)}) end end end run() function love.draw() for i,v in pairs(pixels) do love.graphics.setColor( -v.C, -v.C, -v.C, 255 ) love.graphics.rectangle("fill",v.X,v.Y,resolution,resolution) end end function love.keypressed(k) if k == "d" then xmin = xmin*0.9 xmax = xmax*0.9 run() elseif k == "a" then xmin = xmin/0.9 xmax = xmax/0.9 run() elseif k == "s" then ymin = ymin*0.9 ymax = ymax*0.9 run() elseif k == "w" then ymin = ymin/0.9 ymax = ymax/0.9 run() elseif k == "q" then xmin = xmin*0.9 xmax = xmax*0.9 ymin = ymin*0.9 ymax = ymax*0.9 dx = (xmax-xmin)/size dy = (ymax-ymin)/size run() elseif k == "e" then xmin = xmin/0.9 xmax = xmax/0.9 ymin = ymin/0.9 ymax = ymax/0.9 dx = (xmax-xmin)/size dy = (ymax-ymin)/size run() end end
That's my point. It's only because you aren't adding the dx and dy that you can't see that what you are doing is wrong.GijsB wrote:kraftman, thanks but no,
when you update the dx and dy when changing your look from left to right, up and down, you change the size of the mandelbrot, not the look, test it out yourself
Code: Select all
xmin = xmin*0.9
xmax = xmax*0.9
run()
GijsB wrote:but how do i move up and down then 3:?
( or i dont understand you again, sorry )
Code: Select all
if tx*tx+ty*ty<=m and k<kt then
Users browsing this forum: No registered users and 2 guests