Eladkay / EllipticCurve

Elliptic curve cryptography learning aid & visualizer
2 stars 0 forks source link

Smootify curves #2

Closed Eladkay closed 4 years ago

Eladkay commented 5 years ago

https://www.particleincell.com/2012/bezier-splines/

See 3b1b/manim for bezier.py and vectorized_mobject.py and functions.py

There is no need to do anything complex to solve the linear system of equations. Just copy over code from Eladkay/EqSolver, it’ll be okay. It is slow - very slow. It does the actual matrix inversion and all the determinants. Its complexity is off the charts. Maybe it’d be a good idea to do one of the following: 1. Rewrite it to use a more efficient algorithm like Gaussian elimination, 2. Scrap it and use a specialized algorithm like the one described that is specialized to triangular matrices, 3. Find a way to not do the calculations so many times per second.

This is currently the hardest challenge this project is facing. It is important to maintain compatibility and abstractness wrt Field.kt.

Eladkay commented 5 years ago

no it's not done yet

Eladkay commented 5 years ago

I would like to make an observation - with the current error functions at the time of this comment (b2a45a4) the main non-smoothness points occur near the maxima and minima in y - I have calculated the x coordinate of these points to be +-sqrt(-b/3) for b>0 over the reals. Attempts in b2a45a4 to fix this using this observation were unsuccessful.

Eladkay commented 4 years ago

This is interesting: https://github.com/andreacorbellini/ecc/blob/master/interactive/ec.js

Eladkay commented 4 years ago

https://ciechanow.ski/drawing-bezier-curves/?utm_source=share&utm_medium=ios_app&utm_name=iossmf

Eladkay commented 4 years ago

http://pomax.github.io/bezierinfo/