返回列表 回复 发帖
未命名.jpg
Smooth (Mandelbrot).gsp (45.19 KB)
前30#代码精简成:
bezier-curve {

init:
  float x0=real(@z0)
  float y0=imag(@z0)
  float x1=real(@z1)
  float y1=imag(@z1)
  float x2=real(@z2)
  float y2=imag(@z2)
  float x3=real(@z3)
  float y3=imag(@z3)
  float cx=3*(x1-x0)
  float bx=3*(x2-x1)-cx
  float ax=x3-x0-cx-bx
  float cy=3*(y1-y0)
  float by=3*(y2-y1)-cy
  float ay=y3-y0-cy-by
  float t=0.0
  float r=0.0
  float x=0.0
  float y=0.0
  float u=0.0
  float v=0.0
  float rmin=1.0e20
loop:
  u=real(#z)
  v=imag(#z)
  t=0.0
  while(t<=1.0)
    x=((ax*t+bx)*t+cx)*t+x0
    y=((ay*t+by)*t+cy)*t+y0
    r=(x-u)*(x-u)+(y-v)*(y-v)
    if(r<rmin)
      rmin=r
    endif
    t=t+@dt
  endwhile
final:
  #index=rmin^@nexp
default:
  title="Bezier Curve"
  helpfile="lkm-help\lkm-bezier.html"
  param z0
    caption="1st anchor point"
    default=(1.0,0.0)
    hint="Curve starts at this point."
  endparam
  param z1
    caption="1st control point"
    default=(1.0,1.0)
    hint="Influences the shape of the curve."
  endparam
  param z2
    caption="2nd control point"
    default=(0.0,0.0)
    hint="Influences the shape of the curve."
  endparam
  param z3
    caption="2nd anchor point"
    default=(0.0,1.0)
    hint="Curve ends at this point."
  endparam
  param dt
    caption="step size"
    default=0.1
    hint="Decrease for smoother line, increase \
      to see dots.  Should be between 0 & 1."
    min=0.0
    max=1.0
  endparam
  param nexp
    caption="power"
    default=0.1
    min=0.0
    hint="Decrease to make thinner lines. Use \
      with 'minimum distance' coloring."
  endparam
}
我今天重作此特效,结果比原先作的还不如.
未命名.jpg
Fractalia I.gsp (19.74 KB)
未命名.jpg
Sierpinski 01 Julia.gsp (47.01 KB)
1楼相类的几个特效,早先算法复杂,用画板弄时处于探索的初级阶段,现在回过头去看,发现算法中,进行了无用的迭代,导致扫图缓慢,今造好模板后,你只要将z或c的初值,或z或c迭代后的终值,替换模板中的z[x]与z[y],并通过改变模板中每小部分图案的大小,或改变图案旋转角度大小的参数,即可,方便快捷许多。
CheckerBoard(特效作色).gsp (9.87 KB)
将模板中的数据复制粘贴到你以前弄好的任一M与J集中,按楼上说的弄,迅速得到各种特效。现扫几幅图:
2.jpg
4.jpg
1.jpg
5.jpg
9.jpg
11.jpg
亲吻:
未命名.jpg
柳烟休闲作品、
问题:上楼的图形旋转90度后的两乌龟亲吻场面,也容易得到。如何将两个场景合为一个场景,得到四个乌龟沟通的场景?用数学变换作,我今天研究四乌龟时,遇到这个难题。
柳老师试试我的n倍轴对称变换工具吧。
新建图片.jpg
返回列表