返回列表 回复 发帖
求极值工具---用于计算函数在区间上的极值。

极值工具示范.gsp (14.82 KB)

极值.zip (4.8 KB)

色彩研究---学会探索的方法
在网上查看看一点色彩学的知识,在参考一下画板的参数控制色彩,可以学习如何给轨迹上色。
研究画板中参数控制色彩的方法如下(代数法):
1.创建参数x=1,y=1
2.描点A(X,Y)
3.创建三个参数H=1,S=1,V=1用来控制色彩
4.选中参数H,S,V和点A,打开显示菜单,用参数控制色彩,采用HSV体系。
5.用参数x驱动点A,构建轨迹m
6.选中参数y,构建y运动的动画,并追踪轨迹m。
观察1:
1.改变H,看色彩的变化
2.改变S,看色彩的变化
3。改变V看色彩的变化。
观察2:
设S为一发散到无穷大的数列(这样的数列可以用迭代生成)
1.观察S变化时,轨迹色彩的变化。
2.用ln(S)去减慢S的发散速度,再次观察色彩变化
3.用e^S加快S 的发散速度,再次观察色彩的变化
4.用周期函数如,sin(S),观察色差的变化。
观察3
s充分大(10^100以上),或s=undefined时,观察色彩的变化。这是就可以实现图象的挖空。从图象中挖空一个圆,一个椭圆都可以办到。
等等,时间关系,不再细说,只是把探索的思路些出来。喜欢的网友可以按着个方法自己去探究,必有收获。
当然从探索的难易度来看,应该先探索单参数上色,然后才去探索三参数上色。掌握探索方法比掌握现成的结论更实用。
通常我们是用一条曲线去表示函数的图像,换一个角度思考,函数的图象为什么不能用色彩表示呢?从逻辑上看看它们是等价的。
因此可以说:上色就是用色彩表示函数的图象(或者说函数的图象就是色彩!只要跳出函数的图象就是曲线这种惯性思维,上色就会明了起来)。当然,不同的函数就有不同的图象了,
增函数,减函数,摆动函数,周期函数,对称函数,有界函数,无界函数各有各的色彩图象,各有各的美丽。
探索比知道结论更有趣。
在探索绘制函数的色图时,最好是把参数控制色彩面板的值左端点设置值<右端点设置值,这样观察函数的色图才更为方便。



-10^x从接近于0变化到 -∞的速度太快,所以函数的色图出现了粉红跳到纯白的突然跳跃。如果选用值变化比较缓慢的减函数,色彩的过度就会变的平滑起来。
上面的例子全是代数法作的:工具在这里叫fractal-tool(分形工具):http://www.inrm3d.cn/viewthread. ... age%3D1&page=12
其实就是一个简单的相似变换。可以放到成千上万倍。其实根本不用打造工具直接做就是了。
-------------------------------------------------------------------

学习HSV上色--扫描法画球
---------------------
test.gsp (20.04 KB)
test3.gsp (20.71 KB)
test4.gsp (26.72 KB)
函数的色图.gsp (33.46 KB)
学习心得:研究上色方法如下:
1。用函数控制颜色参数
2.作出函数图象和函数的色图,并调出颜色控制面板对比函数的色图观察研究:函数值-->色相(或饱和度或亮度)之对应关系。(把色图看出函数的图象来理解)
3.阶梯函数的色图有一种跳跃感,典型的阶梯函数是truanc(x),周期函数的色图表现为周期性的变化,奇偶函数的色图有种对称性。y=(x-1)^2的色图关于x=1对有着某种对称性。
当然函数的色图与自变量的走势有关。利益阶梯函数的跳跃性可以创建有立体感的断裂色图。
4.画色图时要注意两个特殊的数据类型:∞,undefined.把这两个数据类型引入到色图中会有一些特殊的效果。
5.GSP中的无穷大指的是>10^308这样的数。
6.当把增函数,减函数,周期函数,凸函数,多项式函数,阶梯函数的色图都作了一遍后,对函数的色图的理解就进了一层。
7.对点(x,y)加入变换,观察色图的变化。
8.注意颜色面板中色宽范围的设置。这依赖于对函数值域的了解。以就是说画色图前首先要了解函数的值域,这才可以设置颜色面板的色宽,否则制作的色图自己都解释不了为什么会那样显示。
上色变的不受控制了。
9.所谓逃逸:指的是一个点P在平面上运动,当时刻t∈[a,b]时,点P不在区域A内,就说点P逃逸出了区域A.这是借鉴了计算机算法的说法。并无什么精确的定义。

test2.gsp (20.04 KB)

学习HSV上色.gsp (6.19 KB)

奇周期函数的色图.gsp (5.35 KB)

函数的值映射到色 观察对应关系.gsp (19.75 KB)

用HSV体系给分形上色
把初象距离,象距离,逃逸距离分配给H,S,V从而完成上色。


上图中误把初象距离sqrt((x-xn)^2+(y-yn)^2)标成了象距离。极限点可以打开文件,点击文件的按钮Hide others,此时会看到大量的小红点汇聚的地方,那里就是强调的地方,即分配给它高光。上一张图片强调的是原点,所以高光分配给了原点,上一张图片的初象距离为:sqrt(x^2+y^2). 两张图片的初象距离计算不全同,这主要是强调的地方不同所致,一句话强调那里就计算到那里的距离,把这个初象距离分配给高光就是用高光强调它,如果分配给饱和度S,那就是用饱和度去强调它,如果分配给色相H,那么被强调的地方的颜色就需要看标准色带图才知道是什么颜色了。标准色带图要自己做,p12页的分形工具中有。其实就是上楼中的色彩研究方法。工具其实并不是必须的。饱和度也就是灰度,饱和度越大灰度越小就是白粉越少,饱和度越小灰度越大,就是白粉越多。用高光和饱和度做为强调的要素是比较方便的,而用色相的冷热去强调是符合美学观点的。颜色面板上带宽的设置是一个技巧,设置多宽我想这需要经验的,我没这方面的经验。上面的几张图片都是同一个画板文件做的,只是上色的参数不一样。第一张的色宽设置的小只有0.几个宽,,第二张的色宽设置的也小,第三张的色宽设置的较大大概是0~1之间吧。这种距离上色的办法可以推到普通的轨迹上色上去。
如果有时间我真想写一篇《一起学分形》的帖子,可惜没这么多时间。

=============================
代数法扫描 J,M集合方法
======或P12 fractal tool============

用初象距离,象距离,逃逸距离上色.gsp (17.86 KB)

强调极限点.gsp (20.86 KB)

下一步将分析f(z)=z^2+c作用在园上,其象是什么形状,象在哪里?
这个问题的分析是了解全域作图的关键,全域作图是为了上背景色,变换f作用在圆上的象就是等势线,等势线的变化规律有必要去探索,如何探索,下次再讨论。
其实在这里也有初步的图象探索了:http://www.inrm3d.cn/viewthread. ... age%3D1&page=11
1.研究复变函数w=f(z)始终要用两个平面,一个是描述原象的z平面,一个是描述象的w平面。
2.画板中在研究复变函数时这两个平面被合在了一起。这读大学时教材都是这么处理的。
3.在z平面内一簇曲线,被w作用映射到了w平面,得到w平面内的一簇同心圆,它们就叫f(z)
的等势线。即|f(z)|=r这个条件得到满足是复平面内的点z的轨迹就是等势线。

数学分析中的等势线定义:曲面Σ:z=f(x,y)与z=k的交集,投影到xy平面叫Σ的等势线。
等势线上任取一点p,则f(p)=k。
复变函数中等势线的定义:设w=f(z)的反函数为w=g(z),如果g(z)把一簇不相交的同心圆映射成不相交的曲线系C,
就说曲线簇C是函数f(z)的等势线。显然f将把等势线映射成一簇同心圆。所以在同一等势线上,f(z)的模为常量。
这样就可以得到复变函数f(z)的等势线的等价定义:w=f(z)的模为常量,z的轨迹就构成了f的一条等势线。
上面的文件就演示了Julia集合的等势线。这是用等势线逼近J集合的方法。
Julia集合的等势线定义:设f(z)d的反函数是g(z),g经过n迭代后记成g^n(z),圆进gn次迭代后的象叫Julia的等势线。
这个定义等价于:如果曲线C由f(z)迭代n次成为圆,即|f^n(z)|=r,就说z的轨迹,即曲线C为Julia的等势线。
上图(可以看文件)是迭代三次的等势线。点w(看文件)就在等势线上,看以看到满足|f^3(z)|=r.
J集合的等势线不是说|f(z)|=r,是f经n次迭代后的象的模为常量。有一点要注意,在上面作图中 -c,才是通常意义下的c。可以改过来。
用这个方法,可以进一步的研究其它圆锥曲线经n次迭代后的象长什么样子。
如果你追踪黄色的等势线,拖动相应的圆,等势线将被显示,那种流线的感觉,如流体力学中的图形很美,很受用。那种流线是圆经2个压缩映射迭代后的结果。
定理(最大模定理):有界闭集上的复变函数的最值被边界点决定,等势线这个可以用来估计f^n(z)的
模sqrt(xn^2+yn^2)值域,这个值域可以用来参考上色,以填入颜色面板。

等势线概念演示.gsp (16.59 KB)

Julia集合的一种作图

Julia 一种作图方式.gsp (6.91 KB)

Julia 集合的迭代作法
  ----由跌代10次图中含有点4092个点组成的Julia集合
  这个例子说明边界才是J集合。J集合不是内部部分。这个作法可以快速的演示J集合的形状,对于了解
不同的c值对应不同的J集合大有帮助。而且跌代6次就可以显示J集合的形状了。而且还可以观察轨道。
稳定和混沌都得到了较好的显示。
终于算清楚点数了:
迭代次数是n时,
图中含点4(2^n-1)这个跌迭代好玩,出现了一个准确计数问题,这在分形中是第一次提出来。.
如果追踪迭代象,就可以显示等势线。而且势值=圆半径。
终于找到了J集合边界的作法了----用等势线去逼近它。
这个作图解决了Julia集合的抽象问题,让J集合由抽象走入视线。同时从IFS的角度看,这个作图说明了J集合是压缩映射
{w=sqrt(z-c),w=--sqrt(z-c)}作用的结果,J集合是这个压缩映射的吸引子。图中的红色部分才是J集合,里面的不是J集合。
这里的例子验证了关于J集合的一个定理:f(J)=f^-1(J)

Julia Iterate.gsp (5.15 KB)

代数法 用等势线逼近J集合.gsp (7.15 KB)

f的反函数对圆锥曲线的n次迭代象是什么样子?.gsp (7.06 KB)

再次探索着色问题
一.着色探索的方法
1.要研究着色首先要有一套研究的方法,这里要研究的参数对色彩的控制,采用的是扫描法(当然轨迹着色也是一样的)
2.准备:
a.创建参数x=1,y=1
b.创建动画按钮:运动参数y(右键属性把范围设置成-2~2)
c.再次创建参数H=1
e.描绘点A(X,Y),并创建隐藏A的按钮。
f.选中点A和参数H,打开显示菜单,按下shift,点击颜色命令,进入参数控制颜色,选中
灰度着色模式,并把颜色宽度设置成0~1.ok。
g.选中点A和y构建轨迹,并通过编辑菜单下的追踪命令,追踪这个轨迹。
实验:按动按钮y,扫描的灰度色出现了。
以后的探索将反复运用这个方法,所以最好是把上面的文件作出工具,可以取名叫color(param)
(color--颜色,param--参数)下次要用只要修改参数就可以了。
注:记esc=sqrt(x^2+y^2),这个参数描述了动点A到原点的距离,称为距离函数。
第一个探索:画球
效果如下:

这个球不是圆形扫描线画的,是线性扫描线画的,它的高光不在正中间,那么这个球是探索出来的呢?
首先,我看待着色是两个函数的复合,
函数1:A-->f(A),其值域是V
函数2:t-->COLOR(色,不是数)(t∈[0,1],有颜色面板确定)
着色即是映射:A-->f(A)--color.
如果集合V比【0,1】大,那么起作用的是[0,1],超出部分的值将以常色显示,如果V比[0,1]小,起主要作用的是V。
下面将逐步完成画球探索;
A.----黑色的圆
计算esc=sqrt(x^2+y^2),并编辑H的值为esc。
用H对点A上色,并构建x驱动A的轨迹,并追踪它,运动y扫描,得下图
看起来有点失望,一块黑饼。不要急,慢慢来。

分析为什么是这样一个黑饼?
1.x,y∈[-2,2],所以esc∈v=[0,2],而颜色面板设置的色宽D=[0,1],显然D是v的子集。
想想复合函数:P-->f(P)-->COLOR.马上就知道,超出D的值将以常色显示。
具体的讲究是超过1的那部分值将以白色显示,所以我们看到了一个半径为一的黑圆。
2.由于距离函数为esc=sqrt(x^2+y^2),这个函数也可以写成esc=r(r是圆半径),显然
esc关于r是增函数,其值由0递增到1,再由1递增到2.所以在函数f(P)--->COLOR的作用下
,颜色将从纯黑(0)渐变到白(1),越过值1后将是常色,此时的常色就是白色。
这就是我们看到一个半径为1的黑圆的原因。
返回列表