sheaf
7eb16b4782
tiny build fixes
2023-06-15 00:39:03 +02:00
sheaf
96aa38b3c3
improve rotations in interval arithmetic
...
Computing a rotation in interval arithmetic can lose tightness.
Instead of computing
a cos phi + b sin phi
which doesn't account for the difference in phase in the two sinusoids,
it is better to use
sqrt (a² + b²) * cos ( phi - atan2(a,b) )
which correctly estimates the maximum amplitude of the sum to be
sqrt(a²+b²) instead of abs(a) + abs(b).
This seems to worsen the performance of the interval Newton method
at the moment, possibly due to the complexity of the new formula,
which involves computing atan(b/a). Further investigation is needed.
2023-05-14 21:38:25 +02:00
sheaf
50d99e1e4b
improve intervallic Bézier evaluation
...
Now we evaluate Bézier curves using an AABB computation. This results
in tighter intervals, which means that the cusp-finding algorithm
is better behaved.
2023-04-25 23:07:18 +02:00
sheaf
7db3cbef33
more work into observability
2023-03-13 22:09:15 +01:00
sheaf
52420a1169
experiment: FMA backend for interval arithmetic
...
also includes the start of a way to observe which equations
are being solved, which should help with improving the performance of
the interval Newton method
2023-03-12 19:15:58 +01:00
sheaf
cd6b7368f8
Update cabal.project for GHC 9.6
2023-02-09 17:53:25 +01:00
sheaf
4cd11fa02f
add export to SVG functionality
2023-02-03 14:16:57 +01:00
sheaf
8ac22b4738
some optimisations
2023-01-29 04:03:36 +01:00
sheaf
4174d9b5b6
rejigging
2023-01-28 01:26:47 +01:00
sheaf
1ae84fec97
precondition before taking Gauss-Seidel step
2023-01-23 13:58:52 +01:00
sheaf
78c03b99e1
change fitpoint render size
2023-01-23 02:01:56 +01:00
sheaf
86874882e4
fix bug in partitions function
2023-01-23 02:01:03 +01:00
sheaf
dd503df126
draw cusps in debug mode
2023-01-23 00:37:56 +01:00
sheaf
d2a485f71e
Interval Newton method for cusp isolation
2023-01-22 18:00:58 +01:00
sheaf
eb68c27941
add separate EnvelopeEquation module (forgot to add earlier)
2023-01-22 18:00:47 +01:00
sheaf
bdcac18ab9
add chain rule R^n -> R -> R
2023-01-22 04:51:23 +01:00
sheaf
236055b4ca
do the interval brush stroking at degree 3
2023-01-21 15:24:08 +01:00
sheaf
6945aac704
improve show instances
2023-01-20 17:42:17 +01:00
sheaf
25d738b252
more WIP with TH now
2023-01-20 16:34:04 +01:00
sheaf
c7cd6c2a1c
WIP on monomial bases
2023-01-16 02:31:31 +01:00
sheaf
ba07fce595
don't use avx512 in rounded-hw
2023-01-14 03:22:04 +01:00
sheaf
684550a795
implement intervallic brushes
2023-01-13 23:10:06 +01:00
sheaf
09c1bdd948
continue interval arithmetic integration
2023-01-13 15:23:33 +01:00
sheaf
a4e9c1cf32
preparation for interval arithmetic
2023-01-13 06:32:34 +01:00
sheaf
33a3cbfaa1
find solutions on nearby curves
2023-01-11 20:05:56 +01:00
sheaf
094801ca67
Merge branch 'envelope' into 'master'
...
Compute brush strokes using the envelope equation
See merge request sheaf/metabrush!4
2023-01-11 14:27:45 +00:00
sheaf
8fc5e6c9b8
compute brush strokes using the envelope equation
2023-01-11 15:26:12 +01:00
sheaf
43098dec01
Newton-Raphson implementation
2023-01-11 15:25:52 +01:00
sheaf
671dae5474
use R2 instead of Point2D & Vector2D
2023-01-09 04:27:08 +01:00
sheaf
22820b328d
more cabal file cleanups
2023-01-09 02:54:42 +01:00
sheaf
cca4558985
put all colours into a separate CSS file
2023-01-08 21:12:00 +01:00
sheaf
5bd4e7f4cf
framework for brush differentiation
2023-01-08 17:16:14 +01:00
sheaf
4e5c848883
kill off brush EDSL
2022-12-11 02:33:34 +01:00
sheaf
e6565aeb00
add hie.yaml
2022-12-04 17:53:39 +01:00
sheaf
066a4e653f
more GHC 9.4 build fixes
2022-12-04 17:25:44 +01:00
sheaf
bcd38ed791
clean up build steps & instructions
2022-12-04 15:52:29 +01:00
sheaf
c80fdac30a
switch to using eigen instead of hmatrix
2022-06-17 16:21:52 +02:00
sheaf
4e15380c7e
use diagrams to parse MetaFont paths
2022-02-13 17:30:54 +01:00
sheaf
64e45f126b
Refactor module hierarchy, use internal records
2022-02-11 22:05:13 +01:00
sheaf
8333f69dc2
improvements to menubar theming
2022-02-10 00:07:44 +01:00
sheaf
eba08a6edd
add first-class functions to brush language
2021-05-25 13:45:21 +02:00
sheaf
5ff935b4b2
update render & select for new brush manipulation
2021-05-24 17:37:26 +02:00
sheaf
15d50f8d76
add signed curvature computation
2021-05-16 00:33:58 +02:00
sheaf
7431e8ba67
compute roots of envelope equation
2021-05-15 23:27:21 +02:00
sheaf
df2469487d
add cubic Bézier crunode computation
2021-05-15 21:24:58 +02:00
sheaf
9f16cff978
fix brush join orientations
2021-05-13 22:07:49 +02:00
sheaf
570a593f4f
fix stupid error in quadratic solver
2021-05-12 15:16:26 +02:00
sheaf
2983943363
compute correct open stroke caps
2021-05-12 13:58:30 +02:00
sheaf
c64a4140c4
fix orientation of brush joins
2021-05-10 23:51:05 +02:00
sheaf
b46dc2a140
start reworking brush stroking
2021-05-10 18:02:42 +02:00