You will be travelling inside a torus made of Villarceau circles.
Click here to view the immersive video.
Tuesday, January 29, 2008
Video + immersive panorama
Pano2VR has a new feature of interactive VR movies (or said another way, video immersive panoramas). Here is my first attempt (the video is over 3MB, please be patient if you want to enjoy it fully).
Thursday, November 22, 2007
Sunday, October 21, 2007
Building Hugin in Ubuntu (Feisty Fawn and Edgy Eft)
This is a work-in-progress as I figure out what are the necessary steps one has to take to go from a scratch installation of Ubuntu (or Kubuntu, or Xubuntu) to a building environment for source packages of hugin and its related tools (autopano-sift-c, libpano13, enblend). This has been tested in Kubuntu Edgy Eft and Feisty Fawn, but of course no installation is ever the same and I would welcome your comments as to what packages you had to install, or what error messages you are facing.
About hugin
Hugin is a very versatile software to merge different photos into panoramas. It is open source and its development is quite active so people might benefit from building from the sources. This post is part of a recent push to try to get frequent builds in most operating systems (Linux, Mac OSX and Windows).
Basic setup
Installation of needed components. This is the most difficult part, since once you have all the components you will be able to build hugin as often as you want.
About hugin
Hugin is a very versatile software to merge different photos into panoramas. It is open source and its development is quite active so people might benefit from building from the sources. This post is part of a recent push to try to get frequent builds in most operating systems (Linux, Mac OSX and Windows).
Basic setup
Installation of needed components. This is the most difficult part, since once you have all the components you will be able to build hugin as often as you want.- Subversion
sudo apt-get install subversion
- Install cmake, other building tools and other libraries
sudo apt-get install cmake checkinstall
Here is the list as I could work it out from objdump -p /usr/local/bin hugin. Some sound strange, probably because I am building in 64bit linux.
sudo apt-get install libvips10-dev libvips10c2a libgcj7-0 libgcj7-devsudo apt-get install ia32-libs lib32gcc1 lib32stdc++6 lib32z1 \
libc6 libc6-i386 libgcc1 \
libjpeg62 libopenexr2c2a libpng12-0 libstdc++6 libtiff4 \
libwxbase2.6-0 libwxgtk2.6-0 zlib1g \
lib32gcc1 libstdc++6-dev lib32z1-dev \
libc6-dev libc6-i386-dev libgcc1-dev \
libjpeg62-dev libopenexr2c2a-dev libpng12-0-dev libstdc++6-dev libtiff4-dev \
libwxbase2.6-0-dev libwxgtk2.6-0-dev zlib1g-de
Building libpano13
- Download the source from SVN
svn co https://panotools.svn.sourceforge.net/svnroot/panotools/trunk/libpano libpano13
Check if dependencies are missing; install and relaunch the configure process
cd libpano13
./bootstrap./configure
- Compile and install
make
sudo checkinstall
Building hugin
- This is the trunk, which has been updated now from the Ippei branch:
svn co https://hugin.svn.sourceforge.net/svnroot/hugin/hugin/trunk/ hugin
- Building hugin: there is only one procedure right now with cmake
cmake -DCMAKE_INSTALL_PREFIX=/usr/local .
Sometimes when launching hugin it gives an error that a library is impossible to load. You have to run:
make
sudo checkinstallsudo ldconfig
Monday, September 24, 2007
Slice of Menger sponge
What happens when you slice a Menger Sponge diagonally through the center? well, a very interesting pattern of stars and hexagons. This is the level four iteration on the Menger sponge.
I haven't seen this mentioned before on the internet. Maybe a reader will know if these intersections of the Menger Sponge have been studied before? Wolfram mentions that:
I haven't seen this mentioned before on the internet. Maybe a reader will know if these intersections of the Menger Sponge have been studied before? Wolfram mentions that:
The Menger sponge, in addition to being a fractal, is also a super-object for all compact one-dimensional objects, i.e., the topological equivalent of all one-dimensional objects can be found in a Menger sponge (Peitgen et al. 1992).
Sunday, September 9, 2007
Zenith bug in Enblend 3.0, some progress
Ever since version 3.0 of enblend was introduced, there has been an annoying bug with the way the zenith is blended (and also, it seems on some vertical lines). Development of enblend is not very transparent, and it is not very clear whether this bug has been acknowledged by the developer. So here is my attempt to explain a bit more what is happening and give the repeatable conditions under which the bug is apparent.
The source files, as produced by hugin, are here. They are numbered from 0 to 9, 0 is the nadir (the floor), 1 is the zenith (the sky) and 2 to 9 are the horizon images.
Here is an example of what the bug looks like: a nasty grey line in the top of the image.

This can be corrected by loading on top of this image the tif file of the zenith, and replacing the top part of the image. But it is a pain in the mouse to do this every time.
What I've found is that the order of loading the images is important for this bug to appear. I used to blend in order 2 to 9, 0 and 1, since this stitches first the horizon row of images. But if the zenith is the first image loaded (so the images are stitched 1 to 9 and 0) the resulting image looks like this:

i.e., a trouble free image. I tried other permutations of the images, and if the zenith is "blended" unto another image the bug appears (e.g., if the images are blended 2, 1, 3 to 9 and 0). However if 0 and 1 are loaded first, since they do not overlap they are not blended, and the bug in the zenith does not appear.
The source files, as produced by hugin, are here. They are numbered from 0 to 9, 0 is the nadir (the floor), 1 is the zenith (the sky) and 2 to 9 are the horizon images.
Here is an example of what the bug looks like: a nasty grey line in the top of the image.
This can be corrected by loading on top of this image the tif file of the zenith, and replacing the top part of the image. But it is a pain in the mouse to do this every time.
What I've found is that the order of loading the images is important for this bug to appear. I used to blend in order 2 to 9, 0 and 1, since this stitches first the horizon row of images. But if the zenith is the first image loaded (so the images are stitched 1 to 9 and 0) the resulting image looks like this:
i.e., a trouble free image. I tried other permutations of the images, and if the zenith is "blended" unto another image the bug appears (e.g., if the images are blended 2, 1, 3 to 9 and 0). However if 0 and 1 are loaded first, since they do not overlap they are not blended, and the bug in the zenith does not appear.
Thursday, September 6, 2007
Multiplane Perspective in MathMap
There are other "multiplane perspective" panoramas, loosely inspired by this paper.
Here is the script to be used in MathMap.
How to use this script
- Load a suitable equirectangular image in Gimp (with four walls in a rectangle - this script does not cover trapezoidal rooms)
- Open the MathMap plug-in
- Copy & paste the code that you will find below
- Select "Wrap" in the settings
- In the User values, change lambda0 until a corner of the room in your panorama is at the border of the image.
- Still in the User values, change t3 until the leftmost wall is exactly covered by
the first rectilinear projection - Change t2 until the second leftmost wall is covered exactly by the second rectilinear
projection - Finally, change t3 until the last corner of the room is split between the last two
rectilinear projections - Change size (the vertical field of view) and yshift until the image looks fine
- Press OK, wait, and save.
#####################################################
# Four rectilinear projections covering 360° #
# Mathmap script by Seb Przd (2007) #
# http://flickr.com/photos/sbprzd #
# Licensed under the GPLv3 #
#####################################################
filter fourrectilinear (image in,float size: 1-2 (1),
float lambda0:-1-1 (0),float yshift:-1-1(0),float t3:
0-1(0.5),float t2:0-1(0.5),float t1:0-1(0.5))
il=0.01;ir=0.99;epsl=-100;epsr=100;iter=0;eps=1;while
(abs(eps)>0.0001)&&(iter<20) do xu=(il+ir)/2;tt1=tan(
pi/2-t1*pi)/2; tt3=tan(pi/2-t3*pi);yu=tt1+sqrt(xu*(1-
xu)+tt1^2); llmyy=tt3+sqrt(xu*(1-xu)+tt3^2);ll=llmyy+
yu;eps=tan(pi/2-t2*pi)-(-yu*llmyy+(1-xu)^2)/(ll*(1-xu
));if eps*epsl<0 then ir=xu;epsr=eps;else il=xu;epsl=
eps;end;iter=iter+1;end;l2=(1-xu)/(1+ll);l4=xu/(1+ll)
;l1=llmyy/(1+ll);l3=yu/(1+ll);xmvec=[-1,-1+l2+l4,0,l2
+l4,1]; xcvec=[-1+l4,-l3,l2,1-l1];lvec=[l1,l2,l3,l4];
lpv=[-3,-1,1,3]*pi/4+atan(l4,l1);xx=x*size;yy=y*size;
co=0; while co<=3 do xc=xcvec[co];xt=xx-xc*X;yt=yy-X*
yshift;if xx<=xmvec[co+1]*X&&xx>= xmvec[co]*X then lp
=lpv[co]; x0=xt;y0=yt;lc=lvec[co];end;co=co+1;end;rr=
sqrt(x0^2+y0^2);c=atan(rr/Y/2/lc);phi=asin(y0*sin(c)/
rr);in(xy:[atan(x0*tan(c),rr)*X/pi+lp*X/pi+lambda0*X,
phi*Y/(pi/2)]) end
Saturday, August 25, 2007
How to build the Fujimoto Origami Cube
Print and cut the square.
Subscribe to:
Posts (Atom)