You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have a use case where I want to visualize a point cloud and let the user rotate the camera around it, pan around, zoom, ect ect. The coordinates for the points are 3D cartesian.
Of course, the OrbitView is the goto view for this. But I've realized that the panning is problematic. When you pan, it pans your view based on your 2D viewport plane without respect to where your camera orbit position is in the world. This means you can pan away from the data.
Plus 'navigating' around a point cloud can be tricky because if you mix in zooming... then there's no real way to know where your camera's orbiting point is at relative to the rest of the point cloud. So you end up panning the screen, rotating, and then panning again to try and get your orbiting location at the right spot, ect ect. It's annoying and bad UX.
Not to mention if you lose track of your zoom level, or attempt to 'move the camera forwards' by zooming just off habit, then points are scaled and things get all out of wack real quickly.
The panning/zooming functionality in the MapView is wildly better suited for my use case because my point cloud is more spread out with relatively less verticality. So it would work very well if I could use the panning/zoom functionality from the MapView because it is tied to a horizontal plane. Then I could tweak the max pitch to let users rotate the camera around as they wish.
But, I can't do that because the MapView is specifically designed to work with lat/long/alt and my data is in cartesian coordinates. I've been thus far unsuccessful at trying to force the MapView to function with cartesian coordinates in any useful way, and from what I understand converting to lat/long/alt from cartesian is a PIA and would cause a ton of coordinate-managing bloat in my app.
So, I'm back to the OrbitView and am trying to figure out how to code up a custom controller that mimics the panning/zooming behavior of the MapView. But it's slow going. I'm wondering if anyone else who has more experience with this codebase could give me some pointers.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
I have a use case where I want to visualize a point cloud and let the user rotate the camera around it, pan around, zoom, ect ect. The coordinates for the points are 3D cartesian.
Of course, the OrbitView is the goto view for this. But I've realized that the panning is problematic. When you pan, it pans your view based on your 2D viewport plane without respect to where your camera orbit position is in the world. This means you can pan away from the data.
Plus 'navigating' around a point cloud can be tricky because if you mix in zooming... then there's no real way to know where your camera's orbiting point is at relative to the rest of the point cloud. So you end up panning the screen, rotating, and then panning again to try and get your orbiting location at the right spot, ect ect. It's annoying and bad UX.
Not to mention if you lose track of your zoom level, or attempt to 'move the camera forwards' by zooming just off habit, then points are scaled and things get all out of wack real quickly.
The panning/zooming functionality in the MapView is wildly better suited for my use case because my point cloud is more spread out with relatively less verticality. So it would work very well if I could use the panning/zoom functionality from the MapView because it is tied to a horizontal plane. Then I could tweak the max pitch to let users rotate the camera around as they wish.
But, I can't do that because the MapView is specifically designed to work with lat/long/alt and my data is in cartesian coordinates. I've been thus far unsuccessful at trying to force the MapView to function with cartesian coordinates in any useful way, and from what I understand converting to lat/long/alt from cartesian is a PIA and would cause a ton of coordinate-managing bloat in my app.
So, I'm back to the OrbitView and am trying to figure out how to code up a custom controller that mimics the panning/zooming behavior of the MapView. But it's slow going. I'm wondering if anyone else who has more experience with this codebase could give me some pointers.
Beta Was this translation helpful? Give feedback.
All reactions