Updated Math

Cross Product Calculator

Compute A×B, cross magnitude, perpendicular direction, areas, angle via sin(θ), unit normal, and export tables to CSV.

A × B Area Angle Unit Normal

Cross Product, Area & Normal Vector Toolkit

Enter vectors A and B (2D or 3D) to compute A×B, magnitude, areas, angle, and unit normal. Generate scaled tables with CSV export.

What the Cross Product Represents

The cross product is a vector operation used mainly in three-dimensional geometry. Given two vectors A and B, the cross product A×B produces a new vector that is perpendicular to both A and B. This perpendicular direction is crucial for computing surface normals, rotational quantities, and orientation in 3D space.

Beyond direction, the cross product also encodes area. The magnitude |A×B| equals the area of the parallelogram formed by the two vectors. This makes it a natural tool for computing triangle areas, detecting parallelism, and measuring how strongly two vectors “span” a plane.

Cross Product Formula in Components

For 3D vectors A=⟨ax,ay,az⟩ and B=⟨bx,by,bz⟩, the cross product is:

Cross product
A×B = ⟨aybz − azby,   azbx − axbz,   axby − aybx

In 2D, vectors lie in the xy-plane. If you treat them as 3D vectors with z=0, their cross product points along the z-axis. The z-component becomes a signed measure of area and orientation.

Magnitude, Area, and Geometric Meaning

The size of the cross product is given by |A×B| = |A||B|sin(θ), where θ is the angle between A and B. This implies:

  • Parallelogram area = |A×B|
  • Triangle area = |A×B| / 2
  • A×B = 0 if vectors are parallel or if one vector is zero
Area relationship
|A×B| = |A||B|sin(θ)

If two vectors are nearly parallel, sin(θ) is small and the cross product magnitude becomes small. If they are perpendicular, sin(θ)=1 and the cross product magnitude reaches its maximum for the given magnitudes.

Right-Hand Rule and Direction

Cross products are direction-sensitive. Swapping the order changes the sign: A×B = −(B×A). To determine direction, use the right-hand rule: curl the fingers of your right hand from A toward B; your thumb points in the direction of A×B.

This convention is used in physics for torque, angular momentum, magnetic forces, and rotational systems. In 3D graphics, it controls surface normals, face orientation, and lighting calculations.

Angle Between Vectors Using the Cross Product

While angles are commonly computed using dot products, cross products provide an alternative through sine: sin(θ) = |A×B|/(|A||B|), when both vectors are nonzero. The Angle tab computes θ from this relationship.

Note that sine alone cannot distinguish between θ and (180°−θ). In many applications, you combine cross and dot products to determine the full orientation. This calculator provides a practical θ between 0° and 180°.

Unit Normal Vector and Planes

A common use of cross products is generating a normal vector to a plane. If vectors A and B lie in a plane, then A×B is perpendicular to that plane. Normalizing it produces a unit normal n̂ = (A×B)/|A×B| when A×B is nonzero.

Unit normals are required in 3D rendering, collision detection, and any problem involving plane equations or oriented surfaces.

Scaled Cross Tables and CSV Export

The Cross Table tab helps you study scaling. Because cross products scale linearly in each input vector, (kA)×(mB) = km(A×B). The table displays cross results and magnitudes across a range of k values, holding m fixed. Exporting to CSV lets you plot |cross| vs k or compare multiple scenarios quickly.

Practical Tips and Edge Cases

The cross product is most meaningful in 3D. In 2D mode, the calculator treats z=0 and returns a z-axis result that corresponds to signed area and orientation. If one vector is zero or both are parallel, A×B becomes the zero vector, areas become zero, and a unit normal is undefined.

FAQ

Cross Product Calculator – Frequently Asked Questions

Answers about A×B direction, right-hand rule, magnitude, area, angle, unit normals, and CSV export.

The cross product is a vector operation (primarily in 3D) that produces a vector perpendicular to both input vectors. Its magnitude equals |A||B|sin(θ).

The direction follows the right-hand rule: point your index finger along A and your middle finger along B; your thumb points in the direction of A×B.

For A=⟨ax,ay,az⟩ and B=⟨bx,by,bz⟩, A×B = ⟨aybz−azby, azbx−axbz, axby−aybx⟩.

The magnitude |A×B| equals the area of the parallelogram formed by A and B. Half of that is the area of the triangle formed by the vectors.

In 2D, you can treat vectors as lying in the xy-plane (z=0). The cross product points along the z-axis, and its z-component is often used as a signed area measure.

Use sin(θ) = |A×B| / (|A||B|) when both vectors are nonzero. The calculator returns θ in degrees and radians.

A unit normal is the normalized cross product: n̂ = (A×B)/|A×B|. It gives a perpendicular direction with magnitude 1 when A×B is nonzero.

A×B is zero when vectors are parallel (same or opposite direction) or when one vector is the zero vector.

Yes. You can generate a table across scalar multipliers and export it to CSV for plotting or analysis.

Results use standard vector algebra. Unit normal requires a nonzero cross product. Keep units consistent; areas use squared units.