使用比例调配颜料

使用比例调配颜料
几何画板及绘图内容加载中,请稍等……
2017-03-13 02:13
这个范例通过使用比例来调配颜料,演示了如何根据给定的比例混合不同颜色的颜料。核心数学概念包括比例和几何构造。通过使用GeoGebra命令如Sequence、If、Segment等,可以直观地展示颜料混合的过程。适合初中及以上学生学习比例和几何作图。

GeoGebra 命令及参数

  1. Sequence(i, i, 0, cupsMax) → mix1cupsGreen
  2. Sequence(i, i, 0, cupsMax) → mix1cupsWhite
  3. If(mix1show, ceil(mix1cupsTotal / 2), cupsMax / 2) → cupsModelRowCount
  4. Segment(Can1PtMaster, Can1PtTopL) → Can1segL
  5. Segment(Can1PtBottomR, Can1PtTopR) → Can1segR
  6. Conic(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)) → can1lidConic
  7. Polygon(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, g
  8. Polygon(Can1PtMaster + (0, -0.013), Can1PtMaster + (canWidth, -0.013), Can1PtMaster + (canWidth, (canHeight * mix1cupsTotal / ((2 * cupsMax)))), Can1PtMaster + (0, (canHeight * mix1cupsTotal / ((2 * cupsMax))))) → can1fillRectWhite, d, e, f, q
  9. Conic(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))))) → can1fillTopConicGreen
  10. Conic(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))))) → can1fillTopConicWhite
  11. Polygon((-10, -2.02734), (99.12, -2.02734), (19.12, 97.97266), (-10, 17.97266)) → BackgroundYellow, l, m, n, p
  12. Polygon(Can1PtMaster + (-0.1, 0.048), Can1PtBottomR + (0.1, 0.048), Can1PtTopR, Can1PtTopL) → can1fillRectYellowBack, h, i, j, k
  13. Conic(Midpoint[Can1PtMaster, Can1PtBottomR] + (0, -0.5), Can1PtBottomR, Midpoint[Can1PtMaster, Can1PtBottomR] + (canWidth / 3, 0.5), Midpoint[Can1PtMaster, Can1PtBottomR] + (((-canWidth)) / 3, 0.5), Can1PtMaster) → can1bottomConic
  14. Polygon(A, B, C, D, E, F, G) → can1brushColorGreen, a_1, b_1, c_1, d_1, e_1, f_1, g_1
  15. Polygon(A, B, C, D, E, F, G) → can1brushColorWhite, a_2, b_2, c_2, d_2, e_2, f_2, g_2
  16. Conic(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)) → can1bottomConicGreen
  17. Conic(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)) → can1bottomConicWhite
  18. If(mix1show, Mix1visualsMasterPt + (5.6 - (0.6 * cupsModelRowCount), setModelVerticalOffset), (4.8, 8)) → Mix1cupsGreenImagesMasterPt
  19. If(mix1show, 1.1, 0.85) → cupImagesSpacing
  20. If(mix1show, Mix1visualsMasterPt + (5.6 - (0.6 * cupsModelRowCount), setModelVerticalOffset), (10.5, 8)) → Mix1cupsWhiteImagesMasterPt
  21. If(mix1show, 1.2, 0.75) → cupImagesHeight
  22. Polygon(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, mix1tapeDiagGreenPolySeg
  23. Polygon(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, mix1tapeDiagWhitePolySeg
  24. Polygon(Mix1visualsMasterPt + (0, rectModelVerticalOffset), Mix1visualsMasterPt + (tapeDiagRectModelWidth, rectModelVerticalOffset), Mix1visualsMasterPt + (tapeDiagRectModelWidth, 3 + rectModelVerticalOffset), Mix1visualsMasterPt + (0, 3 + rectModelVerticalOffset)) → mix1rectAreaOutline, mix1rectAreaOutlineSeg_3, mix1rectAreaOutlineSeg, mix1rectAreaOutlineSeg_1, mix1rectAreaOutlineSeg_2
  25. SelectedIndex(mix1visualType) → mix1visualTypeSelected
  26. Polygon(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_1
  27. Midpoint(Mix1visualsMasterPt, Mix1visualsMasterPt + (tapeDiagRectModelWidth, 3.8)) → Mix1circleModelCenter
  28. Circle(Mix1circleModelCenter, circleModelRadius) → mix1circleModelOutline
  29. Circle(Mix1circleModelCenter, circleModelRadius) → mix1circleModelGreenSector2
  30. Sequence(Segment[Mix1circleModelCenter, Rotate[Mix1circleModelSectorRefPt, (i * (2 * π / mix1cupsTotal)), Mix1circleModelCenter]], i, 0, mix1cupsTotal - 1, 1) → mix1circleModelDividers
  31. CircleSector(Mix1circleModelCenter, Mix1circleModelSectorRefPt, Rotate[Mix1circleModelSectorRefPt, ((1.99999999999999 * π) * SelectedElement[mix1cupsWhite] / mix1cupsTotal), Mix1circleModelCenter]) → mix1circleModelWhiteSector
  32. Conic(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))))) → can1fillTopConicWhiteOutline
  33. Sequence(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]]) → mix1tapeDiagramWhiteDividers
  34. Sequence(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]]) → mix1tapeDiagramGreenDividers
  35. Sequence(Segment[Mix1visualsMasterPt + (i, rectModelVerticalOffset), Mix1visualsMasterPt + (i, 3 + rectModelVerticalOffset)], i, 0, tapeDiagRectModelWidth, tapeDiagRectModelWidth / mix1cupsTotal) → mix1rectAreaDividers
  36. If(mix1show, 0.75, 0.1) → cupImagesRowsGap
  37. Sequence(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) → mix1cupImagesGreen
  38. Sequence(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) → mix1cupImagesGreenOutline
  39. Sequence(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) → mix1cupImagesWhiteFill
  40. Sequence(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) → mix1cupImagesWhiteOutline
  41. Textfield(mix2green) → mix2greenInputBox
  42. Textfield(mix2total) → mix2totalInputBox
  43. Textfield(mix2white) → mix2whiteInputBox
  44. If(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) → mix2accurate
  45. Conic((15.8, 6.2), (20, 6.1), (20.2, 9.3), (17, 9.8), (15.4, 8.44)) → feedbackBackgroundWhite
  46. Polygon((-100, 6.65), (100, 6.65), (100, 9.2), (-100, 9.2)) → questionBackgroundWhite, i_1, m_1, n_1, p_1
  47. Conic((15.8, 6.2), (20, 6.1), (20.2, 9.3), (17, 9.8), (15.4, 8.44)) → feedbackBackgroundWhiteBorder

AI 绘图提示语参考

画一个混合颜料的示意图,包括两个颜料罐,一个装绿色颜料,一个装白色颜料。绿色颜料罐中根据比例混合了不同数量的绿色和白色颜料,白色颜料罐中也按照相同比例混合。画出两个颜料罐的侧面和顶部形状,以及混合比例的圆环图和条形图。在底部画一个背景黄色的矩形,上面放置两个颜料罐,罐内颜料根据给定的比例填充。画出混合比例的圆环图和条形图,显示绿色和白色颜料的比例。
以上提示语为根据原始绘图命令整理而来,仅供参考。