Files
2026-04-03 12:34:06 +02:00

57 lines
1.6 KiB
Plaintext

#include "fastmath.hpp"
#include "polygon.hpp"
#include <QApplication>
#include <QImage>
#include <QLabel>
#include <QPixmap>
#include <iostream>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <unistd.h>
// testing fastmath.h
/*
void test(vec<2> *in) {
vec<2> v = {{decimal(1.0), decimal(0.5)}};
in = &v;
}*/
int main(int argc, char *argv[]) {
vec3 v1 = vec3(5.0f, 40.0f, 2.0f);
vec3 v2 = vec3(5.0, 10.0, 2.2);
vec3 v3 = v1;
std::cout << v1 << v2 << decimal(0.5) * v2 << (v1 + v2) << v1 * v2 << "\n"
<< v1.cross(v2) << v1.len() << "\n"
<< v1.normalize() << std::endl;
decimal d = decimal(2.0f);
d += decimal(0.5);
std::cout << "\n"
<< decimal(2.0) / decimal(-0.5) << "\n"
<< decimal(2.0).sqrt() << "\n"
<< d << std::endl;
polygon p = {vec3(0.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(1.0, 0.0, 0.0)};
std::cout << p.contains(vec3(0.1, 0.1, 0.1)) << std::endl;
std::cout << matN<3>::identity() * v1 << std::endl;
// QApplication a(argc, argv);
//
// uint8_t *pixel = new uint8_t[64 * 64 * 3];
//
// for (int i = 1; i < 64 * 64 * 3; i += 3) {
// pixel[i] = 255;
// }
//
// QWidget widget;
// widget.setAutoFillBackground(true);
// widget.setGeometry(0, 0, 500, 500);
// QLabel display(&widget);
// QImage img((unsigned char *)pixel, 64, 64, QImage::Format_RGB888);
// display.setPixmap(QPixmap::fromImage(img).scaled(widget.size()));
// widget.show();
// return a.exec();
}