Adding lerp and scale to Vec2D.
diff --git a/Source/Vec2D.cpp b/Source/Vec2D.cpp
index 3136fbc..8c26bae 100644
--- a/Source/Vec2D.cpp
+++ b/Source/Vec2D.cpp
@@ -76,4 +76,18 @@
 float Vec2D::dot(const Vec2D& a, const Vec2D& b)
 {
 	return a[0] * b[0] + a[1] * b[1];
+}
+
+void Vec2D::lerp(Vec2D& o, const Vec2D& a, const Vec2D& b, float f)
+{
+	float ax = a[0];
+	float ay = a[1];
+	o[0] = ax + f * (b[0] - ax);
+	o[1] = ay + f * (b[1] - ay);
+}
+
+void Vec2D::scale(Vec2D& o, const Vec2D& a, float scale) 
+{
+	o[0] = a[0] * scale;
+	o[1] = a[1] * scale;
 }
\ No newline at end of file
diff --git a/Source/Vec2D.hpp b/Source/Vec2D.hpp
index c1c36da..531dd52 100644
--- a/Source/Vec2D.hpp
+++ b/Source/Vec2D.hpp
@@ -28,6 +28,8 @@
 			static void copy(Vec2D& result, const Vec2D& a);
 			static void normalize(Vec2D& result, const Vec2D& a);
 			static float dot(const Vec2D& a, const Vec2D& b);
+			static void lerp(Vec2D& o, const Vec2D& a, const Vec2D& b, float f);
+			static void scale(Vec2D& o, const Vec2D& a, float scale);
 	};
 
 	inline Vec2D operator*(const Mat2D& a, const Vec2D& b)