Sha256: 951f2b11639688dd8e59ca5dab89dea233983bc749c2d4f7d050a5c3d8facdf5
Contents?: true
Size: 1.04 KB
Versions: 3
Compression:
Stored size: 1.04 KB
Contents
#include <Gosu/Math.hpp> #include <cmath> #include <cstdlib> double Gosu::random(double min, double max) { double rnd = std::rand(); return rnd / RAND_MAX * (max - min) + min; } double Gosu::offsetX(double angle, double radius) { return +std::sin(angle / 180 * pi) * radius; } double Gosu::offsetY(double angle, double radius) { return -std::cos(angle / 180 * pi) * radius; } double Gosu::angle(double fromX, double fromY, double toX, double toY, double def) { double distX = toX - fromX; double distY = toY - fromY; if (distX == 0 && distY == 0) return def; else return normalizeAngle(radiansToGosu(std::atan2(distY, distX))); } double Gosu::angleDiff(double from, double to) { return std::fmod(to - from + 180, 360) - 180; } double Gosu::normalizeAngle(double angle) { double result = std::fmod(angle, 360); if (result < 0) result += 360; return result; } double Gosu::distance(double x1, double y1, double x2, double y2) { return std::sqrt(distanceSqr(x1, y1, x2, y2)); }
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
gosu-0.7.13.2 | GosuImpl/Math.cpp |
gosu-0.7.13.3 | GosuImpl/Math.cpp |
gosu-0.7.13 | GosuImpl/Math.cpp |