Complex Multiplication
Using the polar form of complex numbers we can find a geometric interpretation of the multiplication of two complex numbers. For with
and with
and , it holds that
i.e., we obtain the absolute value of by multiplying the absolute values of and , and the angle by adding the angles and . This is illustrated in Figure 5.4.
Note that we may have , so may not be the principal value of .
How to use the applet
- Drag the points (green) and (red) in the complex plane.
- The arrows from the origin represent , , and the product (black).
- The colored angle sectors show the arguments (angles with the positive real axis):
If
then
So, when you drag and :
- the length of the product vector changes like ;
- the angle of the product changes like (modulo , so it may “wrap around”).
- Hold Shift + scroll to zoom
- Hold Shift + drag to move
- Points shaped like <> act as sliders
Description
Reference: Lecture Notes Calculus 1 ( May22,2022 ) Figure 5.4 page 88
This applet visualizes complex multiplication using the polar interpretation. The axes represent the complex plane: the horizontal axis is and the vertical axis is . Two draggable points represent the complex numbers and , and the product is shown as a third vector.
The points and are draggable.
The product is defined from their Cartesian coordinates using the standard algebraic rule
.
In code this is kept explicitly as
Re(z) = z1.X()*z2.X() - z1.Y()*z2.Y() and
Im(z) = z1.X()*z2.Y() + z1.Y()*z2.X().
const z = createPoint(board,
[
() => z1.X() * z2.X() - z1.Y() * z2.Y(),
() => z1.X() * z2.Y() + z1.Y() * z2.X(),
],
{
name: "",
fixed: true,
withLabel: false,
},
Z_COLOR
);
The three arrows from the origin (created with board.create("arrow", [O, ...]))
represent the vectors (green), (red), and (black).
The colored angle sectors labeled , , and
(created with board.create("angle", [U, O, ...])) visualize their arguments.
To avoid an unstable argument near the origin,
the applet constrains the draggable points so that and
stay above a small minimum radius (MIN_RADIUS), enforced in enforceMinRadius during dragging.