Module ultraviolet::bivec[][src]

Bivectors, i.e. oriented areas.

A bivector is an oriented area, and is equivalent to the result of the exterior (wedge) product of two vectors, i.e. u ∧ v. This means it is the oriented area of the parallelogram created by attaching two vectors and then extending them into a parallelogram.

This may be hard to visualize at first, but bivectors are as fundamental as vectors. If vectors are a representation of lines, then bivectors are a representation of planes.

A normalized bivector can be thought of as representing a plane of rotation and the direction of rotation inside that plane such that a positive rotation follows the orientation of the bivector. When you obtain a bivector by taking the exterior product of two vectors, the positive direction of rotation is defined as the one that brings the first vector closer to the second. For example, a bivector created by taking the exterior product x ∧ y of the x and y basis vectors will create a unit bivector that represents the xy plane, with orientation such that a positive rotation of x inside the plane would bring x closer to y. This is why positive rotation is generally defined as “counter clockwise” in 2d, since such a rotation brings x to y.

Much like vectors can be represented as a linear combination of basis vectors, i.e. a vector “component representation,” bivectors can be represented as a linear combination of basis bivectors. If the basis vectors are the unit vectors in the direction of each canonical axis of a space, then the basis bivectors are the unit area planes in each of the canonical planes.

In 2d, there is only one basis plane, the xy plane, which represents all of 2d space. As such, in 2d there is only one basis bivector, while there are two basis vectors. This means that a 2d bivector has only one component.

In 3d, there are three basis planes, the xy plane, the xz plane, and the yz plane, which are respectively the planes parallel to those combinations of the x, y, and z basis vectors. Therefore, a 3d bivector has three components, each of which represents the projected area of that bivector onto one of the three basis bivectors. This is analogous to how vector components represent the projected length of that vector onto each unit vector.

Structs

Bivec2

A bivector in 2d space.

Bivec2x4

A bivector in 2d space.

Bivec2x8

A bivector in 2d space.

Bivec3

A bivector in 3d space.

Bivec3x4

A bivector in 3d space.

Bivec3x8

A bivector in 3d space.