Commit graph

153 commits

Author SHA1 Message Date
29bdfb4dd2 Add geom::box comparison operators 2022-02-05 12:38:51 +03:00
fdaaf58d20 Add geom::quaternion::i,j,k 2022-01-12 19:22:10 +03:00
7babed1c57 Fix geom::acos_over_sqrt_1_minus_x2 to allow arguments slightly larger than 1 to prevent NaNs 2022-01-12 19:18:24 +03:00
efc22a5bd7 Add stable implementation of acos(x)/sqrt(1-x*x) 2022-01-10 17:45:43 +03:00
23551f681d Add geom::log(quaternion) 2022-01-09 19:21:35 +03:00
4c48790497 Add quaternion/scalar operator & rename quaternion norm -> length 2022-01-07 23:51:34 +03:00
1f0e4e545e Add quaternion derivative to angular momentum transform matrix 2022-01-07 23:49:14 +03:00
29e62192ce Add begin(simplex) & end(simplex) 2022-01-07 23:48:30 +03:00
cae538d7a5 Add geom::matrix::diagonal 2021-12-30 17:21:10 +03:00
64b3e876ad Add rotate(quat,vector,quat) 2021-12-27 15:14:23 +03:00
36854905fc Add quaternion += and -= 2021-12-27 11:49:12 +03:00
0a2cfda21f Use conjugate instead of inverse in quaternion rotation 2021-12-26 10:46:37 +03:00
f9e6a6e37e Add homogeneous matrix to affine/linear matrix conversion 2021-12-25 14:19:34 +03:00
9a50990c5c Add geom::submatrix 2021-12-25 14:19:22 +03:00
12b6b3169c Implement ray-cylinder intersection 2021-12-23 10:57:11 +03:00
e0312b66b1 Fix ray-sphere intersection: return an interval 2021-12-23 10:56:58 +03:00
8eae072ec1 Add geom::cylinder primitive 2021-12-23 10:56:11 +03:00
93f4147941 Add n-dimensional dual numbers implementation 2021-12-01 21:23:13 +03:00
ec86b0c0aa Add geom::signed_distance 2021-12-01 21:22:00 +03:00
44db0e8fee Add quaternion exponential 2021-08-17 12:45:52 +03:00
451b4c1e66 Add geom::sin_over_x 2021-08-17 12:45:41 +03:00
12ad3c1c43 Add quaternion stream output operator 2021-08-06 10:40:22 +03:00
4e16f5d9bf Add ray-sphere intersection 2021-07-24 12:00:54 +03:00
47e3970deb Add geom::sphere primitive 2021-07-24 12:00:46 +03:00
3e0060d9cb Add geom::normalized(ray) 2021-07-24 12:00:35 +03:00
a944f8c4f4 Add geom::rotate_towards 2021-07-23 23:28:16 +03:00
74a513c76b Fix geom::box::volume 2021-07-23 11:41:13 +03:00
4eef4046cb Add missing includes in geom/quaternion.hpp 2021-07-21 22:47:47 +03:00
2b46b38da2 Add geom::frac 2021-07-15 18:56:53 +03:00
e8076f528f Add geom::angle(quaternion, quaternion) 2021-07-14 22:35:03 +03:00
b51b0d3a94 Change quaternion coordinate order: wxyz -> xyzw 2021-07-13 11:45:11 +03:00
b9ea07f0f4 Ray-simplex intersection bugfix 2021-07-08 14:24:03 +03:00
6d7dbcdffe Add golden ratio constant 2021-05-30 23:09:55 +03:00
bdd32ad40f Add rotate(vector, angle) function 2021-05-17 20:20:39 +03:00
ebe3570b96 Fix geom::intersection 2021-05-08 22:01:57 +03:00
bcc908d064 Add lerp/unlerp for boxes 2021-04-25 16:41:29 +03:00
8780a2d7e5 Add angle(vector,vector) 2021-04-25 14:39:25 +03:00
bea016fac0 Add angle(vector<T,2>) 2021-04-25 14:39:16 +03:00
e02efd2f7b Add 2D angle -> direction function 2021-04-10 16:47:51 +03:00
78eec7085d Support creating box from endpoints 2021-04-10 16:47:22 +03:00
b45f605209 Fixes in quaternion inverse computation 2021-03-14 16:36:24 +03:00
b4731b77df Implement constructing quaternion from matrix 2021-03-13 16:41:19 +03:00
ee2f5960f4 Add idiv & imod functions 2021-03-12 14:42:31 +03:00
c835925ca7 Add geom::angle_difference 2021-03-11 21:34:03 +03:00
8284ea51bd Add geom::point hash 2021-03-09 23:06:45 +03:00
d9fb3b1be6 Add simplex + vector operator 2021-03-05 23:13:11 +03:00
4914be8099 Proper sfinae for vector & point constructors instead of static_assert 2021-03-04 18:37:07 +03:00
2f56f0caa2 Add hash for geom::vector 2021-03-04 14:29:09 +03:00
576bc8b91a Add geom::unlerp 2021-03-04 10:01:56 +03:00
32461e205e Add geom::clamp(point, box) 2021-03-04 10:01:49 +03:00