Without @orient:

v@N; // +Z axis of the copy v@up; // +Y axis of the copy

Representing a quaternion from an angle and axis. The angle is specified in radians:

float angle = radians(90); vector axis = set(0, 1, 0); p@rot = quaternion(angle, axis);

Representing a quaternion from a 3×3 rotational matrix:

float angle = radians(90); vector axis = {0,1,0}; matrix3 m = ident(); rotate(m, angle, axis); @orient = quaternion(m);

PI eight digits

#include "math.h"; float e = M_E; //2.7182818 f@angle = PI; //3.1415926 f@angle = radians(180);