使用比例调配颜料
几何画板及绘图内容加载中,请稍等……
这个范例通过使用比例来调配颜料,演示了如何根据给定的比例混合不同颜色的颜料。核心数学概念包括比例和几何构造。通过使用GeoGebra命令如Sequence、If、Segment等,可以直观地展示颜料混合的过程。适合初中及以上学生学习比例和几何作图。
GeoGebra 命令及参数
Sequence(i, i, 0, cupsMax) → mix1cupsGreenSequence(i, i, 0, cupsMax) → mix1cupsWhiteIf(mix1show, ceil(mix1cupsTotal / 2), cupsMax / 2) → cupsModelRowCountSegment(Can1PtMaster, Can1PtTopL) → Can1segLSegment(Can1PtBottomR, Can1PtTopR) → Can1segRConic(Midpoint[Can1PtTopL, Can1PtTopR] + (0, -0.5), Can1PtTopR + (-0.04, 0), Midpoint[Can1PtTopL, Can1PtTopR] + (canWidth / 3, 0.5), Midpoint[Can1PtTopL, Can1PtTopR] + (((-canWidth)) / 3, 0.5), Can1PtTopL + (0.04, 0)) → can1lidConicPolygon(Can1PtMaster + (0, -0.006), Can1PtMaster + (canWidth, -0.006), Can1PtMaster + (canWidth, (canHeight * mix1cupsTotal / ((2 * cupsMax))) - 0.01), Can1PtMaster + (0, (canHeight * mix1cupsTotal / ((2 * cupsMax))) - 0.01)) → can1fillRectGreen, a, b, c, gPolygon(Can1PtMaster + (0, -0.013), Can1PtMaster + (canWidth, -0.013), Can1PtMaster + (canWidth, (canHeight * mix1cupsTotal / ((2 * cupsMax)))), Can1PtMaster + (0, (canHeight * mix1cupsTotal / ((2 * cupsMax))))) → can1fillRectWhite, d, e, f, qConic(Can1PtMaster + (canWidth / 2, (canHeight * mix1cupsTotal / ((2 * cupsMax))) - 0.5), Can1PtMaster + (canWidth - 0.02, (canHeight * mix1cupsTotal / ((2 * cupsMax)))), Can1PtMaster + ((5 / 6 * canWidth), (canHeight * mix1cupsTotal / ((2 * cupsMax))) + 0.5), Can1PtMaster + (canWidth / 6, (canHeight * mix1cupsTotal / ((2 * cupsMax))) + 0.5), Can1PtMaster + (0.02, (canHeight * mix1cupsTotal / ((2 * cupsMax))))) → can1fillTopConicGreenConic(Can1PtMaster + (canWidth / 2, (canHeight * mix1cupsTotal / ((2 * cupsMax))) - 0.5), Can1PtMaster + (canWidth - 0.02, (canHeight * mix1cupsTotal / ((2 * cupsMax)))), Can1PtMaster + ((5 / 6 * canWidth), (canHeight * mix1cupsTotal / ((2 * cupsMax))) + 0.5), Can1PtMaster + (canWidth / 6, (canHeight * mix1cupsTotal / ((2 * cupsMax))) + 0.5), Can1PtMaster + (0.02, (canHeight * mix1cupsTotal / ((2 * cupsMax))))) → can1fillTopConicWhitePolygon((-10, -2.02734), (99.12, -2.02734), (19.12, 97.97266), (-10, 17.97266)) → BackgroundYellow, l, m, n, pPolygon(Can1PtMaster + (-0.1, 0.048), Can1PtBottomR + (0.1, 0.048), Can1PtTopR, Can1PtTopL) → can1fillRectYellowBack, h, i, j, kConic(Midpoint[Can1PtMaster, Can1PtBottomR] + (0, -0.5), Can1PtBottomR, Midpoint[Can1PtMaster, Can1PtBottomR] + (canWidth / 3, 0.5), Midpoint[Can1PtMaster, Can1PtBottomR] + (((-canWidth)) / 3, 0.5), Can1PtMaster) → can1bottomConicPolygon(A, B, C, D, E, F, G) → can1brushColorGreen, a_1, b_1, c_1, d_1, e_1, f_1, g_1Polygon(A, B, C, D, E, F, G) → can1brushColorWhite, a_2, b_2, c_2, d_2, e_2, f_2, g_2Conic(Midpoint[Can1PtMaster, Can1PtBottomR] + (0, -0.45), Can1PtBottomR + (0, 0.1), Midpoint[Can1PtMaster, Can1PtBottomR] + (canWidth / 3, 0.6), Midpoint[Can1PtMaster, Can1PtBottomR] + (((-canWidth)) / 3, 0.6), Can1PtMaster + (0, 0.1)) → can1bottomConicGreenConic(Midpoint[Can1PtMaster, Can1PtBottomR] + (0, -0.49), Can1PtBottomR + (0, 0.05), Midpoint[Can1PtMaster, Can1PtBottomR] + (canWidth / 3, 0.6), Midpoint[Can1PtMaster, Can1PtBottomR] + (((-canWidth)) / 3, 0.6), Can1PtMaster + (0, 0.05)) → can1bottomConicWhiteIf(mix1show, Mix1visualsMasterPt + (5.6 - (0.6 * cupsModelRowCount), setModelVerticalOffset), (4.8, 8)) → Mix1cupsGreenImagesMasterPtIf(mix1show, 1.1, 0.85) → cupImagesSpacingIf(mix1show, Mix1visualsMasterPt + (5.6 - (0.6 * cupsModelRowCount), setModelVerticalOffset), (10.5, 8)) → Mix1cupsWhiteImagesMasterPtIf(mix1show, 1.2, 0.75) → cupImagesHeightPolygon(Mix1visualsMasterPt + (0, tapeDiagramHeight + 0.1), Mix1visualsMasterPt + (If[SelectedElement[mix1cupsGreen] ≥ SelectedElement[mix1cupsWhite], tapeDiagRectModelWidth, (SelectedElement[mix1cupsGreen] * tapeDiagRectModelWidth / SelectedElement[mix1cupsWhite])], tapeDiagramHeight + 0.1), Mix1visualsMasterPt + (If[SelectedElement[mix1cupsGreen] ≥ SelectedElement[mix1cupsWhite], tapeDiagRectModelWidth, (SelectedElement[mix1cupsGreen] * tapeDiagRectModelWidth / SelectedElement[mix1cupsWhite])], (2 * tapeDiagramHeight)), Mix1visualsMasterPt + (0, (2 * tapeDiagramHeight))) → mix1tapeDiagGreenPoly, mix1tapeDiagGreenPolySeg_1, mix1tapeDiagGreenPolySeg_2, mix1tapeDiagGreenPolySeg_3, mix1tapeDiagGreenPolySegPolygon(Mix1visualsMasterPt + (0, 0), Mix1visualsMasterPt + (If[SelectedElement[mix1cupsWhite] ≥ SelectedElement[mix1cupsGreen], tapeDiagRectModelWidth, (SelectedElement[mix1cupsWhite] * tapeDiagRectModelWidth / SelectedElement[mix1cupsGreen])], 0), Mix1visualsMasterPt + (If[SelectedElement[mix1cupsWhite] ≥ SelectedElement[mix1cupsGreen], tapeDiagRectModelWidth, (SelectedElement[mix1cupsWhite] * tapeDiagRectModelWidth / SelectedElement[mix1cupsGreen])], tapeDiagramHeight - 0.1), Mix1visualsMasterPt + (0, tapeDiagramHeight - 0.1)) → mix1tapeDiagWhitePoly, mix1tapeDiagWhitePolySeg_1, mix1tapeDiagWhitePolySeg_2, mix1tapeDiagWhitePolySeg_3, mix1tapeDiagWhitePolySegPolygon(Mix1visualsMasterPt + (0, rectModelVerticalOffset), Mix1visualsMasterPt + (tapeDiagRectModelWidth, rectModelVerticalOffset), Mix1visualsMasterPt + (tapeDiagRectModelWidth, 3 + rectModelVerticalOffset), Mix1visualsMasterPt + (0, 3 + rectModelVerticalOffset)) → mix1rectAreaOutline, mix1rectAreaOutlineSeg_3, mix1rectAreaOutlineSeg, mix1rectAreaOutlineSeg_1, mix1rectAreaOutlineSeg_2SelectedIndex(mix1visualType) → mix1visualTypeSelectedPolygon(Mix1visualsMasterPt + (0, rectModelVerticalOffset), Mix1visualsMasterPt + ((SelectedElement[mix1cupsGreen] * tapeDiagRectModelWidth / mix1cupsTotal), rectModelVerticalOffset), Mix1visualsMasterPt + ((SelectedElement[mix1cupsGreen] * tapeDiagRectModelWidth / mix1cupsTotal), 3 + rectModelVerticalOffset), Mix1visualsMasterPt + (0, 3 + rectModelVerticalOffset)) → mix1rectAreaGreenPoly, r, s, t, h_1Midpoint(Mix1visualsMasterPt, Mix1visualsMasterPt + (tapeDiagRectModelWidth, 3.8)) → Mix1circleModelCenterCircle(Mix1circleModelCenter, circleModelRadius) → mix1circleModelOutlineCircle(Mix1circleModelCenter, circleModelRadius) → mix1circleModelGreenSector2Sequence(Segment[Mix1circleModelCenter, Rotate[Mix1circleModelSectorRefPt, (i * (2 * π / mix1cupsTotal)), Mix1circleModelCenter]], i, 0, mix1cupsTotal - 1, 1) → mix1circleModelDividersCircleSector(Mix1circleModelCenter, Mix1circleModelSectorRefPt, Rotate[Mix1circleModelSectorRefPt, ((1.99999999999999 * π) * SelectedElement[mix1cupsWhite] / mix1cupsTotal), Mix1circleModelCenter]) → mix1circleModelWhiteSectorConic(Can1PtMaster + (canWidth / 2, (canHeight * mix1cupsTotal / ((2 * cupsMax))) - 0.5), Can1PtMaster + (canWidth - 0.02, (canHeight * mix1cupsTotal / ((2 * cupsMax)))), Can1PtMaster + ((5 / 6 * canWidth), (canHeight * mix1cupsTotal / ((2 * cupsMax))) + 0.5), Can1PtMaster + (canWidth / 6, (canHeight * mix1cupsTotal / ((2 * cupsMax))) + 0.5), Can1PtMaster + (0.02, (canHeight * mix1cupsTotal / ((2 * cupsMax))))) → can1fillTopConicWhiteOutlineSequence(Segment[Mix1visualsMasterPt + (0 + i, 0), Mix1visualsMasterPt + (0 + i, tapeDiagramHeight - 0.1)], i, 0, If[SelectedElement[mix1cupsWhite] ≥ SelectedElement[mix1cupsGreen], tapeDiagRectModelWidth, (SelectedElement[mix1cupsWhite] * tapeDiagRectModelWidth / SelectedElement[mix1cupsGreen])], If[SelectedElement[mix1cupsWhite] ≥ SelectedElement[mix1cupsGreen], tapeDiagRectModelWidth / SelectedElement[mix1cupsWhite], tapeDiagRectModelWidth / SelectedElement[mix1cupsGreen]]) → mix1tapeDiagramWhiteDividersSequence(Segment[Mix1visualsMasterPt + (0 + i, tapeDiagramHeight + 0.1), Mix1visualsMasterPt + (0 + i, (2 * tapeDiagramHeight))], i, 0, If[SelectedElement[mix1cupsGreen] ≥ SelectedElement[mix1cupsWhite], tapeDiagRectModelWidth, (SelectedElement[mix1cupsGreen] * tapeDiagRectModelWidth / SelectedElement[mix1cupsWhite])], If[SelectedElement[mix1cupsGreen] ≥ SelectedElement[mix1cupsWhite], tapeDiagRectModelWidth / SelectedElement[mix1cupsGreen], tapeDiagRectModelWidth / SelectedElement[mix1cupsWhite]]) → mix1tapeDiagramGreenDividersSequence(Segment[Mix1visualsMasterPt + (i, rectModelVerticalOffset), Mix1visualsMasterPt + (i, 3 + rectModelVerticalOffset)], i, 0, tapeDiagRectModelWidth, tapeDiagRectModelWidth / mix1cupsTotal) → mix1rectAreaDividersIf(mix1show, 0.75, 0.1) → cupImagesRowsGapSequence(Polygon[Mix1cupsGreenImagesMasterPt + ((cupImagesSpacing * If[i < cupsModelRowCount, i, i - cupsModelRowCount]), If[i < cupsModelRowCount, 0, (-cupImagesHeight) - cupImagesRowsGap]), Mix1cupsGreenImagesMasterPt + ((cupImagesSpacing * If[i < cupsModelRowCount, i + 0.5, i - cupsModelRowCount + 0.5]), If[i < cupsModelRowCount, 0, (-cupImagesHeight) - cupImagesRowsGap]), Mix1cupsGreenImagesMasterPt + ((cupImagesSpacing * If[i < cupsModelRowCount, i + 0.59, i - cupsModelRowCount + 0.59]), If[i < cupsModelRowCount, cupImagesHeight, (-cupImagesRowsGap)]), Mix1cupsGreenImagesMasterPt + ((cupImagesSpacing * If[i < cupsModelRowCount, i - 0.09, i - cupsModelRowCount - 0.09]), If[i < cupsModelRowCount, cupImagesHeight, (-cupImagesRowsGap)])], i, 0, SelectedElement[mix1cupsGreen] - 1, 1) → mix1cupImagesGreenSequence(Polygon[Mix1cupsGreenImagesMasterPt + ((cupImagesSpacing * If[i < cupsModelRowCount, i, i - cupsModelRowCount]), If[i < cupsModelRowCount, 0, (-cupImagesHeight) - cupImagesRowsGap]), Mix1cupsGreenImagesMasterPt + ((cupImagesSpacing * If[i < cupsModelRowCount, i + 0.5, i - cupsModelRowCount + 0.5]), If[i < cupsModelRowCount, 0, (-cupImagesHeight) - cupImagesRowsGap]), Mix1cupsGreenImagesMasterPt + ((cupImagesSpacing * If[i < cupsModelRowCount, i + 0.59, i - cupsModelRowCount + 0.59]), If[i < cupsModelRowCount, cupImagesHeight, (-cupImagesRowsGap)]), Mix1cupsGreenImagesMasterPt + ((cupImagesSpacing * If[i < cupsModelRowCount, i - 0.09, i - cupsModelRowCount - 0.09]), If[i < cupsModelRowCount, cupImagesHeight, (-cupImagesRowsGap)])], i, 0, SelectedElement[mix1cupsGreen] - 1, 1) → mix1cupImagesGreenOutlineSequence(Polygon[Mix1cupsWhiteImagesMasterPt + ((cupImagesSpacing * If[i < cupsModelRowCount, i, i - cupsModelRowCount]), If[i < cupsModelRowCount, 0, (-cupImagesHeight) - cupImagesRowsGap]), Mix1cupsWhiteImagesMasterPt + ((cupImagesSpacing * If[i < cupsModelRowCount, i + 0.5, i - cupsModelRowCount + 0.5]), If[i < cupsModelRowCount, 0, (-cupImagesHeight) - cupImagesRowsGap]), Mix1cupsWhiteImagesMasterPt + ((cupImagesSpacing * If[i < cupsModelRowCount, i + 0.59, i - cupsModelRowCount + 0.59]), If[i < cupsModelRowCount, cupImagesHeight, (-cupImagesRowsGap)]), Mix1cupsWhiteImagesMasterPt + ((cupImagesSpacing * If[i < cupsModelRowCount, i - 0.09, i - cupsModelRowCount - 0.09]), If[i < cupsModelRowCount, cupImagesHeight, (-cupImagesRowsGap)])], i, 0, If[mix1show, mix1cupsTotal, SelectedElement[mix1cupsWhite]] - 1, 1) → mix1cupImagesWhiteFillSequence(Polygon[Mix1cupsWhiteImagesMasterPt + ((cupImagesSpacing * If[i < cupsModelRowCount, i, i - cupsModelRowCount]), If[i < cupsModelRowCount, 0, (-cupImagesHeight) - cupImagesRowsGap]), Mix1cupsWhiteImagesMasterPt + ((cupImagesSpacing * If[i < cupsModelRowCount, i + 0.5, i - cupsModelRowCount + 0.5]), If[i < cupsModelRowCount, 0, (-cupImagesHeight) - cupImagesRowsGap]), Mix1cupsWhiteImagesMasterPt + ((cupImagesSpacing * If[i < cupsModelRowCount, i + 0.59, i - cupsModelRowCount + 0.59]), If[i < cupsModelRowCount, cupImagesHeight, (-cupImagesRowsGap)]), Mix1cupsWhiteImagesMasterPt + ((cupImagesSpacing * If[i < cupsModelRowCount, i - 0.09, i - cupsModelRowCount - 0.09]), If[i < cupsModelRowCount, cupImagesHeight, (-cupImagesRowsGap)])], i, 0, If[mix1show, mix1cupsTotal, SelectedElement[mix1cupsWhite]] - 1, 1) → mix1cupImagesWhiteOutlineTextfield(mix2green) → mix2greenInputBoxTextfield(mix2total) → mix2totalInputBoxTextfield(mix2white) → mix2whiteInputBoxIf(round((100 * SelectedElement[mix1cupsGreen] / mix1cupsTotal)) / 100 ≟ round((100 * mix2green / mix2total)) / 100 ∧ round(((100 * mix2total / mix1cupsTotal) * SelectedElement[mix1cupsGreen])) / 100 ≟ round((100 * mix2green)) / 100 ∧ round(((100 * mix2total / mix1cupsTotal) * SelectedElement[mix1cupsWhite])) / 100 ≟ round((100 * mix2white)) / 100, true, false) → mix2accurateConic((15.8, 6.2), (20, 6.1), (20.2, 9.3), (17, 9.8), (15.4, 8.44)) → feedbackBackgroundWhitePolygon((-100, 6.65), (100, 6.65), (100, 9.2), (-100, 9.2)) → questionBackgroundWhite, i_1, m_1, n_1, p_1Conic((15.8, 6.2), (20, 6.1), (20.2, 9.3), (17, 9.8), (15.4, 8.44)) → feedbackBackgroundWhiteBorder
AI 绘图提示语参考
画一个混合颜料的示意图,包括两个颜料罐,一个装绿色颜料,一个装白色颜料。绿色颜料罐中根据比例混合了不同数量的绿色和白色颜料,白色颜料罐中也按照相同比例混合。画出两个颜料罐的侧面和顶部形状,以及混合比例的圆环图和条形图。在底部画一个背景黄色的矩形,上面放置两个颜料罐,罐内颜料根据给定的比例填充。画出混合比例的圆环图和条形图,显示绿色和白色颜料的比例。
以上提示语为根据原始绘图命令整理而来,仅供参考。