math-exercises 1.3.31 → 1.3.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +73 -73
- package/lib/exercises/calcul/addAndSub.d.ts +6 -6
- package/lib/exercises/calcul/addAndSub.js +41 -41
- package/lib/exercises/calcul/addAndSubWithoutRelatives.d.ts +6 -6
- package/lib/exercises/calcul/addAndSubWithoutRelatives.js +51 -51
- package/lib/exercises/calcul/fractions/fractionAndIntegerDivision.d.ts +3 -3
- package/lib/exercises/calcul/fractions/fractionAndIntegerDivision.js +37 -37
- package/lib/exercises/calcul/fractions/fractionAndIntegerProduct.d.ts +3 -3
- package/lib/exercises/calcul/fractions/fractionAndIntegerProduct.js +34 -34
- package/lib/exercises/calcul/fractions/fractionAndIntegerSum.d.ts +3 -3
- package/lib/exercises/calcul/fractions/fractionAndIntegerSum.js +34 -34
- package/lib/exercises/calcul/fractions/fractionToPercentToDecimal.d.ts +3 -3
- package/lib/exercises/calcul/fractions/fractionToPercentToDecimal.js +69 -69
- package/lib/exercises/calcul/fractions/fractionsDivision.d.ts +3 -3
- package/lib/exercises/calcul/fractions/fractionsDivision.js +31 -31
- package/lib/exercises/calcul/fractions/fractionsProduct.d.ts +3 -3
- package/lib/exercises/calcul/fractions/fractionsProduct.js +30 -30
- package/lib/exercises/calcul/fractions/fractionsSum.d.ts +3 -3
- package/lib/exercises/calcul/fractions/fractionsSum.js +30 -30
- package/lib/exercises/calcul/fractions/simplifyFraction.d.ts +3 -3
- package/lib/exercises/calcul/fractions/simplifyFraction.js +26 -26
- package/lib/exercises/calcul/mentalCaluls.ts/mentalAddAndSub.d.ts +3 -3
- package/lib/exercises/calcul/mentalCaluls.ts/mentalAddAndSub.js +46 -46
- package/lib/exercises/calcul/mentalCaluls.ts/mentalDivisions.d.ts +3 -3
- package/lib/exercises/calcul/mentalCaluls.ts/mentalDivisions.js +64 -64
- package/lib/exercises/calcul/mentalCaluls.ts/mentalMultiplications.d.ts +3 -3
- package/lib/exercises/calcul/mentalCaluls.ts/mentalMultiplications.js +51 -51
- package/lib/exercises/calcul/mentalCaluls.ts/mentalPercentage.d.ts +3 -3
- package/lib/exercises/calcul/mentalCaluls.ts/mentalPercentage.js +67 -67
- package/lib/exercises/calcul/operations/operationsPriorities.d.ts +10 -10
- package/lib/exercises/calcul/operations/operationsPriorities.js +100 -100
- package/lib/exercises/calcul/operations/operationsPrioritiesWithoutRelative.d.ts +10 -10
- package/lib/exercises/calcul/operations/operationsPrioritiesWithoutRelative.js +181 -181
- package/lib/exercises/calcul/operationsPriorities.js +88 -0
- package/lib/exercises/calcul/rounding/rounding.d.ts +19 -19
- package/lib/exercises/calcul/rounding/rounding.js +87 -87
- package/lib/exercises/calculLitteral/distributivity/allIdentities.d.ts +3 -3
- package/lib/exercises/calculLitteral/distributivity/allIdentities.js +27 -27
- package/lib/exercises/calculLitteral/distributivity/doubleDistributivity.d.ts +3 -3
- package/lib/exercises/calculLitteral/distributivity/doubleDistributivity.js +32 -32
- package/lib/exercises/calculLitteral/distributivity/firstIdentity.d.ts +3 -3
- package/lib/exercises/calculLitteral/distributivity/firstIdentity.js +33 -33
- package/lib/exercises/calculLitteral/distributivity/secondIdentity.d.ts +3 -3
- package/lib/exercises/calculLitteral/distributivity/secondIdentity.js +34 -34
- package/lib/exercises/calculLitteral/distributivity/simpleDistributivity.d.ts +3 -3
- package/lib/exercises/calculLitteral/distributivity/simpleDistributivity.js +34 -34
- package/lib/exercises/calculLitteral/distributivity/thirdIdentity.d.ts +3 -3
- package/lib/exercises/calculLitteral/distributivity/thirdIdentity.js +33 -33
- package/lib/exercises/calculLitteral/equation/equationSimpleSquare.d.ts +3 -3
- package/lib/exercises/calculLitteral/equation/equationSimpleSquare.js +47 -47
- package/lib/exercises/calculLitteral/equation/equationType1Exercise.d.ts +6 -6
- package/lib/exercises/calculLitteral/equation/equationType1Exercise.js +39 -39
- package/lib/exercises/calculLitteral/equation/equationType2Exercise.d.ts +6 -6
- package/lib/exercises/calculLitteral/equation/equationType2Exercise.js +42 -42
- package/lib/exercises/calculLitteral/equation/equationType3Exercise.d.ts +6 -6
- package/lib/exercises/calculLitteral/equation/equationType3Exercise.js +43 -43
- package/lib/exercises/calculLitteral/equation/equationType4Exercise.d.ts +6 -6
- package/lib/exercises/calculLitteral/equation/equationType4Exercise.js +45 -45
- package/lib/exercises/calculLitteral/equation/firstDegreeEquation.d.ts +3 -3
- package/lib/exercises/calculLitteral/equation/firstDegreeEquation.js +30 -30
- package/lib/exercises/calculLitteral/equation/firstDegreeGeneralEquation.d.ts +3 -3
- package/lib/exercises/calculLitteral/equation/firstDegreeGeneralEquation.js +32 -32
- package/lib/exercises/calculLitteral/equation/fractionEquation.d.ts +4 -0
- package/lib/exercises/calculLitteral/equation/fractionEquation.d.ts.map +1 -0
- package/lib/exercises/calculLitteral/equation/fractionEquation.js +39 -0
- package/lib/exercises/calculLitteral/equation/multiplicationEquation.d.ts +4 -0
- package/lib/exercises/calculLitteral/equation/multiplicationEquation.d.ts.map +1 -0
- package/lib/exercises/calculLitteral/equation/multiplicationEquation.js +39 -0
- package/lib/exercises/calculLitteral/factorisation/factoIdRmq1.d.ts +3 -3
- package/lib/exercises/calculLitteral/factorisation/factoIdRmq1.js +34 -34
- package/lib/exercises/calculLitteral/factorisation/factoIdRmq2.d.ts +3 -3
- package/lib/exercises/calculLitteral/factorisation/factoIdRmq2.js +35 -35
- package/lib/exercises/calculLitteral/factorisation/factoIdRmq3.d.ts +3 -3
- package/lib/exercises/calculLitteral/factorisation/factoIdRmq3.js +34 -34
- package/lib/exercises/calculLitteral/factorisation/factoType1Exercise.d.ts +6 -6
- package/lib/exercises/calculLitteral/factorisation/factoType1Exercise.js +40 -40
- package/lib/exercises/conversion/aeraConversion.d.ts +3 -3
- package/lib/exercises/conversion/aeraConversion.js +32 -32
- package/lib/exercises/conversion/capacityConversion.d.ts +3 -3
- package/lib/exercises/conversion/capacityConversion.js +30 -30
- package/lib/exercises/conversion/lengthConversion.d.ts +3 -3
- package/lib/exercises/conversion/lengthConversion.js +30 -30
- package/lib/exercises/conversion/massConversion.d.ts +3 -3
- package/lib/exercises/conversion/massConversion.js +30 -30
- package/lib/exercises/conversion/volumeCapacityConversion.d.ts +3 -3
- package/lib/exercises/conversion/volumeCapacityConversion.js +47 -47
- package/lib/exercises/conversion/volumeConversion.d.ts +3 -3
- package/lib/exercises/conversion/volumeConversion.js +32 -32
- package/lib/exercises/derivation/derivative/affineDerivative.d.ts +4 -0
- package/lib/exercises/derivation/derivative/affineDerivative.d.ts.map +1 -0
- package/lib/exercises/derivation/derivative/affineDerivative.js +27 -0
- package/lib/exercises/derivation/derivative/constanteDerivative.d.ts +3 -3
- package/lib/exercises/derivation/derivative/constanteDerivative.js +27 -27
- package/lib/exercises/derivation/derivative/firstDegreeDerivative.d.ts +3 -3
- package/lib/exercises/derivation/derivative/firstDegreeDerivative.js +29 -29
- package/lib/exercises/derivation/derivative/inverseFunctionDerivative.d.ts +3 -3
- package/lib/exercises/derivation/derivative/inverseFunctionDerivative.js +27 -27
- package/lib/exercises/derivation/derivative/powerFunctionDerivative.d.ts +3 -3
- package/lib/exercises/derivation/derivative/powerFunctionDerivative.js +35 -35
- package/lib/exercises/derivation/derivative/rootFunctionDerivative.d.ts +3 -3
- package/lib/exercises/derivation/derivative/rootFunctionDerivative.js +40 -40
- package/lib/exercises/derivation/derivative/secondDegreeDerivative.d.ts +3 -3
- package/lib/exercises/derivation/derivative/secondDegreeDerivative.js +30 -30
- package/lib/exercises/derivation/derivative/thirdDegreeDerivative.d.ts +3 -3
- package/lib/exercises/derivation/derivative/thirdDegreeDerivative.js +33 -33
- package/lib/exercises/derivation/derivative/thridDegreeDerivative.d.ts +1 -0
- package/lib/exercises/derivation/derivative/thridDegreeDerivative.d.ts.map +1 -0
- package/lib/exercises/derivation/derivative/thridDegreeDerivative.js +1 -0
- package/lib/exercises/derivation/derivative/usualderivative.d.ts +3 -3
- package/lib/exercises/derivation/derivative/usualderivative.js +36 -36
- package/lib/exercises/exercise.d.ts +21 -21
- package/lib/exercises/exercise.js +7 -7
- package/lib/exercises/exercises.d.ts +1 -1
- package/lib/exercises/exercises.d.ts.map +1 -1
- package/lib/exercises/exercises.js +224 -198
- package/lib/exercises/geometry/cartesian/derivativeNumberReading.d.ts +3 -3
- package/lib/exercises/geometry/cartesian/derivativeNumberReading.js +51 -51
- package/lib/exercises/geometry/cartesian/derivativeNumberReading2.js +91 -91
- package/lib/exercises/geometry/cartesian/leadingCoefficient.d.ts +3 -3
- package/lib/exercises/geometry/cartesian/leadingCoefficient.js +60 -60
- package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV1.d.ts +4 -0
- package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV1.d.ts.map +1 -0
- package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV1.js +30 -0
- package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV2.d.ts +4 -0
- package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV2.d.ts.map +1 -0
- package/lib/exercises/geometry/cartesian/leadingCoefficientCalculV2.js +29 -0
- package/lib/exercises/geometry/cartesian/midpoint.d.ts +3 -3
- package/lib/exercises/geometry/cartesian/midpoint.js +31 -31
- package/lib/exercises/geometry/euclidean/TriangleArea.d.ts +4 -0
- package/lib/exercises/geometry/euclidean/TriangleArea.d.ts.map +1 -0
- package/lib/exercises/geometry/euclidean/TriangleArea.js +53 -0
- package/lib/exercises/geometry/euclidean/pythagore.d.ts +4 -0
- package/lib/exercises/geometry/euclidean/pythagore.d.ts.map +1 -0
- package/lib/exercises/geometry/euclidean/pythagore.js +31 -0
- package/lib/exercises/geometry/euclidean/pythagoreCalcul.d.ts +4 -0
- package/lib/exercises/geometry/euclidean/pythagoreCalcul.d.ts.map +1 -0
- package/lib/exercises/geometry/euclidean/pythagoreCalcul.js +60 -0
- package/lib/exercises/geometry/euclidean/rightTriangleArea.d.ts +4 -0
- package/lib/exercises/geometry/euclidean/rightTriangleArea.d.ts.map +1 -0
- package/lib/exercises/geometry/euclidean/rightTriangleArea.js +39 -0
- package/lib/exercises/geometry/euclidean/thales.d.ts +4 -0
- package/lib/exercises/geometry/euclidean/thales.d.ts.map +1 -0
- package/lib/exercises/geometry/euclidean/thales.js +67 -0
- package/lib/exercises/geometry/euclidean/thalesCalcul.d.ts +4 -0
- package/lib/exercises/geometry/euclidean/thalesCalcul.d.ts.map +1 -0
- package/lib/exercises/geometry/euclidean/thalesCalcul.js +104 -0
- package/lib/exercises/geometry/euclidean/trigonometry.d.ts +4 -0
- package/lib/exercises/geometry/euclidean/trigonometry.d.ts.map +1 -0
- package/lib/exercises/geometry/euclidean/trigonometry.js +55 -0
- package/lib/exercises/geometry/euclidean/trigonometryAngleCalcul.d.ts +4 -0
- package/lib/exercises/geometry/euclidean/trigonometryAngleCalcul.d.ts.map +1 -0
- package/lib/exercises/geometry/euclidean/trigonometryAngleCalcul.js +42 -0
- package/lib/exercises/geometry/euclidean/trigonometrySideCalcul.d.ts +4 -0
- package/lib/exercises/geometry/euclidean/trigonometrySideCalcul.d.ts.map +1 -0
- package/lib/exercises/geometry/euclidean/trigonometrySideCalcul.js +52 -0
- package/lib/exercises/geometry/vectors/scalarProductViaCoords.d.ts +3 -3
- package/lib/exercises/geometry/vectors/scalarProductViaCoords.js +30 -30
- package/lib/exercises/geometry/vectors/scalarProductViaNorms.js +27 -27
- package/lib/exercises/percent/applyPercent.d.ts +3 -3
- package/lib/exercises/percent/applyPercent.js +41 -41
- package/lib/exercises/percent/averageEvolutionRate.d.ts +3 -3
- package/lib/exercises/percent/averageEvolutionRate.js +30 -30
- package/lib/exercises/percent/globalPercent.d.ts +3 -3
- package/lib/exercises/percent/globalPercent.js +44 -44
- package/lib/exercises/percent/reciprocalPercentage.d.ts +3 -3
- package/lib/exercises/percent/reciprocalPercentage.js +32 -32
- package/lib/exercises/powers/powersDivision.d.ts +7 -7
- package/lib/exercises/powers/powersDivision.js +46 -46
- package/lib/exercises/powers/powersOfTenToDecimal.d.ts +6 -6
- package/lib/exercises/powers/powersOfTenToDecimal.js +34 -34
- package/lib/exercises/powers/powersPower.d.ts +7 -7
- package/lib/exercises/powers/powersPower.js +45 -45
- package/lib/exercises/powers/powersProduct.d.ts +7 -7
- package/lib/exercises/powers/powersProduct.js +46 -46
- package/lib/exercises/powers/scientificToDecimal.d.ts +6 -6
- package/lib/exercises/powers/scientificToDecimal.js +39 -39
- package/lib/exercises/proba/conditionalProbability.d.ts +3 -3
- package/lib/exercises/proba/conditionalProbability.js +74 -74
- package/lib/exercises/proba/marginalAndConditionalFrequency.d.ts +3 -3
- package/lib/exercises/proba/marginalAndConditionalFrequency.js +81 -81
- package/lib/exercises/proba/probabilityTree.d.ts +3 -3
- package/lib/exercises/proba/probabilityTree.js +105 -105
- package/lib/exercises/sequences/arithmetic/arithmeticExplicitFormulaUsage.d.ts +3 -3
- package/lib/exercises/sequences/arithmetic/arithmeticExplicitFormulaUsage.js +31 -31
- package/lib/exercises/sequences/arithmetic/arithmeticFindExplicitFormula.d.ts +3 -3
- package/lib/exercises/sequences/arithmetic/arithmeticFindExplicitFormula.js +31 -31
- package/lib/exercises/sequences/arithmetic/arithmeticFindReason.d.ts +3 -3
- package/lib/exercises/sequences/arithmetic/arithmeticFindReason.js +31 -31
- package/lib/exercises/sequences/arithmetic/arithmeticReasonUsage.d.ts +3 -3
- package/lib/exercises/sequences/arithmetic/arithmeticReasonUsage.js +30 -30
- package/lib/exercises/sequences/arithmetic/arithmeticRecurrenceFormulaUsage.d.ts +3 -3
- package/lib/exercises/sequences/arithmetic/arithmeticRecurrenceFormulaUsage.js +30 -30
- package/lib/exercises/sequences/arithmetic/arithmeticThresholdFind.d.ts +3 -3
- package/lib/exercises/sequences/arithmetic/arithmeticThresholdFind.js +40 -40
- package/lib/exercises/sequences/geometric/geometricExplicitFormulaUsage.d.ts +3 -3
- package/lib/exercises/sequences/geometric/geometricExplicitFormulaUsage.js +36 -36
- package/lib/exercises/sequences/geometric/geometricFindExplicitFormula.d.ts +3 -3
- package/lib/exercises/sequences/geometric/geometricFindExplicitFormula.js +35 -35
- package/lib/exercises/sequences/geometric/geometricFindReason.d.ts +3 -3
- package/lib/exercises/sequences/geometric/geometricFindReason.js +31 -31
- package/lib/exercises/sequences/geometric/geometricReasonUsage.d.ts +3 -3
- package/lib/exercises/sequences/geometric/geometricReasonUsage.js +30 -30
- package/lib/exercises/sequences/geometric/geometricRecurrenceFormulaUsage.d.ts +7 -7
- package/lib/exercises/sequences/geometric/geometricRecurrenceFormulaUsage.js +30 -30
- package/lib/exercises/squareRoots/simpifySquareRoot.d.ts +3 -3
- package/lib/exercises/squareRoots/simpifySquareRoot.js +29 -29
- package/lib/exercises/trigonometry/mainRemarkableValues.d.ts +3 -3
- package/lib/exercises/trigonometry/mainRemarkableValues.js +30 -30
- package/lib/exercises/trigonometry/remarkableValues.d.ts +3 -3
- package/lib/exercises/trigonometry/remarkableValues.js +30 -30
- package/lib/exercises/utils/getDistinctQuestions.d.ts +3 -3
- package/lib/exercises/utils/getDistinctQuestions.js +28 -28
- package/lib/geometry/point.js +27 -0
- package/lib/geometry/vector.js +31 -0
- package/lib/index.d.ts +2 -2
- package/lib/index.js +6 -6
- package/lib/math/geometry/droite.d.ts +19 -19
- package/lib/math/geometry/droite.d.ts.map +1 -1
- package/lib/math/geometry/droite.js +62 -61
- package/lib/math/geometry/point.d.ts +29 -25
- package/lib/math/geometry/point.d.ts.map +1 -1
- package/lib/math/geometry/point.js +55 -40
- package/lib/math/geometry/triangles.d.ts +54 -0
- package/lib/math/geometry/triangles.d.ts.map +1 -0
- package/lib/math/geometry/triangles.js +183 -0
- package/lib/math/geometry/vector.d.ts +15 -15
- package/lib/math/geometry/vector.js +31 -31
- package/lib/math/numbers/decimals/decimal.d.ts +24 -24
- package/lib/math/numbers/decimals/decimal.js +140 -140
- package/lib/math/numbers/epsilon.d.ts +1 -1
- package/lib/math/numbers/epsilon.js +10 -10
- package/lib/math/numbers/integer/integer.d.ts +14 -14
- package/lib/math/numbers/integer/integer.js +68 -68
- package/lib/math/numbers/integer/power.d.ts +13 -13
- package/lib/math/numbers/integer/power.js +52 -52
- package/lib/math/numbers/nombre.d.ts +13 -13
- package/lib/math/numbers/nombre.js +10 -10
- package/lib/math/numbers/rationals/rational.d.ts +25 -25
- package/lib/math/numbers/rationals/rational.js +113 -113
- package/lib/math/numbers/reals/real.d.ts +9 -9
- package/lib/math/numbers/reals/real.js +16 -16
- package/lib/math/numbers/reals/squareRoot.d.ts +18 -18
- package/lib/math/numbers/reals/squareRoot.js +63 -63
- package/lib/math/polynomials/affine.d.ts +15 -15
- package/lib/math/polynomials/affine.js +42 -42
- package/lib/math/polynomials/polynomial.d.ts +25 -25
- package/lib/math/polynomials/polynomial.js +131 -131
- package/lib/math/sequences/arithmeticSequence.js +1 -1
- package/lib/math/sequences/geometricSequence.d.ts +3 -3
- package/lib/math/sequences/geometricSequence.js +8 -8
- package/lib/math/sequences/sequence.d.ts +22 -22
- package/lib/math/sequences/sequence.js +21 -21
- package/lib/math/sets/discreteSet.d.ts +10 -10
- package/lib/math/sets/discreteSet.js +28 -28
- package/lib/math/sets/emptySet.js +6 -6
- package/lib/math/sets/intervals/intervals.d.ts +26 -26
- package/lib/math/sets/intervals/intervals.js +104 -104
- package/lib/math/sets/mathSet.d.ts +7 -7
- package/lib/math/sets/mathSet.js +10 -10
- package/lib/math/sets/mathSetInterface.d.ts +5 -5
- package/lib/math/sets/mathSetInterface.js +2 -2
- package/lib/math/trigonometry/remarkableValue.d.ts +10 -10
- package/lib/math/trigonometry/remarkableValue.js +29 -29
- package/lib/math/trigonometry/remarkableValues.d.ts +2 -2
- package/lib/math/trigonometry/remarkableValues.js +51 -51
- package/lib/math/utils/arithmetic/coprimesOf.d.ts +1 -1
- package/lib/math/utils/arithmetic/coprimesOf.js +13 -13
- package/lib/math/utils/arithmetic/dividersOf.d.ts +1 -1
- package/lib/math/utils/arithmetic/dividersOf.js +12 -12
- package/lib/math/utils/arithmetic/gcd.d.ts +1 -1
- package/lib/math/utils/arithmetic/gcd.js +7 -7
- package/lib/math/utils/arithmetic/isSquare.d.ts +1 -1
- package/lib/math/utils/arithmetic/isSquare.js +7 -7
- package/lib/math/utils/arithmetic/lcd.d.ts +1 -1
- package/lib/math/utils/arithmetic/lcd.js +12 -12
- package/lib/math/utils/arithmetic/nonCoprimesOf.d.ts +1 -1
- package/lib/math/utils/arithmetic/nonCoprimesOf.js +13 -13
- package/lib/math/utils/arithmetic/nonDividersOf.d.ts +1 -1
- package/lib/math/utils/arithmetic/nonDividersOf.js +14 -14
- package/lib/math/utils/arithmetic/primeFactors.d.ts +5 -5
- package/lib/math/utils/arithmetic/primeFactors.js +22 -22
- package/lib/math/utils/decimals/decimalPartLengthOf.d.ts +1 -1
- package/lib/math/utils/decimals/decimalPartLengthOf.js +14 -14
- package/lib/math/utils/random/randTupleInt.d.ts +13 -13
- package/lib/math/utils/random/randTupleInt.js +30 -30
- package/lib/math/utils/random/randint.d.ts +4 -4
- package/lib/math/utils/random/randint.js +18 -18
- package/lib/math/utils/round.d.ts +1 -1
- package/lib/math/utils/round.js +8 -8
- package/lib/mathutils/arithmetic/coprimesOf.js +13 -0
- package/lib/mathutils/arithmetic/dividersOf.js +12 -0
- package/lib/mathutils/arithmetic/gcd.js +7 -0
- package/lib/mathutils/arithmetic/isSquare.js +7 -0
- package/lib/mathutils/arithmetic/lcd.js +12 -0
- package/lib/mathutils/arithmetic/nonCoprimesOf.js +13 -0
- package/lib/mathutils/arithmetic/nonDividersOf.js +14 -0
- package/lib/mathutils/arithmetic/primeFactors.js +22 -0
- package/lib/mathutils/decimals/decimalPartLengthOf.js +14 -0
- package/lib/mathutils/random/randTupleInt.js +30 -0
- package/lib/mathutils/random/randint.js +18 -0
- package/lib/mathutils/round.js +8 -0
- package/lib/numbers/decimals/decimal.js +140 -0
- package/lib/numbers/epsilon.js +10 -0
- package/lib/numbers/integer/integer.js +68 -0
- package/lib/numbers/integer/power.js +52 -0
- package/lib/numbers/nombre.js +10 -0
- package/lib/numbers/rationals/rational.js +113 -0
- package/lib/numbers/reals/real.js +16 -0
- package/lib/numbers/reals/squareRoot.js +63 -0
- package/lib/polynomials/affine.js +42 -0
- package/lib/polynomials/polynomial.js +125 -0
- package/lib/server.d.ts +1 -1
- package/lib/server.js +53 -53
- package/lib/sets/discreteSet.js +28 -0
- package/lib/sets/emptySet.js +6 -0
- package/lib/sets/intervals/intervals.js +108 -0
- package/lib/sets/intervals/union.js +1 -0
- package/lib/sets/mathSet.js +10 -0
- package/lib/sets/mathSetInterface.js +2 -0
- package/lib/tree/nodes/functions/cosNode.d.ts +9 -9
- package/lib/tree/nodes/functions/cosNode.js +21 -21
- package/lib/tree/nodes/functions/functionNode.d.ts +14 -14
- package/lib/tree/nodes/functions/functionNode.js +20 -20
- package/lib/tree/nodes/functions/oppositeNode.d.ts +7 -7
- package/lib/tree/nodes/functions/oppositeNode.js +26 -26
- package/lib/tree/nodes/functions/sinNode.js +1 -1
- package/lib/tree/nodes/functions/sqrtNode.d.ts +8 -8
- package/lib/tree/nodes/functions/sqrtNode.js +18 -18
- package/lib/tree/nodes/node.d.ts +12 -12
- package/lib/tree/nodes/node.js +11 -11
- package/lib/tree/nodes/numbers/constantNode.d.ts +9 -9
- package/lib/tree/nodes/numbers/constantNode.js +18 -18
- package/lib/tree/nodes/numbers/numberNode.d.ts +10 -10
- package/lib/tree/nodes/numbers/numberNode.js +19 -19
- package/lib/tree/nodes/numbers/piNode.d.ts +2 -2
- package/lib/tree/nodes/numbers/piNode.js +5 -5
- package/lib/tree/nodes/operators/addNode.d.ts +7 -7
- package/lib/tree/nodes/operators/addNode.js +19 -19
- package/lib/tree/nodes/operators/divideNode.d.ts +11 -11
- package/lib/tree/nodes/operators/divideNode.js +34 -34
- package/lib/tree/nodes/operators/equalNode.d.ts +7 -7
- package/lib/tree/nodes/operators/equalNode.js +16 -16
- package/lib/tree/nodes/operators/fractionNode.d.ts +11 -11
- package/lib/tree/nodes/operators/fractionNode.js +20 -20
- package/lib/tree/nodes/operators/multiplyNode.d.ts +7 -7
- package/lib/tree/nodes/operators/multiplyNode.js +43 -43
- package/lib/tree/nodes/operators/operatorNode.d.ts +21 -21
- package/lib/tree/nodes/operators/operatorNode.js +35 -35
- package/lib/tree/nodes/operators/powerNode.d.ts +7 -7
- package/lib/tree/nodes/operators/powerNode.js +33 -33
- package/lib/tree/nodes/operators/substractNode.d.ts +7 -7
- package/lib/tree/nodes/operators/substractNode.js +24 -24
- package/lib/tree/nodes/variables/variableNode.d.ts +8 -8
- package/lib/tree/nodes/variables/variableNode.js +19 -19
- package/lib/tree/parsers/derivateParser.js +62 -62
- package/lib/tree/parsers/latexParser.js +110 -0
- package/lib/tree/parsers/simplify.d.ts +2 -2
- package/lib/tree/parsers/simplify.js +52 -52
- package/lib/utils/arrayEqual.d.ts +1 -1
- package/lib/utils/arrayEqual.js +13 -13
- package/lib/utils/coin.js +7 -0
- package/lib/utils/coinFlip.d.ts +1 -1
- package/lib/utils/coinFlip.js +7 -7
- package/lib/utils/random.d.ts +1 -1
- package/lib/utils/random.js +7 -7
- package/lib/utils/shuffle.d.ts +1 -1
- package/lib/utils/shuffle.js +15 -15
- package/package.json +50 -50
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getRemarkableValues = exports.remarkableValuesExercise = void 0;
|
|
4
|
-
const remarkableValue_1 = require("../../math/trigonometry/remarkableValue");
|
|
5
|
-
const coinFlip_1 = require("../../utils/coinFlip");
|
|
6
|
-
const getDistinctQuestions_1 = require("../utils/getDistinctQuestions");
|
|
7
|
-
exports.remarkableValuesExercise = {
|
|
8
|
-
id: 'remarkableValues',
|
|
9
|
-
connector: '=',
|
|
10
|
-
instruction: 'Donner la valeur exacte :',
|
|
11
|
-
label: 'Valeurs remarquables de cos et sin',
|
|
12
|
-
levels: ['1', '0'],
|
|
13
|
-
isSingleStep: false,
|
|
14
|
-
section: 'Trigonométrie',
|
|
15
|
-
generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getRemarkableValues, nb),
|
|
16
|
-
keys: ['pi', 'cos', 'sin'],
|
|
17
|
-
};
|
|
18
|
-
function getRemarkableValues() {
|
|
19
|
-
const isCos = (0, coinFlip_1.coinFlip)();
|
|
20
|
-
const remarkableValue = remarkableValue_1.RemarkableValueConstructor.simplifiable();
|
|
21
|
-
const question = {
|
|
22
|
-
startStatement: isCos
|
|
23
|
-
? `\\cos\\left(${remarkableValue.angle.toTex()}\\right)`
|
|
24
|
-
: `\\sin\\left(${remarkableValue.angle.toTex()}\\right)`,
|
|
25
|
-
answer: isCos ? remarkableValue.cos.toTex() : remarkableValue.sin.toTex(),
|
|
26
|
-
keys: ['pi', 'cos', 'sin'],
|
|
27
|
-
};
|
|
28
|
-
return question;
|
|
29
|
-
}
|
|
30
|
-
exports.getRemarkableValues = getRemarkableValues;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getRemarkableValues = exports.remarkableValuesExercise = void 0;
|
|
4
|
+
const remarkableValue_1 = require("../../math/trigonometry/remarkableValue");
|
|
5
|
+
const coinFlip_1 = require("../../utils/coinFlip");
|
|
6
|
+
const getDistinctQuestions_1 = require("../utils/getDistinctQuestions");
|
|
7
|
+
exports.remarkableValuesExercise = {
|
|
8
|
+
id: 'remarkableValues',
|
|
9
|
+
connector: '=',
|
|
10
|
+
instruction: 'Donner la valeur exacte :',
|
|
11
|
+
label: 'Valeurs remarquables de cos et sin',
|
|
12
|
+
levels: ['1', '0'],
|
|
13
|
+
isSingleStep: false,
|
|
14
|
+
section: 'Trigonométrie',
|
|
15
|
+
generator: (nb) => (0, getDistinctQuestions_1.getDistinctQuestions)(getRemarkableValues, nb),
|
|
16
|
+
keys: ['pi', 'cos', 'sin'],
|
|
17
|
+
};
|
|
18
|
+
function getRemarkableValues() {
|
|
19
|
+
const isCos = (0, coinFlip_1.coinFlip)();
|
|
20
|
+
const remarkableValue = remarkableValue_1.RemarkableValueConstructor.simplifiable();
|
|
21
|
+
const question = {
|
|
22
|
+
startStatement: isCos
|
|
23
|
+
? `\\cos\\left(${remarkableValue.angle.toTex()}\\right)`
|
|
24
|
+
: `\\sin\\left(${remarkableValue.angle.toTex()}\\right)`,
|
|
25
|
+
answer: isCos ? remarkableValue.cos.toTex() : remarkableValue.sin.toTex(),
|
|
26
|
+
keys: ['pi', 'cos', 'sin'],
|
|
27
|
+
};
|
|
28
|
+
return question;
|
|
29
|
+
}
|
|
30
|
+
exports.getRemarkableValues = getRemarkableValues;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Question } from '../exercise';
|
|
2
|
-
export declare function equalTab<T>(array1: T[], array2: T[]): boolean;
|
|
3
|
-
export declare const getDistinctQuestions: (generator: Function, nb: number) => Question[];
|
|
1
|
+
import { Question } from '../exercise';
|
|
2
|
+
export declare function equalTab<T>(array1: T[], array2: T[]): boolean;
|
|
3
|
+
export declare const getDistinctQuestions: (generator: Function, nb: number) => Question[];
|
|
4
4
|
//# sourceMappingURL=getDistinctQuestions.d.ts.map
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getDistinctQuestions = exports.equalTab = void 0;
|
|
4
|
-
function equalTab(array1, array2) {
|
|
5
|
-
if (!array1 || !array2)
|
|
6
|
-
return false;
|
|
7
|
-
if (array1.length !== array2.length)
|
|
8
|
-
return false;
|
|
9
|
-
for (let i = 0; i < array1.length; i++)
|
|
10
|
-
if (array1[i] !== array2[i])
|
|
11
|
-
return false;
|
|
12
|
-
return true;
|
|
13
|
-
}
|
|
14
|
-
exports.equalTab = equalTab;
|
|
15
|
-
const getDistinctQuestions = (generator, nb) => {
|
|
16
|
-
const res = [];
|
|
17
|
-
for (let i = 0; i < nb; i++) {
|
|
18
|
-
let question;
|
|
19
|
-
do {
|
|
20
|
-
question = generator();
|
|
21
|
-
} while (res.some((q) => q.instruction === question.instruction &&
|
|
22
|
-
q.startStatement === question.startStatement &&
|
|
23
|
-
equalTab(q.commands, question.commands)));
|
|
24
|
-
res.push(question);
|
|
25
|
-
}
|
|
26
|
-
return res;
|
|
27
|
-
};
|
|
28
|
-
exports.getDistinctQuestions = getDistinctQuestions;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getDistinctQuestions = exports.equalTab = void 0;
|
|
4
|
+
function equalTab(array1, array2) {
|
|
5
|
+
if (!array1 || !array2)
|
|
6
|
+
return false;
|
|
7
|
+
if (array1.length !== array2.length)
|
|
8
|
+
return false;
|
|
9
|
+
for (let i = 0; i < array1.length; i++)
|
|
10
|
+
if (array1[i] !== array2[i])
|
|
11
|
+
return false;
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
14
|
+
exports.equalTab = equalTab;
|
|
15
|
+
const getDistinctQuestions = (generator, nb) => {
|
|
16
|
+
const res = [];
|
|
17
|
+
for (let i = 0; i < nb; i++) {
|
|
18
|
+
let question;
|
|
19
|
+
do {
|
|
20
|
+
question = generator();
|
|
21
|
+
} while (res.some((q) => q.instruction === question.instruction &&
|
|
22
|
+
q.startStatement === question.startStatement &&
|
|
23
|
+
equalTab(q.commands, question.commands)));
|
|
24
|
+
res.push(question);
|
|
25
|
+
}
|
|
26
|
+
return res;
|
|
27
|
+
};
|
|
28
|
+
exports.getDistinctQuestions = getDistinctQuestions;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Point = exports.PointConstructor = void 0;
|
|
4
|
+
const numberNode_1 = require("../tree/nodes/numbers/numberNode");
|
|
5
|
+
const addNode_1 = require("../tree/nodes/operators/addNode");
|
|
6
|
+
const fractionNode_1 = require("../tree/nodes/operators/fractionNode");
|
|
7
|
+
const simplify_1 = require("../tree/parsers/simplify");
|
|
8
|
+
class PointConstructor {
|
|
9
|
+
}
|
|
10
|
+
exports.PointConstructor = PointConstructor;
|
|
11
|
+
class Point {
|
|
12
|
+
constructor(name, x, y) {
|
|
13
|
+
this.name = name;
|
|
14
|
+
this.x = x;
|
|
15
|
+
this.y = y;
|
|
16
|
+
}
|
|
17
|
+
toTex() {
|
|
18
|
+
return `${this.name}`;
|
|
19
|
+
}
|
|
20
|
+
toTexWithCoords() {
|
|
21
|
+
return `${this.name}\\left(${this.x.toTex()}; ${this.y.toTex()}\\right)`;
|
|
22
|
+
}
|
|
23
|
+
midpoint(B, name = 'I') {
|
|
24
|
+
return new Point(name, (0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new addNode_1.AddNode(this.x, B.x), new numberNode_1.NumberNode(2))), (0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new addNode_1.AddNode(this.y, B.y), new numberNode_1.NumberNode(2))));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.Point = Point;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Vector = exports.VectorConstructor = void 0;
|
|
4
|
+
const addNode_1 = require("../tree/nodes/operators/addNode");
|
|
5
|
+
const multiplyNode_1 = require("../tree/nodes/operators/multiplyNode");
|
|
6
|
+
const substractNode_1 = require("../tree/nodes/operators/substractNode");
|
|
7
|
+
const simplify_1 = require("../tree/parsers/simplify");
|
|
8
|
+
class VectorConstructor {
|
|
9
|
+
static fromPoints(origin, end) {
|
|
10
|
+
return new Vector(`${origin.name}${end.name}`, new substractNode_1.SubstractNode(end.x, origin.x), new substractNode_1.SubstractNode(end.y, origin.y));
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.VectorConstructor = VectorConstructor;
|
|
14
|
+
class Vector {
|
|
15
|
+
constructor(name, x, y) {
|
|
16
|
+
this.name = name;
|
|
17
|
+
this.tex = `\\overrightarrow{${name}}`;
|
|
18
|
+
this.x = x;
|
|
19
|
+
this.y = y;
|
|
20
|
+
}
|
|
21
|
+
toTex() {
|
|
22
|
+
return `\\overrightarrow{${this.name}}`;
|
|
23
|
+
}
|
|
24
|
+
toTexWithCoords() {
|
|
25
|
+
return `\\overrightarrow{${this.name}}\\begin{pmatrix}${this.x.toTex()} \\\\ ${this.y.toTex()} \\end{pmatrix}`;
|
|
26
|
+
}
|
|
27
|
+
scalarProduct(v) {
|
|
28
|
+
return (0, simplify_1.simplifyNode)(new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(this.x, v.x), new multiplyNode_1.MultiplyNode(this.y, v.y)));
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.Vector = Vector;
|
package/lib/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
declare const allExercises: import("./exercises/exercise").Exercise[];
|
|
2
|
-
export { allExercises };
|
|
1
|
+
declare const allExercises: import("./exercises/exercise").Exercise[];
|
|
2
|
+
export { allExercises };
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.allExercises = void 0;
|
|
4
|
-
const exercises_1 = require("./exercises/exercises");
|
|
5
|
-
const allExercises = [...exercises_1.exercises];
|
|
6
|
-
exports.allExercises = allExercises;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.allExercises = void 0;
|
|
4
|
+
const exercises_1 = require("./exercises/exercises");
|
|
5
|
+
const allExercises = [...exercises_1.exercises];
|
|
6
|
+
exports.allExercises = allExercises;
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { Node } from '../../tree/nodes/node';
|
|
2
|
-
import { Point } from './point';
|
|
3
|
-
export declare abstract class DroiteConstructor {
|
|
4
|
-
static fromTwoPoints(A: Point, B: Point, name?: string): Droite;
|
|
5
|
-
static fromPointAndSlope(A: Point, m: Node, name?: string): Droite;
|
|
6
|
-
static fromPointAndAngle(A: Point, theta: Node, name?: string): Droite;
|
|
7
|
-
}
|
|
8
|
-
export declare class Droite {
|
|
9
|
-
name: string;
|
|
10
|
-
a: Node;
|
|
11
|
-
b: Node;
|
|
12
|
-
constructor(name: string | undefined, a: Node, b: Node);
|
|
13
|
-
toTex(): string;
|
|
14
|
-
toEquationForm(): string;
|
|
15
|
-
toEquationExpression(): string;
|
|
16
|
-
toPolynome(): string;
|
|
17
|
-
getLeadingCoefficient(): string;
|
|
18
|
-
intersection(D: Droite, name?: string): Point | void;
|
|
19
|
-
}
|
|
1
|
+
import { Node } from '../../tree/nodes/node';
|
|
2
|
+
import { Point } from './point';
|
|
3
|
+
export declare abstract class DroiteConstructor {
|
|
4
|
+
static fromTwoPoints(A: Point, B: Point, name?: string): Droite;
|
|
5
|
+
static fromPointAndSlope(A: Point, m: Node, name?: string): Droite;
|
|
6
|
+
static fromPointAndAngle(A: Point, theta: Node, name?: string): Droite;
|
|
7
|
+
}
|
|
8
|
+
export declare class Droite {
|
|
9
|
+
name: string;
|
|
10
|
+
a: Node;
|
|
11
|
+
b: Node;
|
|
12
|
+
constructor(name: string | undefined, a: Node, b: Node);
|
|
13
|
+
toTex(): string;
|
|
14
|
+
toEquationForm(): string;
|
|
15
|
+
toEquationExpression(): string;
|
|
16
|
+
toPolynome(): string;
|
|
17
|
+
getLeadingCoefficient(): string;
|
|
18
|
+
intersection(D: Droite, name?: string): Point | void;
|
|
19
|
+
}
|
|
20
20
|
//# sourceMappingURL=droite.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"droite.d.ts","sourceRoot":"","sources":["../../../src/math/geometry/droite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAQ7C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"droite.d.ts","sourceRoot":"","sources":["../../../src/math/geometry/droite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAQ7C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIhC,8BAAsB,iBAAiB;IACrC,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,SAAM,GAAG,MAAM;IAM5D,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,SAAM,GAAG,MAAM;IAI/D,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,SAAM,GAAG,MAAM;CAKpE;AAED,qBAAa,MAAM;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,EAAE,IAAI,CAAC;IACR,CAAC,EAAE,IAAI,CAAC;gBAEI,IAAI,oBAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI;IAOxC,KAAK,IAAI,MAAM;IAIf,cAAc,IAAI,MAAM;IAIxB,oBAAoB,IAAI,MAAM;IAI9B,UAAU,IAAI,MAAM;IAKpB,qBAAqB,IAAI,MAAM;IAI/B,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,SAAM,GAAG,KAAK,GAAG,IAAI;CAMlD"}
|
|
@@ -1,61 +1,62 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Droite = exports.DroiteConstructor = void 0;
|
|
4
|
-
const numberNode_1 = require("../../tree/nodes/numbers/numberNode");
|
|
5
|
-
const addNode_1 = require("../../tree/nodes/operators/addNode");
|
|
6
|
-
const fractionNode_1 = require("../../tree/nodes/operators/fractionNode");
|
|
7
|
-
const multiplyNode_1 = require("../../tree/nodes/operators/multiplyNode");
|
|
8
|
-
const substractNode_1 = require("../../tree/nodes/operators/substractNode");
|
|
9
|
-
const simplify_1 = require("../../tree/parsers/simplify");
|
|
10
|
-
const mathjs_1 = require("mathjs");
|
|
11
|
-
const point_1 = require("./point");
|
|
12
|
-
const polynomial_1 = require("../polynomials/polynomial");
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
this.
|
|
34
|
-
this.
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Droite = exports.DroiteConstructor = void 0;
|
|
4
|
+
const numberNode_1 = require("../../tree/nodes/numbers/numberNode");
|
|
5
|
+
const addNode_1 = require("../../tree/nodes/operators/addNode");
|
|
6
|
+
const fractionNode_1 = require("../../tree/nodes/operators/fractionNode");
|
|
7
|
+
const multiplyNode_1 = require("../../tree/nodes/operators/multiplyNode");
|
|
8
|
+
const substractNode_1 = require("../../tree/nodes/operators/substractNode");
|
|
9
|
+
const simplify_1 = require("../../tree/parsers/simplify");
|
|
10
|
+
const mathjs_1 = require("mathjs");
|
|
11
|
+
const point_1 = require("./point");
|
|
12
|
+
const polynomial_1 = require("../polynomials/polynomial");
|
|
13
|
+
const round_1 = require("../utils/round");
|
|
14
|
+
class DroiteConstructor {
|
|
15
|
+
static fromTwoPoints(A, B, name = 'd') {
|
|
16
|
+
const a = new fractionNode_1.FractionNode(new substractNode_1.SubstractNode(B.y, A.y), new substractNode_1.SubstractNode(B.x, A.x));
|
|
17
|
+
const b = new substractNode_1.SubstractNode(A.y, new multiplyNode_1.MultiplyNode(a, A.x));
|
|
18
|
+
return new Droite(name, (0, simplify_1.simplifyNode)(a), (0, simplify_1.simplifyNode)(b));
|
|
19
|
+
}
|
|
20
|
+
static fromPointAndSlope(A, m, name = 'd') {
|
|
21
|
+
return new Droite(name, (0, simplify_1.simplifyNode)(m), (0, simplify_1.simplifyNode)(new substractNode_1.SubstractNode(A.y, new multiplyNode_1.MultiplyNode(m, A.x))));
|
|
22
|
+
}
|
|
23
|
+
static fromPointAndAngle(A, theta, name = 'd') {
|
|
24
|
+
const m = new numberNode_1.NumberNode((0, round_1.round)(Math.tan(parseFloat(theta.toMathString())), 2));
|
|
25
|
+
const b = new substractNode_1.SubstractNode(A.y, new multiplyNode_1.MultiplyNode(m, A.x));
|
|
26
|
+
return new Droite(name, (0, simplify_1.simplifyNode)(m), (0, simplify_1.simplifyNode)(b));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.DroiteConstructor = DroiteConstructor;
|
|
30
|
+
class Droite {
|
|
31
|
+
constructor(name = 'D', a, b) {
|
|
32
|
+
// ax + b
|
|
33
|
+
this.name = name;
|
|
34
|
+
this.a = a;
|
|
35
|
+
this.b = b;
|
|
36
|
+
}
|
|
37
|
+
toTex() {
|
|
38
|
+
return `${this.name}`;
|
|
39
|
+
}
|
|
40
|
+
toEquationForm() {
|
|
41
|
+
return `${this.a.toTex()}x + ${this.b.toTex()}`;
|
|
42
|
+
}
|
|
43
|
+
toEquationExpression() {
|
|
44
|
+
return `(${this.name}) : y = ${this.toEquationForm()}`; // (D) : y = ax + b
|
|
45
|
+
}
|
|
46
|
+
toPolynome() {
|
|
47
|
+
const polynome = new polynomial_1.Polynomial([(0, mathjs_1.evaluate)(this.b.toMathString()), (0, mathjs_1.evaluate)(this.a.toMathString())], 'x');
|
|
48
|
+
return polynome.toTex();
|
|
49
|
+
}
|
|
50
|
+
getLeadingCoefficient() {
|
|
51
|
+
return `${(0, simplify_1.simplifyNode)(this.a).toTex()}`;
|
|
52
|
+
}
|
|
53
|
+
// TODO : ajouter des conditions ou cas ou les deux droites sont Parallèles
|
|
54
|
+
intersection(D, name = 'P') {
|
|
55
|
+
if ((0, mathjs_1.evaluate)(D.a.toMathString()) === (0, mathjs_1.evaluate)(this.a.toMathString()))
|
|
56
|
+
return;
|
|
57
|
+
const x = new fractionNode_1.FractionNode(new substractNode_1.SubstractNode(D.b, this.b), new substractNode_1.SubstractNode(this.a, D.a));
|
|
58
|
+
const y = new addNode_1.AddNode(new multiplyNode_1.MultiplyNode(this.a, x), this.b);
|
|
59
|
+
return new point_1.Point(name, (0, simplify_1.simplifyNode)(x), (0, simplify_1.simplifyNode)(y));
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.Droite = Droite;
|
|
@@ -1,26 +1,30 @@
|
|
|
1
|
-
import { Node } from '../../tree/nodes/node';
|
|
2
|
-
export declare abstract class PointConstructor {
|
|
3
|
-
}
|
|
4
|
-
export declare class Point {
|
|
5
|
-
name: string;
|
|
6
|
-
x: Node;
|
|
7
|
-
y: Node;
|
|
8
|
-
constructor(name: string, x: Node, y: Node);
|
|
9
|
-
toTex(): string;
|
|
10
|
-
toTexWithCoords(): string;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
|
|
24
|
-
*
|
|
25
|
-
|
|
1
|
+
import { Node } from '../../tree/nodes/node';
|
|
2
|
+
export declare abstract class PointConstructor {
|
|
3
|
+
}
|
|
4
|
+
export declare class Point {
|
|
5
|
+
name: string;
|
|
6
|
+
x: Node;
|
|
7
|
+
y: Node;
|
|
8
|
+
constructor(name: string, x: Node, y: Node);
|
|
9
|
+
toTex(): string;
|
|
10
|
+
toTexWithCoords(): string;
|
|
11
|
+
getXnumber(): number;
|
|
12
|
+
getYnumber(): number;
|
|
13
|
+
midpoint(B: Point, name?: string): Point;
|
|
14
|
+
distanceTo(B: Point): number;
|
|
15
|
+
equalTo(B: Point): boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Droite{
|
|
19
|
+
* constructor :
|
|
20
|
+
* depuis 2 points : A,B --> Droite
|
|
21
|
+
* depuis 1 point + coeff dir --> Droite
|
|
22
|
+
* avec une équation de droite --> Droite
|
|
23
|
+
*
|
|
24
|
+
* méthodes :
|
|
25
|
+
* toEquation() --> y = 3x+2
|
|
26
|
+
* toCoeffDIr --> a
|
|
27
|
+
|
|
28
|
+
* }
|
|
29
|
+
*/
|
|
26
30
|
//# sourceMappingURL=point.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"point.d.ts","sourceRoot":"","sources":["../../../src/math/geometry/point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"point.d.ts","sourceRoot":"","sources":["../../../src/math/geometry/point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAO7C,8BAAsB,gBAAgB;CAMrC;AAED,qBAAa,KAAK;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,EAAE,IAAI,CAAC;IACR,CAAC,EAAE,IAAI,CAAC;gBACI,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI;IAM1C,KAAK,IAAI,MAAM;IAIf,eAAe,IAAI,MAAM;IAIzB,UAAU,IAAI,MAAM;IAIpB,UAAU,IAAI,MAAM;IAIpB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,SAAM,GAAG,KAAK;IAQrC,UAAU,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM;IAM5B,OAAO,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO;CAG3B;AAED;;;;;;;;;;;;GAYG"}
|
|
@@ -1,40 +1,55 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Point = exports.PointConstructor = void 0;
|
|
4
|
-
const numberNode_1 = require("../../tree/nodes/numbers/numberNode");
|
|
5
|
-
const addNode_1 = require("../../tree/nodes/operators/addNode");
|
|
6
|
-
const fractionNode_1 = require("../../tree/nodes/operators/fractionNode");
|
|
7
|
-
const simplify_1 = require("../../tree/parsers/simplify");
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
this.
|
|
15
|
-
this.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Point = exports.PointConstructor = void 0;
|
|
4
|
+
const numberNode_1 = require("../../tree/nodes/numbers/numberNode");
|
|
5
|
+
const addNode_1 = require("../../tree/nodes/operators/addNode");
|
|
6
|
+
const fractionNode_1 = require("../../tree/nodes/operators/fractionNode");
|
|
7
|
+
const simplify_1 = require("../../tree/parsers/simplify");
|
|
8
|
+
const mathjs_1 = require("mathjs");
|
|
9
|
+
class PointConstructor {
|
|
10
|
+
}
|
|
11
|
+
exports.PointConstructor = PointConstructor;
|
|
12
|
+
class Point {
|
|
13
|
+
constructor(name, x, y) {
|
|
14
|
+
this.name = name;
|
|
15
|
+
this.x = x;
|
|
16
|
+
this.y = y;
|
|
17
|
+
}
|
|
18
|
+
toTex() {
|
|
19
|
+
return `${this.name}`;
|
|
20
|
+
}
|
|
21
|
+
toTexWithCoords() {
|
|
22
|
+
return `${this.name}\\left(${this.x.toTex()}; ${this.y.toTex()}\\right)`;
|
|
23
|
+
}
|
|
24
|
+
getXnumber() {
|
|
25
|
+
return (0, mathjs_1.evaluate)(this.x.toMathString());
|
|
26
|
+
}
|
|
27
|
+
getYnumber() {
|
|
28
|
+
return (0, mathjs_1.evaluate)(this.y.toMathString());
|
|
29
|
+
}
|
|
30
|
+
midpoint(B, name = 'I') {
|
|
31
|
+
return new Point(name, (0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new addNode_1.AddNode(this.x, B.x), new numberNode_1.NumberNode(2))), (0, simplify_1.simplifyNode)(new fractionNode_1.FractionNode(new addNode_1.AddNode(this.y, B.y), new numberNode_1.NumberNode(2))));
|
|
32
|
+
}
|
|
33
|
+
distanceTo(B) {
|
|
34
|
+
const dx = this.getXnumber() - B.getXnumber();
|
|
35
|
+
const dy = this.getYnumber() - B.getYnumber();
|
|
36
|
+
return Math.sqrt(dx ** 2 + dy ** 2);
|
|
37
|
+
}
|
|
38
|
+
equalTo(B) {
|
|
39
|
+
return this.getXnumber() === B.getXnumber() && this.getYnumber() === B.getYnumber();
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.Point = Point;
|
|
43
|
+
/**
|
|
44
|
+
* Droite{
|
|
45
|
+
* constructor :
|
|
46
|
+
* depuis 2 points : A,B --> Droite
|
|
47
|
+
* depuis 1 point + coeff dir --> Droite
|
|
48
|
+
* avec une équation de droite --> Droite
|
|
49
|
+
*
|
|
50
|
+
* méthodes :
|
|
51
|
+
* toEquation() --> y = 3x+2
|
|
52
|
+
* toCoeffDIr --> a
|
|
53
|
+
|
|
54
|
+
* }
|
|
55
|
+
*/
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Point } from './point';
|
|
2
|
+
import { Node } from '../../tree/nodes/node';
|
|
3
|
+
export declare abstract class TriangleConstructor {
|
|
4
|
+
static createRandomRightTriangle({ minRapport, maxRapport, names }: {
|
|
5
|
+
minRapport?: number | undefined;
|
|
6
|
+
maxRapport?: number | undefined;
|
|
7
|
+
names?: string[] | undefined;
|
|
8
|
+
}): Triangle;
|
|
9
|
+
static createRandomTriangle({ minAngle, maxAngle, names }: {
|
|
10
|
+
minAngle?: number | undefined;
|
|
11
|
+
maxAngle?: number | undefined;
|
|
12
|
+
names?: string[] | undefined;
|
|
13
|
+
}): Triangle;
|
|
14
|
+
}
|
|
15
|
+
type GenerateCommandsProps = {
|
|
16
|
+
highlightedAngle?: string;
|
|
17
|
+
colorHighlightedAngle?: string;
|
|
18
|
+
highlightedSide?: string;
|
|
19
|
+
colorHighlightedSide?: string;
|
|
20
|
+
showLabels?: string[];
|
|
21
|
+
setCaptions?: string[];
|
|
22
|
+
showAxes?: boolean;
|
|
23
|
+
showGrid?: boolean;
|
|
24
|
+
};
|
|
25
|
+
export declare class Triangle {
|
|
26
|
+
vertexA: Point;
|
|
27
|
+
vertexB: Point;
|
|
28
|
+
vertexC: Point;
|
|
29
|
+
constructor(vertexA: Point, vertexB: Point, vertexC: Point);
|
|
30
|
+
getSideAnumber(): number;
|
|
31
|
+
getSideBnumber(): number;
|
|
32
|
+
getSideCnumber(): number;
|
|
33
|
+
getTriangleName(): string;
|
|
34
|
+
getSideAnode(): Node;
|
|
35
|
+
getSideBnode(): Node;
|
|
36
|
+
getSideCnode(): Node;
|
|
37
|
+
getAngleA(): number;
|
|
38
|
+
getAngleB(): number;
|
|
39
|
+
getAngleC(): number;
|
|
40
|
+
getPerimeter(): number;
|
|
41
|
+
getArea(): number;
|
|
42
|
+
isRight(): Boolean;
|
|
43
|
+
isEquilateral(): Boolean;
|
|
44
|
+
isIsosceles(): Boolean;
|
|
45
|
+
isScalene(): boolean;
|
|
46
|
+
getRightAngle(): string;
|
|
47
|
+
generateCommands({ highlightedAngle: highlightedAngle, colorHighlightedAngle: colorHighlightedAngle, showLabels: showLabels, setCaptions: setCaptions, highlightedSide: highlightedSide, colorHighlightedSide: colorHighlightedSide, showAxes, showGrid, }: GenerateCommandsProps): string[];
|
|
48
|
+
generateCoords(): number[];
|
|
49
|
+
getSideAName(): string;
|
|
50
|
+
getSideBName(): string;
|
|
51
|
+
getSideCName(): string;
|
|
52
|
+
}
|
|
53
|
+
export {};
|
|
54
|
+
//# sourceMappingURL=triangles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"triangles.d.ts","sourceRoot":"","sources":["../../../src/math/geometry/triangles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAO7C,8BAAsB,mBAAmB;IACvC,MAAM,CAAC,yBAAyB,CAAC,EAAE,UAAc,EAAE,UAAc,EAAE,KAAuB,EAAE;;;;KAAA,GAAG,QAAQ;IAkBvG,MAAM,CAAC,oBAAoB,CAAC,EAAE,QAAe,EAAE,QAAc,EAAE,KAAuB,EAAE;;;;KAAA,GAAG,QAAQ;CAmBpG;AAED,KAAK,qBAAqB,GAAG;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,qBAAa,QAAQ;IACnB,OAAO,EAAE,KAAK,CAAC;IACf,OAAO,EAAE,KAAK,CAAC;IACf,OAAO,EAAE,KAAK,CAAC;gBAEH,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK;IAM1D,cAAc,IAAI,MAAM;IAOxB,cAAc,IAAI,MAAM;IAOxB,cAAc,IAAI,MAAM;IAIxB,eAAe,IAAI,MAAM;IAIzB,YAAY,IAAI,IAAI;IASpB,YAAY,IAAI,IAAI;IASpB,YAAY,IAAI,IAAI;IASpB,SAAS,IAAI,MAAM;IAOnB,SAAS,IAAI,MAAM;IAOnB,SAAS,IAAI,MAAM;IAOnB,YAAY,IAAI,MAAM;IAItB,OAAO,IAAI,MAAM;IAKjB,OAAO,IAAI,OAAO;IAOlB,aAAa,IAAI,OAAO;IAIxB,WAAW,IAAI,OAAO;IAQtB,SAAS,IAAI,OAAO;IAQpB,aAAa,IAAI,MAAM;IAOvB,gBAAgB,CAAC,EACf,gBAAgB,EAAE,gBAAgB,EAClC,qBAAqB,EAAE,qBAAqB,EAC5C,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,eAAe,EAChC,oBAAoB,EAAE,oBAAoB,EAC1C,QAAQ,EACR,QAAQ,GACT,EAAE,qBAAqB,GAAG,MAAM,EAAE;IAiDnC,cAAc,IAAI,MAAM,EAAE;IAS1B,YAAY,IAAI,MAAM;IAItB,YAAY,IAAI,MAAM;IAItB,YAAY,IAAI,MAAM;CAGvB"}
|