---
name: "cross_product"
section: "3alleg"
platform: "linux"
package: "liballegro-doc"
version: "2:4.2.2-2.2"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/cross_product"
---

# cross\_product(3alleg)

Calculates the cross product. Allegro game programming library.

## NAME

cross\_product, cross\_product\_f - Calculates the cross product. Allegro game programming library.

## SYNOPSIS

**#include \<allegro.h\>**

**void cross\_product(fixed x1, y1, z1, x2, y2, z2, \*xout, \*yout, \*zout);**

**void cross\_product\_f(float x1, y1, z1, x2, y2, z2, \*xout, \*yout, \*zout);**

## DESCRIPTION

Calculates the cross product (x1, y1, z1) x (x2, y2, z2), storing the  result in (\*xout, \*yout, \*zout). The cross product is perpendicular to  both of the input vectors, so it can be used to generate polygon normals.

## SEE ALSO

[**dot\_product**(3alleg)](/dot_product/3alleg.md), [**polygon\_z\_normal**(3alleg)](/polygon_z_normal/3alleg.md), [**normalize\_vector**(3alleg)](/normalize_vector/3alleg.md), [**exstars**(3alleg)](/exstars/3alleg.md)
