Commit graph

56 commits

Author SHA1 Message Date
f9dbc9138f Add a quadratic solver that assumes real roots 2020-11-04 10:31:02 +03:00
e8219b7139 Fix error in quadratic solver 2020-11-04 10:30:37 +03:00
d9f06efb57 Add quadratic solver 2020-10-24 19:36:58 +03:00
ef3fa4b091 Add box::dimensions 2020-10-24 14:33:00 +03:00
486f5f5a77 Rename box::size -> box::volume 2020-10-24 14:32:53 +03:00
42561ccadb Add distance(point,segment) 2020-10-21 22:26:41 +03:00
4de7d345a3 Fix orthographic transform inverse 2020-10-21 22:26:27 +03:00
1b3c412102 Fix orthographic transform applied to vectors & points 2020-10-21 22:26:12 +03:00
c1d9095327 Change geom::length behavior: always (max-min), even if empty 2020-10-21 22:23:57 +03:00
10e00d7c92 Add some meshing utilities 2020-10-16 07:37:44 +03:00
639f8650d4 Support constructing a matrix by rows/columns 2020-10-16 07:37:22 +03:00
6eacee38f0 Add constructors to camera classes 2020-10-16 07:36:36 +03:00
9b8026d5ba Make matrix_camera template on base projection camera 2020-10-14 22:15:52 +03:00
c562137218 Add lerp(inverval, t) 2020-10-14 22:15:15 +03:00
420695a42b Add slerp implementation for vectors 2020-10-08 10:56:55 +03:00
dc0f08e5c3 Add generic ort(vector) implementation 2020-10-08 10:48:03 +03:00
bd861a13c7 Add interval<T> argument deduction rule 2020-10-08 10:47:40 +03:00
3472bf056b Add geom::cast for intervals and boxes 2020-10-04 11:15:23 +03:00
f18fbfdcdb Fix scale transformation matrix 2020-10-03 18:44:18 +03:00
eb1f5d49ff Add a free-flying camera 2020-10-02 19:18:55 +03:00
d421fc8c65 Add easing function, move gradient to a separate header 2020-10-01 09:44:47 +03:00
1e4fb66a89 Move generic lerp to math.hpp 2020-10-01 09:44:47 +03:00
d72e01e34e Add a gradient helper class 2020-09-30 18:59:47 +03:00
4bb287eb70 Add n-dim versions of orientation(points) and add orientation(vectors) 2020-09-30 07:22:27 +03:00
767eb786d5 Add a helper for triangulating convex polygons 2020-09-30 07:21:40 +03:00
fb9134993c Add a file for general geometric mesh utilities 2020-09-29 19:18:39 +03:00
ebcd2906a8 Move deg, rad to math.hpp 2020-09-29 19:18:39 +03:00
2b57e3e696 Add generic affine transform class & unify transform interfaces 2020-09-29 19:18:35 +03:00
98ff134d3a Add point-box distance 2020-09-28 11:03:30 +03:00
9a47bddb73 Add math utilities header & sqr function 2020-09-28 11:03:19 +03:00
e7e419a931 Add arbitrary-matrix camera 2020-09-27 11:59:57 +03:00
6c4ed1b61d Fix gram_schmidt recursive base ODR 2020-09-27 11:59:33 +03:00
81cafa6f05 Add ray-simplex intersection 2020-09-26 23:23:40 +03:00
5d44efa2ea Add geom::point::zero() 2020-09-24 12:44:36 +03:00
1571e9032b Add ray-box intersection 2020-09-23 22:25:39 +03:00
fb0d926a73 Fix geom::intersection template argument deduction issues 2020-09-23 22:25:28 +03:00
cf99917272 Add geom::interval::full 2020-09-23 22:24:43 +03:00
4410597e44 Add geom::ray primitive 2020-09-23 22:23:37 +03:00
2dd9ebae76 Add camera::direction() 2020-09-23 21:56:25 +03:00
d2d88ba7c5 Add 'psemek-' prefix to all psemek targets 2020-09-21 09:04:40 +03:00
67ad584d48 Add interval::center & box::center 2020-09-20 19:43:41 +03:00
c87a8a5c71 Add a CMake option for robust geom predicates 2020-09-14 15:30:09 +03:00
d250becf43 Fix missing includes 2020-09-14 11:32:33 +03:00
3444ac9984 Support setting perspective camera fov by aspect ratio 2020-09-13 16:39:11 +03:00
66f9878dd1 Add deg<->rag conversions 2020-09-13 16:38:50 +03:00
0453d4e15d Be more permissive with vector & point constructor argument types & array index types 2020-09-13 12:49:34 +03:00
7697adcc68 Add volume & normal of a simplex 2020-09-13 10:35:16 +03:00
007fd12240 Rename cross(v,v) to ort(v...), cross left as convenience 2020-09-13 10:34:50 +03:00
6e2277ded3 Change pi constant type to long double 2020-09-10 18:14:52 +03:00
22726bc565 Fix spherical camera elevation angle 2020-08-31 10:20:19 +03:00