haskell,想用一些定义的函数来画曼德尔布罗特,需要解释

haskell, figuring use some defined function to draw the mandelbrot, need explanation

我写了几个函数,需要用在函数 mandelbrot 中来绘制它,这里是:

# sp that takes integer n, element y, list xs. insert the specified element y after every n elements.
sp 1 'a' ['b','c','d'] = ['b','a','c','a','d','a']

# plane that gives (x/r,y/r) where x and y are int, -2<x/r<1,-1<y/r<1.
plane 1 = [(-2.0,-1.0),(-1.0,-1.0),(0.0,-1.0),(1.0,-1.0),(-2.0,0.0),(-1.0,0.0),(0.0,0.0),(1.0,0.0),(-2.0,1.0),(-1.0,1.0),(0.0,1.0),(1.0,1.0)]

# orbit, 同题:Haskell infinite recursion in list comprehension

print(take 3 (orbit(2,1))) = [(2,1),(5,5),(2,51)]

#查找,本题同理L

print(find 0.4 [(0.15,'#'),(0.5,'x'),(1,'.')]) == 'x' ## >all will print char ' '

所以我尝试使用 sp、plane、orbit 和 find,这四个函数和一个名为 norm 的新函数,计算点与原点的距离:

norm (x,y) = x*x + y*y

现在是我的问题:

我不太清楚应该做什么以及为什么这样做,所以我想我会先使用平面到所有点,然后使用轨道打印带有点的列表?在此之后,我该怎么办?任何人都可以解释一下每个功能的这些关系以及我应该做什么吗?

单独的代码或解释即可。 mandelbrot 函数应该绘制一些看起来像 mandelbrot 包含 '#' 'x' '.' 的东西。和“ ”。

我想通了。

所以我需要做的是:

-- find all points using plane r
-- using orbit list comprehension to take the orbit with one point at index i
-- using norm(x,y) to calculate the distance of orbit to the original
-- using find to give the list of char
-- finally using sp to put character with 'n'
-- all these stuff can using the list comprehension combine together.

仅供想知道如何解决此问题的任何人使用。