docs / stdlib / math

Stdlib index
  1. Overview
  1. Captured-borrow migration worklist (3.3.3)
  2. Owned-bind migration worklist (8.2.7)
  3. Return-side title audit — the ride-through enumeration
  4. stdlib ownership audit
  5. stdlib ownership dispositions (plan 1.3.1 / 4.3.1)

aot

  1. Components
  2. Scope
  3. Scoped

codec

  1. Base32
  2. Base64

codec / csv

  1. Csv

codec / json

  1. Json

collection

  1. ArrayList
  2. BPlusTree
  3. Cache
  4. Collectors
  5. HashMap
  6. HashSet
  7. Heap
  8. ImmutableList
  9. ImmutableMap
  10. ImmutableSet
  11. LinkedList
  12. RedBlackTree
  13. Sort

collection / ltm

  1. LtmBPlusTree

concurrent

  1. AtomicInt32
  2. AtomicInt64
  3. Channel
  4. Fiber
  5. FiberLocal
  6. Lock
  7. Mutex
  8. RwLock
  9. Semaphore
  10. Tasks

error

  1. Exception
  2. NoOptionalValueException
  3. NotProvidedException
  4. RecoverableException
  5. ScopedBuildFailedException
  6. ScopeNotActiveException
  7. Throwable
  8. UnrecoverableException

gfx

  1. Sampler
  2. Texture2D

hash

  1. DefaultHasher
  2. Hash
  3. SipHash
  4. XXHash3

ifx

  1. BackendRegistry
  2. Window

io

  1. Buffer

io / file

  1. File
  2. FileInfo
  3. FileReader
  4. FileWriter
  5. Path
  6. Watcher

io / net

  1. BufferPool
  2. ByteBuffer
  3. IpAddress
  4. Server
  5. ServerBuilder
  6. SocketAddress
  7. TcpListener
  8. TcpStream
  9. UdpSocket

io / net / dns

  1. Dns

io / net / uri

  1. Uri
  2. UriBuilder

lang

  1. Guid
  2. Math
  3. Optional
  4. Pair
  5. Slice
  6. String
  7. StringBuilder

lang / stream

  1. ArrayStream
  2. Stream

math

  1. Camera
  2. Color
  3. DType
  4. Ray
  5. Rotation
  6. Tensor
  7. Transform

math / fft

  1. Fft

math / linalg

  1. LinAlg

math / npio

  1. Npy

math / poly

  1. Poly

math / random

  1. Generator

math / stats

  1. Stats

nucleo

  1. Columns — the Arrow-laid-out substrate
  2. Fused tensor expressions — Fuse
  3. Table — the lazy, typed dataframe
  4. Tape — define-by-run autograd
  5. Transform intrinsics — Grad, Vmap, Jit

process

  1. Command
  2. Process

reflect

  1. Class

search / distance

  1. Distance

search / fuzzy

  1. Matcher

search / ngram

  1. Index

session

  1. PackageInstallException
  2. Packages

time

  1. Clock
  2. DateTimeFormatter
  3. Duration
  4. Instant
  5. LocalDate
  6. LocalDateTime
  7. LocalTime
  8. Period
  9. ZonedDateTime
  10. ZoneId
  11. ZoneOffset

wire

  1. Compressor
  2. CompressStream
  3. DecompressionLimitException
  4. Decompressor
  5. Encoder
  6. Schema
  7. SchemaEncoder

xpu

  1. Device
  2. KernelBuffer
  3. KernelStream
  4. KernelTimer

xpu / mesh

  1. MeshSimplifier

Rotation

cajeta.math.Rotation — quaternion construction for a renderer or scene graph. A pure static-utility class: each method returns a unit Quaternion<float32> ready to feed Transform or the builtin rotate-vector form q * v. The builtin Quaternion<float32> already provides the algebra (Hamilton product, vector rotation, conjugate(), slerp, nlerp, dot, length); this class adds the missing ways to build a rotation from an axis+angle or Euler angles. Quaternion storage is (w, x, y, z).

package snip.rotation;

import cajeta.math.Rotation;

public final class Demo {
    public static void run() {
        Vector<float32,3> up = stack Vector<float32,3>(0.0f, 1.0f, 0.0f);
        Quaternion<float32> yaw = Rotation.fromAxisAngle(up, 0.7853982f);  // 45 deg
        Vector<float32,3> v = stack Vector<float32,3>(1.0f, 0.0f, 0.0f);
        Vector<float32,3> r = yaw * v;   // builtin rotate-vector
        return;
    }
}

Methods

Signature
static Quaternion<float32> identity()The identity rotation: the unit quaternion (1,0,0,0)
static Quaternion<float32> fromAxisAngle(Vector<float32,3> axis, float32 angleRadians) ⚑A rotation of angleRadians about axis (right-handed)
static Quaternion<float32> fromEuler(float32 pitchX, float32 yawY, float32 rollZ) ⚑A rotation from Euler angles (radians), applied roll (about +z), then yaw (about +y), then pitch (about +x): q = qZ * qY * qX

⚑ = @EntryPoint

See also

Source: docs/stdlib/math/Rotation.md · 1 min read · 168 words