返回列表 回复 发帖
今天想在UF中重新找一分形来重温一下,发现UF中也有此坛梅老师所述的圆陷阱类似分形。它又是如何制作的呢?

Fractal1.jpg (94.76 KB)

Fractal1.jpg

在UF的pwc.ufm中
TbNewtMset1 {
; Paul Carlson
init:
    bool first = TRUE
    bool done = FALSE
    float Phi = #pi * 0.125
    float Rc = real(@R)
    float Rm = Rc/sin(Phi);
    float Py = Rm*sin(Phi+Phi)
    float Px = Rm*cos(Phi+Phi)
    float RcSqd = Rc*Rc
    int iter = 0
    complex C = #pixel
    W = sqrt((1 - C)/6)
    #Z = (250,0)
loop:
    complex W2 = W * W
    complex W3 = W * W2
    complex W4 = W * W3
    complex Err = (W4 + (C-1)*W2 - C)/(4*W3 + 2*(C-1)*W)
    W = W - Err
    IF ((abs(cabs(W) - Rm) < Rc) && first == FALSE)
        float X = real(W)
        float Y = imag(W)
        float Xabs = abs(X)
        float Yabs = abs(Y)
        float Dsqd0 = Xabs*Xabs+(Yabs-Rm)*(Yabs-Rm)
        float Dsqd1 = (Xabs-Px)*(Xabs-Px)+(Yabs-Py)*(Yabs-Py)
        float Dsqd2 = (Xabs-Rm)*(Xabs-Rm)+Yabs*Yabs
        IF (Dsqd0 < RcSqd)
            done = TRUE
            float ZtoPsqd = Dsqd0
            IF (Y >0 )
                float Circle = 0
            ELSE
                Circle = 4
            ENDIF
        ELSEIF (Dsqd1 < RcSqd)
            done = TRUE
            ZtoPsqd = Dsqd1
            IF (Y > 0 && X > 0)
                Circle = 1
            ELSEIF (Y < 0 && X > 0)
                Circle = 3
            ELSEIF (Y < 0 && X  < 0)
                Circle = 5
            ELSE
                Circle = 7
            ENDIF
        ELSEIF (Dsqd2 < RcSqd)
            done = TRUE
            ZtoPsqd = Dsqd2
            IF (X > 0)
                Circle = 2
            ELSE
                Circle = 6
            ENDIF
        ENDIF
    ENDIF
    IF (done == TRUE)
        float Ratio = sqrt(ZtoPsqd/Rcsqd)
        #Z = 29.0 * Ratio + Circle * 30.0
    ELSEIF (|Err| < 0.000001)
        done = TRUE
        IF (iter % 2 == 0)
            #z = 254
        ELSE
            #z = 253
        ENDIF
    ENDIF
    first = FALSE
    iter = iter + 1
bailout:
    done == FALSE

default:
    title = "Tangent Balls Newton Mset"
    maxiter = 3000

    param R
    caption = "Circle radius"
    default = 0.2
    hint = "The radius of the trap circles."
  endparam
}
如何实现这种效果的着色?随着学习的深入,一些看似不可思议的分形图经过坛友们的共同努力在几何画板中都得到实现。这种拟3D图一直努力均无果,再次提出该问题,希望能通过大家的共同努力让几何画板能实现或至少能达到类似效果:

Lighting.jpg (45.95 KB)

Lighting.jpg

一张张精美的图片给人以“路漫漫其修永矣,吾将上下而求索!”



这一张真绝了:
49# xiaongxp


我在UF中尝试发现它是在特殊方式着色后把逃逸半径加大使逃逸区呈光滑状,但是几何画板如果加大逃逸半径后迭代终点就因为数据太大而溢出了。

Fractal1.jpg (54.64 KB)

Fractal1.jpg

Fractal2.jpg (37.94 KB)

Fractal2.jpg

就是没办法把前后et层的同色对齐并使其光滑。不过好象进了一步了。
返回列表