Commit graph

182 commits

Author SHA1 Message Date
5a0469364f Add geom::contains(box, box) 2022-12-24 23:53:46 +03:00
3f382651c4 Add geom::polygon_distance 2022-12-15 20:11:06 +03:00
d01a8186d8 Add geom::polygon_contains 2022-12-15 20:10:57 +03:00
8688b84982 Make geom::gram_schmidt return false instead of normalizing a zero vector 2022-11-20 01:39:05 +03:00
445ac3419e Fix NaN in geom::slerp 2022-11-19 01:57:33 +03:00
28fbe8daf8 Disable GMP dependence if PSEMEK_ROBUST_PREDICATES is not set 2022-10-01 14:43:31 +03:00
4c976272c5 Switch from define-based to tag-based robust predicates switch 2022-09-16 18:57:53 +03:00
46458abd71 Improve the non-robust geom::in_circle predicate and generalize to any directions 2022-09-16 17:56:11 +03:00
742c74e07e Revert defaulted three-way comparison: ubuntu 22.04 doesn't have mingw-11 yet 2022-08-06 19:15:39 +03:00
c28b93aadc Use defaulted three-way comparison for geom::vector, point, and matrix 2022-08-05 12:02:41 +03:00
48801a69da Add geom::smoothstep & smootherstep 2022-08-04 11:43:07 +03:00
96d9a3e192 Add geom::intersection(segment,cylinder) 2022-07-10 11:13:37 +03:00
bdb1a203ff Add geom::cylinder deduction guides 2022-07-10 11:13:26 +03:00
3b509fb358 Fix geom::shortest_arc in case of 180 degree rotation 2022-07-09 11:53:39 +03:00
d157ba1cd5 Add geom::sphere deduction guide 2022-07-09 00:00:01 +03:00
11c431f38c Add geom::shortest_arc to compute smallest rotation between two 3D vectors 2022-07-05 18:32:33 +03:00
d405d3d502 Fix geom::angle(vector,vector) for dimension > 2 2022-07-05 18:32:12 +03:00
eb1e367085 Implement spaceship operator for geom::vector 2022-07-04 18:22:42 +03:00
63662124d5 Add geom::half_open_contains 2022-06-29 12:12:27 +03:00
0cb197a6c4 Fix geom::intersection(segment,box) for axis-aligned segments 2022-06-19 22:25:56 +03:00
b77060abac Support retrieving geom::matrix row or column as a vector 2022-06-17 18:51:39 +03:00
141c707562 Add geom::subdivide for subdividing an indexed mesh 2022-06-09 11:15:10 +03:00
8e081d6d06 Add geom::smooth_normals 2022-06-09 11:14:47 +03:00
0c3f4c3134 Fix geom::angle(vector, vector) 2022-05-30 12:10:25 +03:00
a22ea3d02e Refactor geom::bezier: extract a free-function de Casteljau's algorithm & support changing control points 2022-05-07 14:00:29 +03:00
afbf49950f Add geom::make_min & make_max 2022-03-16 16:23:57 +03:00
b4584f758d Add segment-sphere intersection 2022-02-21 13:05:35 +03:00
7a14ee82e6 Fix geom::intersect 2022-02-21 13:05:26 +03:00
d2a20d7882 Add safe round-up integer division 2022-02-11 14:26:15 +03:00
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