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.