mirror of
https://github.com/Team4388/auto_planner.git
synced 2026-06-09 00:38:06 -06:00
Add files via upload
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
#include "mathutils.h"
|
||||
#include "../../gfx/gfx.h"
|
||||
#include <corecrt_math.h>
|
||||
|
||||
point scale_to_screen(
|
||||
double x,
|
||||
double y,
|
||||
double w_meters,
|
||||
double h_meters,
|
||||
double x_off,
|
||||
double y_off)
|
||||
{
|
||||
return (point) {
|
||||
.x = x * ((double) SCREEN_WIDTH / w_meters) + x_off,
|
||||
.y = y * ((double) SCREEN_HEIGHT / h_meters) + y_off,
|
||||
};
|
||||
}
|
||||
|
||||
point scale_to_field(
|
||||
double x,
|
||||
double y,
|
||||
double w_meters,
|
||||
double h_meters,
|
||||
double x_off,
|
||||
double y_off)
|
||||
{
|
||||
return (point) {
|
||||
.x = (x - x_off) / ((double) SCREEN_WIDTH / w_meters),
|
||||
.y = (y - y_off) / ((double) SCREEN_HEIGHT / h_meters),
|
||||
};
|
||||
}
|
||||
|
||||
bool within_box(point p, rect r) {
|
||||
return p.x >= r.x && p.y >= r.y &&
|
||||
p.x <= r.x + r.w && p.y <= r.y + r.h;
|
||||
}
|
||||
|
||||
point lerp_point(point a, point b, float p) {
|
||||
return (point) {
|
||||
a.x + (b.x - a.x) * p,
|
||||
a.y + (b.y - a.y) * p
|
||||
};
|
||||
}
|
||||
|
||||
double get_distance(point a, point b) {
|
||||
return sqrt(
|
||||
(a.x - b.x) * (a.x - b.x) +
|
||||
(a.y - b.y) * (a.y - b.y));
|
||||
}
|
||||
Reference in New Issue
Block a user