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.