Re: [gnome-love] Picture on a ball canvas



Hi Blagoj,

Le 27/11/2011 09:44, Blagoj Kupev a écrit :
Thanks for your reply, it was not late. After your mail i've been trying
to use cairo and i must say it is amazing. :)

Happy that was useful :-)

I've been looking into usage of matrix functionality, but i'm still
uncertain how to achieve what i'm looking for. As i've understood the
"matrix functionality", it is applied between user and device "space"
and it is one matrix for all pixels. I beleive that i need to apply
several matrices for the whole picture to get different "distortions" on
different parts of the picture.

Well, AFAIR, using several matrixes can always be reduced to one single matrix. You should give a look to barrel distortion and pincushion distortion:
http://en.wikipedia.org/wiki/Lens_Distortion

Some specialized free software already do that kind of distortion correction. This is the case for the panorama tools:
http://wiki.panotools.org/Lens_correction_model

You may also find some GIMP plugins for that, and find out how which matrix they're using, or see how it's done in hugin (frome the panora tools):
http://libregraphicsworld.org/blog/entry/creating-lens-distorsion-models-with-hugin-lens-calibrator

I think that function cairo_user_to_device  will do the work to define
different matrices for each pixel, but i do not know how to use it. To
me it seems that it is only calculating the position of the pixel based
on content of CTM. But then i do not see for which purpose i can use
this function?

Well, in general, you don't even care! You just need to define the right matrix transformation, draw normaly your image, and the final result will be drawn according to your matrix: your distorded image.

BTW, do you know how can i put different matrices for different parts of
the picture?

I'm not even sure that's what you need. I'm pretty sure you can do it all with one single matrix, with some variable values in it.

The Wikipedia also gives a link to this page which has all the thery behind it:
http://www.ipol.im/pub/algo/ags_algebraic_lens_distortion_estimation/

Good luck,
--
Luis



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]