67 lines
1.7 KiB
C++
67 lines
1.7 KiB
C++
/// Josh's 3D Math Library
|
|
/// A C++20 Library for 3D Math, Computer Graphics, and Scientific Computing.
|
|
/// Developed and Maintained by Josh O'Leary @ Redacted Software.
|
|
/// Special Thanks to William Tomasine II and Maxine Hayes.
|
|
/// (c) 2024 Redacted Software
|
|
/// This work is dedicated to the public domain.
|
|
|
|
/// @file main.cpp
|
|
/// @desc Demonstrates J3ML features.
|
|
/// @edit 2024-07-06
|
|
|
|
|
|
#include <iostream>
|
|
#include <J3ML/LinearAlgebra.hpp>
|
|
#include <J3ML/Geometry.hpp>
|
|
#include <J3ML/J3ML.hpp>
|
|
#include <jlog/Logger.hpp>
|
|
|
|
|
|
int main(int argc, char** argv)
|
|
{
|
|
Matrix3x3 matrix_rep = {
|
|
0.9902160, 0.0000000, 0.1395431,
|
|
0.1273699, 0.4084874, -0.9038334,
|
|
-0.0570016, 0.9127640, 0.4044908};
|
|
|
|
Quaternion quat_rep = {0.5425029, 0.0586955, 0.0380374, 0.8371371};
|
|
|
|
AxisAngle aa_rep = { {0.9917912, 0.1073057, 0.069539}, 1.1575362};
|
|
|
|
|
|
using namespace J3ML::Math;
|
|
|
|
// Test quadrant
|
|
for (float r = 0; r < TwoPi; r+=0.25f)
|
|
{
|
|
Quadrant q = QuadrantOf(r);
|
|
if (q == Quadrant::I)
|
|
std::cout << "I" << std::endl;
|
|
if (q == Quadrant::II)
|
|
std::cout << "II" << std::endl;
|
|
if (q == Quadrant::III)
|
|
std::cout << "III" << std::endl;
|
|
if (q == Quadrant::IV)
|
|
std::cout << "IV" << std::endl;
|
|
}
|
|
|
|
for (int i = 10; i < 9999999; i*=1.5f) {
|
|
std::cout << J3ML::Math::Functions::Truncate(i) << std::endl;
|
|
}
|
|
|
|
Ray a({420, 0, 0}, {1, 0, 0});
|
|
|
|
|
|
std::cout << a << std::endl;
|
|
std::cout << "j3ml demo coming soon" << std::endl;
|
|
return 0;
|
|
}
|
|
|
|
#ifdef __WIN32
|
|
extern "C" {
|
|
int wmain(int argc, wchar_t* argv[])
|
|
{
|
|
return main(argc, reinterpret_cast<char **>(argv));
|
|
}
|
|
};
|
|
#endif |