24 randFromArray( [ true, false ] )
randRange(1, 10) randRange(1, 10) A_RADIUS * B_RADIUS
"\\blue{" + A_RADIUS + "}" randRange(1, DENOMINATOR - 1 ) A_ANGLE_NUMERATOR * PI * 2 / DENOMINATOR "\\blue{" + piFraction(A_ANGLE, true) + "}" "\\blue{" + polarForm(A_RADIUS, A_ANGLE, USE_EULER_FORM) + "}" cos( A_ANGLE ) * A_RADIUS sin( A_ANGLE ) * A_RADIUS "\\green{" + B_RADIUS + "}" randRange(1, DENOMINATOR - 1 ) B_ANGLE_NUMERATOR * PI * 2 / DENOMINATOR "\\green{" + piFraction(B_ANGLE, true) + "}" "\\green{" + polarForm(B_RADIUS, B_ANGLE, USE_EULER_FORM) + "}" cos( B_ANGLE ) * B_RADIUS sin( B_ANGLE ) * B_RADIUS "\\orange{" + ANSWER_RADIUS + "}" ( A_ANGLE_NUMERATOR + B_ANGLE_NUMERATOR ) % DENOMINATOR ANSWER_ANGLE_NUMERATOR * PI * 2 / DENOMINATOR "\\orange{" + piFraction(ANSWER_ANGLE, true) + "}" cos( ANSWER_ANGLE ) * ANSWER_RADIUS sin( ANSWER_ANGLE ) * ANSWER_RADIUS "\\orange{" + piFraction((A_ANGLE_NUMERATOR + B_ANGLE_NUMERATOR) * PI * 2 / DENOMINATOR, true) + "}"

Multiply the following complex numbers:

`\left(A_REP\right) \cdot \left(B_REP\right)`

The first number is plotted in blue and the second number is plotted in green. Your current answer will be plotted in orange.

graphInit({ range: [ [ -10, 10 ], [ -10 ,10 ] ], scale: 20, tickStep: 1, axisArrows: "<->" }); drawComplexChart( 10, DENOMINATOR ); circle( [A_REAL, A_IMAG], 1 / 4, { fill: KhanUtil.BLUE, stroke: "none" }); circle( [B_REAL, B_IMAG], 1 / 4, { fill: KhanUtil.GREEN, stroke: "none" }); graph.currComplexPolar = new ComplexPolarForm( DENOMINATOR, 10, USE_EULER_FORM ); redrawComplexPolarForm();
Radius: `1`
Angle: `0`
1
[ graph.currComplexPolar.getAngleNumerator(), graph.currComplexPolar.getRadius() ]
var angle = guess[0]; var radius = guess[1]; if (angle === 0 && radius === 1) { return ""; } return angle === ANSWER_ANGLE_NUMERATOR && radius === ANSWER_RADIUS;
redrawComplexPolarForm(guess[0], guess[1]);
redrawComplexPolarForm(guess[0], guess[1]);

Multiplying complex numbers in polar forms can be done by multiplying the lengths and adding the angles.

The first number, `A_REP`, has angle `A_ANGLE_REP` and radius `A_RADIUS_REP`.

The second number, `B_REP`, has angle `B_ANGLE_REP` and radius `B_RADIUS_REP`.

The radius of the result will be `A_RADIUS_REP \cdot B_RADIUS_REP = ANSWER_RADIUS_REP`.

The sum of the angles is `A_ANGLE_REP + B_ANGLE_REP = INTERMEDIATE_ANGLE_REP`.

The angle `INTERMEDIATE_ANGLE_REP` is more than `2 \pi`. A complex number goes a full circle if its angle is increased by `2 \pi`, so it goes back to itself. Because of that, angles of complex numbers are convenient to keep between `0` and `2 \pi`.

`INTERMEDIATE_ANGLE_REP - 2 \pi = ANSWER_ANGLE_REP`

The angle of the result is `A_ANGLE_REP + B_ANGLE_REP = ANSWER_ANGLE_REP`.

The radius of the result is `ANSWER_RADIUS_REP` and the angle of the result is `ANSWER_ANGLE_REP`.

24 randFromArray( [ true, false ] )
randRange(1, 10) randRange(1, 10) ANSWER_RADIUS * B_RADIUS
"\\orange{" + ANSWER_RADIUS + "}" randRange( 0, DENOMINATOR - 1 ) ANSWER_ANGLE_NUMERATOR * PI * 2 / DENOMINATOR "\\orange{" + piFraction(ANSWER_ANGLE, true) + "}" "\\green{" + B_RADIUS + "}" randRange(1, DENOMINATOR - 1) B_ANGLE_NUMERATOR * PI * 2 / DENOMINATOR "\\green{" + piFraction(B_ANGLE) + "}" "\\green{" + polarForm(B_RADIUS, B_ANGLE, USE_EULER_FORM) + "}" cos( B_ANGLE ) * B_RADIUS sin( B_ANGLE ) * B_RADIUS "\\blue{" + A_RADIUS + "}" (ANSWER_ANGLE_NUMERATOR + B_ANGLE_NUMERATOR) % DENOMINATOR A_ANGLE_NUMERATOR * PI * 2 / DENOMINATOR "\\blue{" + piFraction(A_ANGLE, true) + "}" "\\blue{" + polarForm(A_RADIUS, A_ANGLE, USE_EULER_FORM) + "}" cos( A_ANGLE ) * A_RADIUS sin( A_ANGLE ) * A_RADIUS "\\orange{" + piFraction((A_ANGLE_NUMERATOR - B_ANGLE_NUMERATOR ) * PI * 2 / DENOMINATOR, true) + "}"

Divide the following complex numbers:

`\Large{\dfrac{A_REP}{B_REP}}`

`\dfrac{A_REP}{B_REP}`

The dividend is plotted in blue and the divisor is plotted in green. Your current answer will be plotted in orange.

graphInit({ range: [ [ -10, 10 ], [ -10, 10 ] ], scale: 20, tickStep: 1, axisArrows: "<->" }); drawComplexChart( 10, DENOMINATOR ); circle( [A_REAL, A_IMAG], 1 / 4, { fill: KhanUtil.BLUE, stroke: "none" }); circle( [B_REAL, B_IMAG], 1 / 4, { fill: KhanUtil.GREEN, stroke: "none" }); graph.currComplexPolar = new ComplexPolarForm( DENOMINATOR, 10, USE_EULER_FORM ); redrawComplexPolarForm();
Radius: `1`
Angle: `0`
1
[ graph.currComplexPolar.getAngleNumerator(), graph.currComplexPolar.getRadius() ]
var angle = guess[0]; var radius = guess[1]; if (angle === 0 && radius === 1) { return ""; } return angle === ANSWER_ANGLE_NUMERATOR && radius === ANSWER_RADIUS;
redrawComplexPolarForm(guess[0], guess[1]);
redrawComplexPolarForm(guess[0], guess[1]);

Dividing complex numbers in polar forms can be done by dividing the radii and subtracting the angles.

The dividend, `A_REP`, has angle `A_ANGLE_REP` and radius `A_RADIUS_REP`.

The divisor, `B_REP`, has angle `B_ANGLE_REP` and radius `B_RADIUS_REP`.

The radius of the result will be `\dfrac{A_RADIUS_REP}{B_RADIUS_REP} = ANSWER_RADIUS_REP`.

The difference of the angles is `A_ANGLE_REP - B_ANGLE_REP = INTERMEDIATE_ANGLE_REP`.

The angle `INTERMEDIATE_ANGLE_REP` is negative. A complex number goes a full circle if its angle is increased by `2 \pi`, so it goes back to itself. Because of that, angles of complex numbers are convenient to keep between `0` and `2 \pi`.

`INTERMEDIATE_ANGLE_REP + 2 \pi = ANSWER_ANGLE_REP`

The angle of the result is `A_ANGLE_REP - B_ANGLE_REP = ANSWER_ANGLE_REP`.

The radius of the result is `ANSWER_RADIUS_REP` and the angle of the result is `ANSWER_ANGLE_REP`.