分数加法可视化 by mathspace
几何画板及绘图内容加载中,请稍等……
所属专题
Fracions
①本范例通过动态演示,直观展示分数加法中寻找和运用最小公倍数(LCM)来统一分母的过程;②涉及的核心数学概念包括:分数加法、最小公倍数(LCM)、最大公约数(GCD)、向量、几何变换等;③作图要点:利用GeoGebra命令如Circle(画圆)、LCM(求最小公倍数)、Vector(向量)、Translate(平移)、GCD(求最大公约数)等,构建分数的分子分母、统一分母后的图形表示,并实现动态交互;④适合初中及以上数学学习者,用于理解分数加法原理及几何直观。
GeoGebra 命令及参数
Circle(centerR, radius) → circleRCircle(centerB, radius) → circleBLCM(denominatorR, denominatorB) → LCMdenominatorSequence(Segment[centerR, Rotate[AR, radius°, centerR]], radius, 360 / denominatorR, 360, 360 / denominatorR) → cutRSequence(Segment[centerB, Rotate[AB, radius°, centerB]], radius, 360 / denominatorB, 360, 360 / denominatorB) → cutBSequence(CircleSector[centerR, Rotate[AR, radius°, centerR], Rotate[AR, (radius + 360 / denominatorR)°, centerR]], radius, 0, (360 / denominatorR * numeratorR) - 360 / denominatorR, 360 / denominatorR) → shadeRSequence(CircleSector[centerB, Rotate[AB, ((-radius) - 360 / denominatorB)°, centerB], Rotate[AB, ((-radius))°, centerB]], radius, 0, (360 / denominatorB * numeratorB) - 360 / denominatorB, 360 / denominatorB) → shadeBSequence(Segment[centerR, Rotate[AR, radius°, centerR]], radius, 0, 360, 360 / LCMdenominator) → cutLCMRSequence(Segment[centerB, Rotate[AB, radius°, centerB]], radius, 0, 360, 360 / LCMdenominator) → cutLCMBVector(centerB, A) → uVector(centerB, B) → vTranslate(circleB, Vector[(showfinal * u)]) → total0Translate(cutLCMB, Vector[(showfinal * u)]) → cuttotal0Sequence(CircleSector[centerB, Rotate[AB, ((-radius) - 360 / denominatorB)°, centerB], Rotate[AB, ((-radius))°, centerB]], radius, 0, (360 / denominatorB * numeratorB) - 360 / denominatorB, 360 / denominatorB) → ETranslate(shadeB, Vector[(showfinal * u)]) → FSequence(CircleSector[centerB, Rotate[AB, radius°, centerB], Rotate[AB, (radius + 360 / denominatorR)°, centerB]], radius, 0, (360 / denominatorR * numeratorR) - 360 / denominatorR, 360 / denominatorR) → HTranslate(H, Vector[(showfinal * u)]) → IVector(centerB, J) → wTranslate(circleB, Vector[(showfinal * w)]) → DTranslate(cutLCMB, Vector[(showfinal * w)]) → KSequence(CircleSector[centerB, Rotate[AB, radius°, centerB], Rotate[AB, (radius + 360 / LCMdenominator)°, centerB]], radius, ((LCMdenominator - LCMnumeratorB) * 360 / LCMdenominator), (360 / LCMdenominator * (M + LCMdenominator - LCMnumeratorB - 1)), 360 / LCMdenominator) → NTranslate(N, Vector[(showfinal * v)]) → OGCD(LCMnumerator, LCMdenominator) → PTranslate(circleB, Vector[(showfinal * u)]) → CTranslate(cutLCMB, Vector[(showfinal * u)]) → QSequence(CircleSector[centerB, Rotate[AB, radius°, centerB], Rotate[AB, (radius + 360 / LCMdenominator)°, centerB]], radius, (LCMnumeratorB * 360 / LCMdenominator), (360 / LCMdenominator * (LCMnumeratorR - 1)), 360 / LCMdenominator) → RTranslate(R, Vector[(showfinal * u)]) → SSequence(CircleSector[centerB, Rotate[AB, radius°, centerB], Rotate[AB, (radius + 360 / denominatorB)°, centerB]], radius, 0, (360 / denominatorB * numeratorB) - 360 / denominatorB, 360 / denominatorB) → TTranslate(circleB, Vector[(showfinal * v)]) → UTranslate(cutLCMB, Vector[(showfinal * v)]) → V