|
|
About ::
TODO ::
Blog ::
RSS ::
Old blog ::
Projects ::
GIT ::
Gallery ::
Notes
Sun, 13 Jul 2008
Hermite interpolation.

This interpolation uses cardinal splines approach, and namely
Catmull-Rom splines. Next task is to test how the Kochanek-Bartels splines (also called TCB-splines)
behave. The latter are used in all popular 3d modelling engines. Since math behind them
is very non-trivial, I will try just to use existing formulas for hermite tangents, which
are quite simple.
Now its time to think, how to use this knowledge and how to apply given approach
to detect and decode letters on the image...
/devel/math/bezier :: Link / Comments ()
Sun, 20 May 2007
First Bezier curve.
Here is a result:

Bezier curve construction is very sensitive to the order of the control points, since
resulted Bezier curve is a weighted sum of Bernstain polynomials, which do not depend
on control points, but each polynomial is multiplied with the single control point,
so mixing them results in completely different picture, while pixel image will still be the same.
As a conclusion, it is not possible to use raw pixel data obtained from
captha
images, instead they must be converted into ordered set of points, which
represents control steps: end points, crosses and rounds.
When this task is solved, it will be quite simple to construct a letter using several Bezier
curves and start working with it.
Back to drawing board...
/devel/math/bezier :: Link / Comments ()
Sat, 19 May 2007
Bezier curves.
For those, who wonders (like me) about vector transformations,
I can recommend to start learning Bezier curves math. It is pretty simple,
but too powerful to believe. For example I always wondered how to approximate
a circle or ellipse, using Bezier curves and derivatives it becomes quite usual task
of approximation.
This is only because of two things, first one is that Bezier curves are parametrized
curves and not functions in usual presentation (but superposition
of basis set of usual functions called Bernstein polynomials), so it can have several results
for the same argument (with different parameter value). Second feature
of this curves is that they are fully defined via its control points,
so scaling and other affine transformations become trivial.
Building a result for given inputs is a bit more complex than with usual functions,
but using de Casteljau's algorithm it is not a big problem too.
I will use b-splines to approximate database letters and then transform
them to match requested image to solve captcha
problems. Probably I will create a math ground for such comparison,
but maybe I will just limit myself with simple 'brute force'.
Even if it will fail, I will create a eye-candy library to create vectorized
images (pretty simple, but that is enough for now).
Stay tuned, maybe tomorrow I will have something to play with, since I devoted the whole
day reading various math theories behind Bezier curves and b-spline approximation,
so I have some (quite small of course, but yet powerful) ground to start with.
/devel/math/bezier :: Link / Comments ()
|