pbpt
Loading...
Searching...
No Matches
homogeneous.hpp File Reference

Defines a class for N-dimensional homogeneous coordinates. More...

#include "point.hpp"
#include "matrix.hpp"
#include <concepts>
#include <stdexcept>
#include <type_traits>
#include <iostream>

Go to the source code of this file.

Classes

class  pbpt::math::Homogeneous< T, N >
 A template class for an N-dimensional homogeneous coordinate. More...

Namespaces

namespace  pbpt::math
 The namespace for math library implementation.

Typedefs

using pbpt::math::Homo3 = Homogeneous<Float, 3>
 A 3-dimensional homogeneous coordinate using the library's default Float type.
using pbpt::math::Homo2 = Homogeneous<Float, 2>

Detailed Description

Defines a class for N-dimensional homogeneous coordinates.

This file provides the Homo class, which is essential for performing 3D transformations in a unified manner. It allows points and vectors to be treated consistently when multiplied by transformation matrices. The key idea is to represent an N-dimensional concept using an (N+1)-dimensional vector.