Geogebra里给带有曲线和直线混合边界的封闭区域填充颜色

Posted phlsheji

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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,则点在边界上;
3. 再定义一个点等于此点Y=X (非常诡异,一直不明确怎么回事);
4. 最后用locus[]命令: Locus[X,Y]Locus[Y,X]就能够了。

这样定义的Locus内封闭的区域能够当作一个单独的对象来使用,对它能够完毕颜色、边界、内部纹理等各种填充操作。

可是,这个不看youtube视频或其他相似的flash教程是不easy理解事实上现方法的,由于非常无厘头。


总而言之,曾经的三原色图就是通过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里面这功能比几何画板强。















以上是关于Geogebra里给带有曲线和直线混合边界的封闭区域填充颜色的主要内容,如果未能解决你的问题,请参考以下文章

使用 QPainter 绘制带有渐变边缘的直线和曲线

geogebra中如何将运算的数值显示在绘图区?

在 OpenCV 中识别曲线和直线对象

矿藏估价

MATLAB中怎么求两条曲线的交点并标注

使用matplotlib在python中绘制曲线决策边界