24 randFromArray( [ true, false ] ) randRange( 1, 7 ) randRange( 0, DENOMINATOR - 1 ) A_ANGLE_NUMERATOR * PI * 2 / DENOMINATOR piFraction( A_ANGLE, true ) polarForm( A_RADIUS, A_ANGLE, USE_EULER_FORM ) cos( A_ANGLE ) * A_RADIUS sin( A_ANGLE ) * A_RADIUS randRange( 1, 7 ) randRange( 0, DENOMINATOR - 1 ) B_ANGLE_NUMERATOR * PI * 2 / DENOMINATOR piFraction( B_ANGLE, true ) polarForm( B_RADIUS, B_ANGLE, USE_EULER_FORM ) cos( B_ANGLE ) * B_RADIUS sin( B_ANGLE ) * B_RADIUS A_RADIUS * B_RADIUS ( A_ANGLE_NUMERATOR + B_ANGLE_NUMERATOR ) % DENOMINATOR ANSWER_ANGLE_NUMERATOR * PI * 2 / DENOMINATOR piFraction( ANSWER_ANGLE, true ) cos( ANSWER_ANGLE ) * ANSWER_RADIUS sin( ANSWER_ANGLE ) * ANSWER_RADIUS USE_EULER_FORM ? '()' : '[]' BRACKETS[0] BRACKETS[1] piFraction( ( A_ANGLE_NUMERATOR + B_ANGLE_NUMERATOR ) * PI * 2 / DENOMINATOR, true )

Multiply the following complex numbers, marked as blue dots on the graph:

LEFT_BRACKETA_REPRIGHT_BRACKET \cdot LEFT_BRACKETB_REPRIGHT_BRACKET

(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.BLUE, stroke: "none" }); graph.currComplexPolar = new ComplexPolarForm( DENOMINATOR, 10, USE_EULER_FORM );
[ ANSWER_ANGLE_NUMERATOR, ANSWER_RADIUS ]

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.

The second number (B_REP) has angle B_ANGLE_REP and radius B_RADIUS.

The radius of the result will be A_RADIUS \cdot B_RADIUS, which is ANSWER_RADIUS.

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 convient 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 and the angle of the result is ANSWER_ANGLE_REP.

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

Divide the following complex numbers:

\dfrac{A_REP}{B_REP}

(The dividend is plotted in blue and the divisor in plotted in green. Your current answer will be plotted 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 );
[ ANSWER_ANGLE_NUMERATOR, ANSWER_RADIUS ]

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

The first number (A_REP) has angle A_ANGLE_REP and radius A_RADIUS.

The second number (B_REP) has angle B_ANGLE_REP and radius B_RADIUS.

The radius of the result will be \frac{A_RADIUS}{B_RADIUS}, which is ANSWER_RADIUS.

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 convient 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 and the angle of the result is ANSWER_ANGLE_REP.