mirror of
https://github.com/recp/cglm.git
synced 2026-02-17 03:39:05 +00:00
squared distance for vec3
This commit is contained in:
@@ -56,6 +56,7 @@ Functions:
|
|||||||
#. :c:func:`glm_vec_inv_to`
|
#. :c:func:`glm_vec_inv_to`
|
||||||
#. :c:func:`glm_vec_normalize`
|
#. :c:func:`glm_vec_normalize`
|
||||||
#. :c:func:`glm_vec_normalize_to`
|
#. :c:func:`glm_vec_normalize_to`
|
||||||
|
#. :c:func:`glm_vec_distance2`
|
||||||
#. :c:func:`glm_vec_distance`
|
#. :c:func:`glm_vec_distance`
|
||||||
#. :c:func:`glm_vec_angle`
|
#. :c:func:`glm_vec_angle`
|
||||||
#. :c:func:`glm_vec_rotate`
|
#. :c:func:`glm_vec_rotate`
|
||||||
@@ -366,6 +367,17 @@ Functions documentation
|
|||||||
| *[in]* **v2** vector2
|
| *[in]* **v2** vector2
|
||||||
| *[out]* **dest** center point
|
| *[out]* **dest** center point
|
||||||
|
|
||||||
|
.. c:function:: float glm_vec_distance2(vec3 v1, vec3 v2)
|
||||||
|
|
||||||
|
squared distance between two vectors
|
||||||
|
|
||||||
|
Parameters:
|
||||||
|
| *[in]* **mat** vector1
|
||||||
|
| *[in]* **row1** vector2
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
| squared distance (distance * distance)
|
||||||
|
|
||||||
.. c:function:: float glm_vec_distance(vec3 v1, vec3 v2)
|
.. c:function:: float glm_vec_distance(vec3 v1, vec3 v2)
|
||||||
|
|
||||||
distance between two vectors
|
distance between two vectors
|
||||||
|
|||||||
@@ -148,6 +148,10 @@ CGLM_EXPORT
|
|||||||
void
|
void
|
||||||
glmc_vec_center(vec3 v1, vec3 v2, vec3 dest);
|
glmc_vec_center(vec3 v1, vec3 v2, vec3 dest);
|
||||||
|
|
||||||
|
CGLM_EXPORT
|
||||||
|
float
|
||||||
|
glmc_vec_distance2(vec3 v1, vec3 v2);
|
||||||
|
|
||||||
CGLM_EXPORT
|
CGLM_EXPORT
|
||||||
float
|
float
|
||||||
glmc_vec_distance(vec3 v1, vec3 v2);
|
glmc_vec_distance(vec3 v1, vec3 v2);
|
||||||
|
|||||||
@@ -633,6 +633,21 @@ glm_vec_center(vec3 v1, vec3 v2, vec3 dest) {
|
|||||||
glm_vec_scale(dest, 0.5f, dest);
|
glm_vec_scale(dest, 0.5f, dest);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief squared distance between two vectors
|
||||||
|
*
|
||||||
|
* @param[in] v1 vector1
|
||||||
|
* @param[in] v2 vector2
|
||||||
|
* @return returns squared distance (distance * distance)
|
||||||
|
*/
|
||||||
|
CGLM_INLINE
|
||||||
|
float
|
||||||
|
glm_vec_distance2(vec3 v1, vec3 v2) {
|
||||||
|
return glm_pow2(v2[0] - v1[0])
|
||||||
|
+ glm_pow2(v2[1] - v1[1])
|
||||||
|
+ glm_pow2(v2[2] - v1[2]);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief distance between two vectors
|
* @brief distance between two vectors
|
||||||
*
|
*
|
||||||
@@ -643,9 +658,7 @@ glm_vec_center(vec3 v1, vec3 v2, vec3 dest) {
|
|||||||
CGLM_INLINE
|
CGLM_INLINE
|
||||||
float
|
float
|
||||||
glm_vec_distance(vec3 v1, vec3 v2) {
|
glm_vec_distance(vec3 v1, vec3 v2) {
|
||||||
return sqrtf(glm_pow2(v2[0] - v1[0])
|
return sqrtf(glm_vec_distance2(v1, v2));
|
||||||
+ glm_pow2(v2[1] - v1[1])
|
|
||||||
+ glm_pow2(v2[2] - v1[2]));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|||||||
@@ -206,6 +206,12 @@ glmc_vec_center(vec3 v1, vec3 v2, vec3 dest) {
|
|||||||
glm_vec_center(v1, v2, dest);
|
glm_vec_center(v1, v2, dest);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CGLM_EXPORT
|
||||||
|
float
|
||||||
|
glmc_vec_distance2(vec3 v1, vec3 v2) {
|
||||||
|
return glm_vec_distance2(v1, v2);
|
||||||
|
}
|
||||||
|
|
||||||
CGLM_EXPORT
|
CGLM_EXPORT
|
||||||
float
|
float
|
||||||
glmc_vec_distance(vec3 v1, vec3 v2) {
|
glmc_vec_distance(vec3 v1, vec3 v2) {
|
||||||
|
|||||||
Reference in New Issue
Block a user