27 lines
634 B
C++
27 lines
634 B
C++
#include "geometry.h"
|
|
|
|
Vector3 calculate_normal(const Vector3& v1, const Vector3& v2, const Vector3& v3)
|
|
{
|
|
Vector3 normal;
|
|
const Vector3 U = v2 - v1;
|
|
const Vector3 V = v3 - v1;
|
|
|
|
normal.x = U.y * V.z - U.z * V.y;
|
|
normal.y = U.z * V.x - U.x * V.z;
|
|
normal.z = U.x * V.y - U.y * V.x;
|
|
|
|
return normal.normalize();
|
|
}
|
|
|
|
const float random(const float& rangeMin, const float& rangeMax)
|
|
{
|
|
const float range = rangeMax - rangeMin;
|
|
return rangeMin + (float(rand())/float(RAND_MAX))*range;
|
|
}
|
|
|
|
const float random_int(const int& rangeMin, const int& rangeMax)
|
|
{
|
|
const int range = rangeMax - rangeMin;
|
|
return rangeMin + (rand() % range);
|
|
}
|