adding vec2_center

This commit is contained in:
duarm
2023-10-11 16:51:14 -03:00
parent 509078817c
commit 9484155c98
6 changed files with 50 additions and 0 deletions

View File

@@ -125,6 +125,10 @@ CGLM_EXPORT
void
glmc_vec2_rotate(vec2 v, float angle, vec2 dest);
CGLM_EXPORT
void
glmc_vec2_center(vec2 a, vec2 b, vec2 dest);
CGLM_EXPORT
float
glmc_vec2_distance2(vec2 a, vec2 b);

View File

@@ -41,6 +41,7 @@
CGLM_INLINE void glm_vec2_normalize(vec2 v)
CGLM_INLINE void glm_vec2_normalize_to(vec2 vec, vec2 dest)
CGLM_INLINE void glm_vec2_rotate(vec2 v, float angle, vec2 dest)
CGLM_INLINE void glm_vec2_center(vec2 a, vec2 b, vec2 dest)
CGLM_INLINE float glm_vec2_distance2(vec2 a, vec2 b)
CGLM_INLINE float glm_vec2_distance(vec2 a, vec2 b)
CGLM_INLINE void glm_vec2_maxv(vec2 v1, vec2 v2, vec2 dest)
@@ -493,6 +494,20 @@ glm_vec2_rotate(vec2 v, float angle, vec2 dest) {
dest[1] = s * x1 + c * y1;
}
/**
* @brief find center point of two vector
*
* @param[in] a vector1
* @param[in] b vector2
* @param[out] dest center point
*/
CGLM_INLINE
void
glm_vec2_center(vec2 a, vec2 b, vec2 dest) {
glm_vec2_add(a, b, dest);
glm_vec2_scale(dest, 0.5f, dest);
}
/**
* @brief squared distance between two vectors
*