Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Viewer.project method for symmetry #296

Closed
oscarlorentzon opened this issue Sep 16, 2019 · 3 comments
Closed

Add Viewer.project method for symmetry #296

oscarlorentzon opened this issue Sep 16, 2019 · 3 comments
Assignees
Milestone

Comments

@oscarlorentzon
Copy link
Member

The Viewer class has projectFromBasic, unprojectToBasic, and unproject methods.

The API would be symmetric if a project method is added. It would need to handle latLons to far away from the current node.

If the API would be added all conversions between pixel, basic, and latLon coordinates back and forth would be possible.

@mrAceT
Copy link

mrAceT commented Oct 4, 2019

I can't wait until you have implemented this!

If I may add a few extra ideas (when you're going to dive into the matter anyway ;) )

1) option: one-point perspective
When a line is drawn from one lat/lon to another the visual effect would be awesome because it would add greatly to the illusion of depth
2) option: float (from/to)
Start with "plus one meter" (maybe even up to two?) at point of view and drop to zero (or maybe even minus one?) at the horizon.

AD 2)
To my regret Mapillary does not handle altitude (I do add it to the EXIF in my 360-images if one ever wants to test!). Usually SfM does a very nice job correcting the images (lat/lon, horizon & bearing) , but perfection is tough... I am testing with "MarkerComponent.CircleMarker" to place SfM positions in view, but when the horizon isn't perfect the effect of the path goes "up into the sky". Which is visually disappointing.. On the other hand when I look the other way in that 360 image the visual effect of the dots "going into the ground" is optically quite acceptable!

Example:
I am working on a viewer for a personal project, it is still very much a work in progress and the page will crash eventually due to overload (memory and such..) and this works best on a desktop computer

The crocked image:
https://www.geoarchief.nl/mapillary6.html?key=UQWEcuJldoChe55mCYRzvw&x=.75&y=.5&zoom=.1
When you turn left 90 degrees it looks very much OK:
https://www.geoarchief.nl/mapillary6.html?key=UQWEcuJldoChe55mCYRzvw&x=.5&y=.5&zoom=.1
When you turn left 180 degrees (and 270 also) it brings a tear of sadness to my eye:
https://www.geoarchief.nl/mapillary6.html?key=UQWEcuJldoChe55mCYRzvw&x=.25&y=.5&zoom=.1

PS: And do start with plus 1 meters. Do keep in mind that the starting point of the image already is about 2 to 2.5 meters above ground, the line must start (just) below that! The distortion/error in the beginning will be minimal, but the "extra drop distance" will help greatly further away to the horizon.

@oscarlorentzon oscarlorentzon added this to the 2.19.0 milestone Nov 8, 2019
@oscarlorentzon
Copy link
Member Author

Implemented in a9c8998 and 1dc0552.

@mrAceT
Copy link

mrAceT commented Nov 19, 2019

Awesome! Thank you (I think ;)

If you have the time, could you create an example? That would be great (not just for me, but to others also, so they can discover this new possibility/option)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants