- UID
- 4723
- 帖子
- 752
- 精华
- 5
- 积分
- 1778
|
球面光照上色---突破无极限
参考柳烟发的陈创义的迭代,作品请下载本页的附件。
老师们对数列都很熟悉,我想只要抓住了f(k)的周期性,咱们想怎么递推就怎么递推。而不在受限于表达式。挺奇怪陈创义的个人网站,我试着进入没一次成功,也不知道你们是怎么进入的,郁闷。
另:由于变换上可以追加迭代,所以我们只要在迭代前选择a,b,c,d四点,并按下3d-7b坐标系的ctrl+1,变把这个小正方形映射到了3d-7b系统的xy
平面。这时如果进行相应的代数迭代,这个迭代将自动传送到3d-7b坐标系中去。
和平面迭代完全类似,可以直接在3d-7b中迭代小正方体。
请记住:陈创义的迭代在本质上就是对一个我们大家都非常熟悉的一个数列:
a(1)=c,a(k+1)=a(k)+1的变种,他借助于周期为T的数列f(k)=trunc(k/T)-trunc((k-1)/T)把数列a(k)改变成一个周期是T的数列。并附带的进行了一个递推:b(k+1)=b(k)+f(k),这就是陈创义迭代的核心点。
如果把上面的两个数列修改,可以变成小数步长0.2:
a(k+1)=a(1)-[Tf(k)-1]/5
b(K+1)=b(1)+f(k)/5
根据f(k)的周期性,上述写法是不难理解的。
利用light工具包中的工具4-gon skin-base in 1side极易给这个迭代球上色,而且光照效果非常逼真。但是初值必须增加一个理论上的无穷小量如0.001度(这是几何画板的程序问题,不是我的问题。),以补全球极点处的洞。 实例看下面的图片。差点忘记了,就是迭代次数请用眼睛看好像,次数太多会覆盖掉前面的像。要保证像无覆盖。这个轻松可以办到。陈创义的迭代法可以迭代上千次不卡,我迭代到了8900次居然还可以在我的单核电脑上运行,不能不佩服陈的迭代,绝了。我给的这个实例迭代过程是先沿z轴迭代,满了一个周期就进入下一个迭代周转,再次沿z轴翻滚迭代。说真的照搬陈的迭代法没必有我们使用期思想就可以了,你只需要抓住其核心f(k)是周期函数即可。我在这里就是这么做的。我在进行迭代时就靠的是这个周期。在跌代时单位选角和弧度都行,我喜欢用角度,所以我在迭代中用的是角度。
正多面体的光照上色比球上色难。
另外把做球的迭代的递推公式做了个小工具repea f(k)
免得每次都去书写递推公式。工具放在了球工具包里:bool-tool,工具脚本的注解上,我做了使用说明。
这里发布的作品为探索过程,不精美。如果你愿意体会这种探索过程,不妨下来试试
|
-
-
跌代方格.gsp (10.32 KB)
探索:步长=1
-
-
跌代方格1 小数步长探讨.gsp (9.88 KB)
探索:步长=0.2
-
-
跌代方格2.gsp (10.85 KB)
步长=1正确的结果:a(k+1)=a(k)+1-Tf(k)
-
-
获取正确的小数步长.gsp (8.56 KB)
正确的小数步长=0.2
-
-
陈创义法迭代球.gsp (97.95 KB)
详解陈创义法迭代球
-
-
给球表面光照填色--light工具包应用.gsp (113.53 KB)
light工具包应用,适当修改φ1的初值,添加0.001度,以补洞。
-
-
迭代虚实线球.gsp (118.2 KB)
虚实线工具hide line(bool),线消隐用sign pl ...
-
-
给光滑表面光照填色--light工具包应用.gsp (114.01 KB)
-
-
迭代方块.gsp (96.2 KB)
关于原点为中心的迭代方块
|