Geogebra里给含有曲线和直线混合边界的封闭区域填充颜色
目的
用Geogebra绘制如图所示曲线,并填充如图边界的区域为实心;
用代码实现当然是可以的,但是,图形过于简单的时候用代码就不经济了;因为每一个细小变动都还要调整修改代码并预览,非所见即所得,往往不如交互式绘图方便。
为了实现这幅样本图,代码写了下面这么老长,还是调整加预览反复半天之后的效果:
Plot[x^2,{x,0,1},PlotStyle->Red,Epilog->{Dashed,Green,Thickness->0.0005,Line[{{1,0},{1,1},{0,1}}],Blue,Line[{{0,1/4},{1,1/4}}]},Filling->0.25,FillingStyle->Directive[Blue,Opacity[0.38]],AxesStyle->Arrowheads[.035],PlotRangePadding->Scaled[.1],AspectRatio->1,AxesLabel->(Style[#,Black,24,FontFamily->"Times New Roman",Italic,Bold]&/@{"x","y"}),TicksStyle->Directive[Black,16,FontFamily->"Arial"],ImageSize->500,Ticks->{(Range[11]-1.)/10, Automatic}]
尝试
Locus
命令失效:
Geogebra 中 Locus
命令通常是填充不规则的包含曲线边界在内的区域的推荐命令,大致是:
1. 按照特定的时针顺序定义一个封闭的list,用”{“+”}”包围即可,或用Sequence[]
定义;
2. 然后用Point[list,0~1]
赋值给一个点
3. 再定义一个点等于此点Y=X
(很诡异,一直不明白怎么回事);
4. 最后用locus[]
命令: Locus[X,Y]
或Locus[Y,X]
就可以了。
这样定义的Locus内封闭的区域可以当作一个单独的对象来使用,对它可以完成颜色、边界、内部纹理等各种填充操作。
但是,这个不看youtube视频或其它类似的flash教程是不容易理解其实现方法的,因为很无厘头。
总而言之,以前的三原色图就是通过LOCUS函数或命令这么弄的(三个圆互相两两交心,然后对相交的每个封闭区域都着不同的单色复色)。
不过这次用同样的方法居然不行了,弄出来的效果如下:
这说明至少目前版本里的Locus
命令的缺陷漏洞很多。不知道它的原理如何、到底如何实现的。估计可以包围的区域跟曲线的曲率半径以及默认的法线正方形有关系。总之是不完美的。
经过Rami(Raymond)提示,改用自定义函数加IntegralBetween
结合使用,定义积分区间作为填充区域的方式发现可行。步骤:
1. 定义上下边界为不同的函数,比如 f(x)=x^2, g(x)=0.25
2. 然后用IntegralBetween[ f, g, 0, 0.5]
定义的是左边积分对应的面积, 而 IntegralBetween[g,f,0.5,1]
对应于右边的面积区域;
这样定义的封闭区间也可以作为单独的图形对象进行填充操作。
不论如何,Geogebra里面这功能比几何画板强。
版权声明:本文为博主原创,转载请注明出处。