aboutsummaryrefslogtreecommitdiff
path: root/util.c
blob: bd865dfd1124c7edbb066d105a6fa4a993330e21 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <u.h>
#include <libc.h>
#include <draw.h>
#include "dat.h"
#include "fns.h"

double
round(double n)
{
	return floor(n + 0.5);
}

Point
rotatept(Point p, double θ, Point c)
{
	Point r;

	p = subpt(p, c);
	r.x = round(p.x*cos(θ) - p.y*sin(θ));
	r.y = round(p.x*sin(θ) + p.y*cos(θ));
	r = addpt(r, c);
	return r;
}

double
hypot3(double x, double y, double z)
{
	return hypot(x, hypot(y, z));
}