9.3
82 3D: Vectors
3D reference map · First 3D picture
struct
(struct vec3 (x y z) #:transparent) x : finite-real? y : finite-real? z : finite-real?
An immutable spatial point or displacement. Positive z points out of
the screen toward a conventional viewer.
The spatial origin.
The positive x unit vector.
The positive y unit vector.
The positive z unit vector.
Adds components.
Subtracts components.
Multiplies components.
procedure
(vec3-scale scalar value) → vec3?
scalar : finite-real? value : vec3?
Scales every component.
procedure
(vec3-dot first second) → finite-real?
first : vec3? second : vec3?
Returns the Euclidean dot product.
procedure
(vec3-cross first second) → vec3?
first : vec3? second : vec3?
Returns first × second in the right-handed coordinate system.
procedure
(vec3-length value) → nonnegative-real?
value : vec3?
Returns Euclidean length.
procedure
(vec3-distance first second) → nonnegative-real?
first : vec3? second : vec3?
Returns Euclidean distance.
procedure
(vec3-normalize value) → vec3?
value : vec3?
Returns an inexact unit vector. The zero vector raises an exception.
procedure
first : vec3? second : vec3? progress : finite-real?
Linearly interpolates components; progress outside 0 through 1
performs extrapolation.
procedure
(vec3-finite? value) → boolean?
value : any/c
Reports whether value is a finite vec3.