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]赋值给一个点 X <script id="MathJax-Element-7" type="math/tex">X</script>,则点在边界上;
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]对应于右边的面积区域;

这样定义的封闭区间也可以作为单独的图形对象进行填充操作。

这里写图片描述

但用IntegralBetween制作三原色图需要定义6个函数和14次积分:
这里写图片描述
不论如何,Geogebra里面这功能比几何画板强。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值