Hi,

Thanks a lot for your reply.

First, just let me clarify something for everyone, which I should have done in the previous mail.

The 3D panosphere mode would have very little in common with the current projection mode. So it will not use the current projection techniques to display the result (rectilinear for inside and orthographic for outside look) but rather create a 3D sphere in OpenGL, and then texturized 3D meshes for each image which would lie on the panosphere. So it will not use the 2D "GL_PROJECTION" mode, but the 3D "GL_MODELVIEW". This means that the remappers would need to be refactored or reimplemented to return a 3D texturized mesh.

Thus, this mode wouldn't represent the output, but would represent an overview of the panorama in 3D space, so the two modes could be also named as "Panorama overview" and "Output preview"


the other comments are below:

James Legg wrote:
On Sat, 2010-03-20 at 17:15 +0100, Darko Makreshanski wrote:
    - a interleaving colorful grid will be displayed to examine distortion

That might help people understand the projections, if they are aware
what the grid means.

My idea was that this same grid would rendered on the panosphere as well, and also the grids would be correspond to each other. This means that at each area of the projection the color of the grid in that area would be the same as the color of the grid in the corresponding area on the panosphere. This I believe would automatically explain the grid on the projection, and will help understand the projection.

Also another way of providing means for understanding the projection would be to draw lines from points on the sphere's grid to the corresponding points on the projection's grid. But I like the other method better, because it's easier to handle with colors, rather than lines. And also in this method the projection and the panosphere would have to be rendered in one window.
1. A '3D Panosphere' mode.
- I read the 'Next GUI' discussion, and I noticed there were some thoughts on this already.

In this mode the user would basically look into a 3D sphere mapped with the images, with option to look at the sphere either from inside or outside.

The purpose of the sphere mode is that it is the basic representation of what the panorama actually is, and I believe it is the most intuitive representation.

The benefits of this mode:
- primarily to distinguish between looking at the output and looking at an overview of the panorama. - the most intuitive and most exact preview of the panorama (in terms of distortions)

I wouldn't say it was more exact. You will still be mapping a spherical
image to a 2D display. It is also not the most intuitive way for linear
panoramas.
Yes, you are right. My point was that as you can freely move around the sphere, people would not percept this as a projection of a sphere, but rather than a presentation of a 3D sphere.

You are right about the linear panoramas.
But I believe the linear panoramas are a totally different type of panorama, and they are represented by a plane. In that case, as some changes are required for processing, this would be a totally different mode of creating panoramas (I believe this was Dev Ghosh's GSOC project last year, but I don't know in which state it is now)
- in here the 3D rotation adjustments would actually make sense and would be intuitive.
    - the layout submode in this mode would also make a lot more sense
    - a very intuitive and eye-candy preview for new users

Some of the features that would be included in panosphere mode:
- a look at the panosphere either from outside or inside (all features available in both modes) * from the inside, the viewpoint would be fixed to the center of the sphere and adjustable would be rotation of the camera and field of view (zoom in/out)

Is this the same as using rectilinear projection?
yes, basically would give similar view
* from the outside, the viewpoint would move around a larger virtual sphere, and would be faced always to the center of the sphere (also adjustable FOV)

Is this similar to orthographic projection? However there is a bug with
orthographic projection in the fast preview: it doesn't clip the images
on the back of the sphere.
Yes, it basically will look like the orthographic projection. As I have explained above, the system wouldn't use existing projections, because it will model the sphere in 3D
I don't think using a small field of view in this projection will be any
less confusing. I think when looking at the sphere from the outside, the
whole sphere should always be visible, and any gap in the images should
show a differently shaded version of the images on the other side.
yes, you are right, the point of the FOV changing is about zooming in/out and checking on some details on the images
- the camera adjustment would be done with the mouse or keyboard (for mouse drag to rotate, mouse wheel to zoom in/out) - a layout mode (same as it is currently) with small images and their connections - a set of 3 interactive circles drawn around the sphere, which could be dragged with the mouse to rotate the whole panorama or a group of images (as it is done in 3dsmax) (also shown in [1])
    - a possibility to choose a central point of projection on the sphere

How will the user interface for this work when inside the sphere? How
would you rotate the camera and rotate some images?
Well, you could display the same set of 3 circles in front of the user, just smaller in size (compared to the circles on the outside). Of course these circles will change orientation themselves as the user rotates the camera around. In any case, I think the inside look is not very useful for providing overview as the outside view, but it shouldn't be a big problem to implement it if we have the outside view.

I was also thinking of adding a 4th circle (also for outside view) when a group of images is selected. This 4th circle would have the normal that passes through its center also pass through the center of gravity of the group selected and will also rotate the group by the axis that passes through the center of gravity of the group.
2. Combination of 3D panosphere and 2D projection:
This mode is mostly for people to test the projections and understand them easily, or to work with the panosphere and see the results directly on the projection - it will contain both the panosphere and the projection, which can be either:
           * the panosphere and the projection in separate windows
* the panosphere and the projection in one window (one opengl scene) - both the panosphere and the projection will have an interleaving colorful grid which will correspond to each other (basically the grid of the sphere would be projected as well) * the purpose of this would be to have an overview of the distortions on the projections and to easily understand all projections
    - ofcourse by rotating the panosphere the projection changes as well.

I think the best way to understand most projections is with a good
diagram. The panosphere view could include some of the properties of the
projection in a diagram. For example, something like [1] could be used
for cylindrical projections. For diagrams to make sense, the view must
be from outside the panosphere; and it must be at an angle to the centre
of the projection used, since the shapes will not be seen head on.
Yes, this was basically the idea with the corresponding grids on the projection and the sphere
Unfortunately this could be a lot of work, as each projection would
require its own diagram drawing code (and some projections would still
look weird). I think just covering rectilinear, equiangular, and
cylindrical projections would be enough to cover the main use cases
though.
Why is this so? I was just thinking of projecting the grid of the sphere the same way all the other projections are generated.
about the two submodes: 1. panosphere and projection in separate windows (or in same window but in different canvases) * this is more useful, and I believe will be useful to everybody, even experienced people.
    2. panosphere and projection in same window
* this might be used to animate the projections, which would be awesome and very attractive, however not very useful

If by animate you mean show the panorama being unwrapped from the sphere
to form the output image, this could be useful. It should help
understanding of the projections.

It would be easiest to do this with an already stitched panorama.
Perhaps you could take a preview of the projected panorama, copy it into
an OpenGL texture and animate that?
yes, kind of. It doesn't have to be stitched, but it would definitely be easier. Maybe, this would be combined with some implementation of a 'Postview' mode as it was discussed in the GUI discussion.
         * I have done a simple scene with a basic projection in opengl [1]
* just a note: in that scene, the sphere's grid doesn't have interpolated color as the projection


So that's pretty much my idea. It might be too much or not enough for a gsoc project. Next, I would have to look more into the code of the previewer, and make a decent estimation of the time needed. In any case I would really like to see all of that included in the previewer.

There are some ideas that are unrelated to the rest, for example the
customizable display of transparent areas. After you've got a good
discussion here, pick what you think are the most important parts for
your project plan.
I am really eager to see the responses for this, and whether you would like to see this in Hugin.

An extension (maybe a bit much for your summer of code project) would be
to use the XYZ properties in 3D space instead of just the spherical
projection. To visualize this well you would need to be able to move the
camera around as well as rotate it.
Yes, I didn't take into consideration that hugin can also estimate translation.

All I can think of are two models. That is the sphere and plane model.
A generalized model which would show irregular cloud-shaped model of the panorama is currently a science-fiction for me :)

The closest thing I can think of is just a layout mode in which images wouldn't originate from the same point as in the panosphere and, the origins of each image (the apparent camera position) would be rendered as well, e.g. in a form of a camera :)


About the translation, I actually have no idea how it currently affects the projections. I will need to look more into the code, since I couldn't understand the effects of it on the preview.

-James

[1] http://en.wikipedia.org/wiki/File:Usgs_map_mercator.svg

--
You received this message because you are subscribed to the Google Groups "hugin and 
other free panoramic software" group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugin-ptx@googlegroups.com
To unsubscribe from this group, send email to 
hugin-ptx+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx

To unsubscribe from this group, send email to hugin-ptx+unsubscribegooglegroups.com or 
reply to this email with the words "REMOVE ME" as the subject.

Reply via email to