const x={x:0,y:0};function y(n,t){return{x:n.x-t.x,y:n.y-t.y}}function r(n){return{x:n.x+n.width/2,y:n.y+n.height/2}}function o(n,t){return{x:n.x+t.x,y:n.y+t.y}}function h(n,t){return{x:n.x-t.x,y:n.y-t.y}}function e(n,t){return{x:n.x*t,y:n.y*t}}function u(n,t){return Math.sqrt((n.x-t.x)**2+(n.y-t.y)**2)}function f(n){return u(x,n)}function c(n,t){const i=y(n,t);return Math.atan2(i.x,i.y)}function s(n,t){return{x:(n.x-t.x)/t.width,y:(n.y-t.y)/t.height}}function d(n,t){return{x:n.x*t.width,y:n.y*t.height}}function M(n,t){return{x:n.x/2+t.x/2,y:n.y/2+t.y/2}}function l(n,t){return{x:Math.cos(t)*n.x-Math.sin(t)*n.y,y:Math.sin(t)*n.x+Math.cos(t)*n.y}}export{x as NULL_POS,o as add,c as angle,u as distance,M as middle,r as middlePos,h as minus,e as mul,f as norm,d as posWithinBase,s as ratioWithinBase,y as relativeTo,l as rotate};