r3

package
v0.8.1-0...-a25970e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 17, 2021 License: BSD-3-Clause Imports: 2 Imported by: 0

Documentation

Overview

Package r3 provides 3D vectors and boxes and operations on them.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Cos

func Cos(p, q Vec) float64

Cos returns the cosine of the opening angle between p and q.

func Dot

func Dot(p, q Vec) float64

Dot returns the dot product p·q.

func Norm

func Norm(p Vec) float64

Norm returns the Euclidean norm of p

|p| = sqrt(p_x^2 + p_y^2 + p_z^2).

func Norm2

func Norm2(p Vec) float64

Norm returns the Euclidean squared norm of p

|p|^2 = p_x^2 + p_y^2 + p_z^2.

Types

type Box

type Box struct {
	Min, Max Vec
}

Box is a 3D bounding box.

type Rotation

type Rotation quat.Number

Rotation describes a rotation in space.

func NewRotation

func NewRotation(alpha float64, axis Vec) Rotation

NewRotation creates a rotation by alpha, around axis.

func (Rotation) Rotate

func (r Rotation) Rotate(p Vec) Vec

Rotate returns the rotated vector according to the definition of rot.

type Vec

type Vec struct {
	X, Y, Z float64
}

Vec is a 3D vector.

func Add

func Add(p, q Vec) Vec

Add returns the vector sum of p and q.

func Cross

func Cross(p, q Vec) Vec

Cross returns the cross product p×q.

func Rotate

func Rotate(p Vec, alpha float64, axis Vec) Vec

Rotate returns a new vector, rotated by alpha around the provided axis.

func Scale

func Scale(f float64, p Vec) Vec

Scale returns the vector p scaled by f.

func Sub

func Sub(p, q Vec) Vec

Sub returns the vector sum of p and -q.

func Unit

func Unit(p Vec) Vec

Unit returns the unit vector colinear to p. Unit returns {NaN,NaN,NaN} for the zero vector.

func (Vec) Add

func (p Vec) Add(q Vec) Vec

Add returns the vector sum of p and q.

DEPRECATED: use r3.Add.

func (Vec) Cross

func (p Vec) Cross(q Vec) Vec

Cross returns the cross product p×q.

DEPRECATED: use r3.Cross.

func (Vec) Dot

func (p Vec) Dot(q Vec) float64

Dot returns the dot product p·q.

DEPRECATED: use r3.Dot.

func (Vec) Rotate

func (p Vec) Rotate(alpha float64, axis Vec) Vec

Rotate returns a new vector, rotated by alpha around the provided axis.

DEPRECATED: use r3.Rotate

func (Vec) Scale

func (p Vec) Scale(f float64) Vec

Scale returns the vector p scaled by f.

DEPRECATED: use r3.Scale.

func (Vec) Sub

func (p Vec) Sub(q Vec) Vec

Sub returns the vector sum of p and -q.

DEPRECATED: use r3.Sub.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL