Files
PDModdingCommunity_PD-Loader/source-code/source/plugins/TLAC/Utilities/Math.cpp
T
2019-07-30 13:48:28 +02:00

37 lines
873 B
C++

#define _USE_MATH_DEFINES
#include "Math.h"
namespace TLAC::Utilities
{
float ToDegrees(float radians)
{
return radians * (180.0f / M_PI);
}
float ToRadians(float degrees)
{
return (degrees * M_PI) / 180.0f;
}
Vec2 GetDirection(float degrees)
{
float radians = ToRadians(degrees);
return Vec2(cos(radians), sin(radians));
}
Vec2 PointFromAngle(float degrees, float distance)
{
float radians = ToRadians(degrees + 90.0f);
return Vec2(-1 * std::cos(radians) * distance, -1 * std::sin(radians) * distance);
}
float AngleFromPoints(Vec2 p0, Vec2 p1)
{
return (float)(std::atan2(p1.Y - p0.Y, p1.X - p0.X) * 180.0 / M_PI) + 90.0f;
}
float ConvertRange(float originalStart, float originalEnd, float newStart, float newEnd, float value)
{
return newStart + ((value - originalStart) * (newEnd - newStart) / (originalEnd - originalStart));
}
}