Message #1228
From: Melinda Green <melinda@superliminal.com>
Subject: Re: [MC4D] Re: MHT633 v0.1 uploaded
Date: Thu, 28 Oct 2010 16:50:44 -0700
On 10/27/2010 10:21 PM, Andrey wrote:
> Melinda,
>    Yes, some puzzles are not very large. 8 Color version has 28 2C pieces, 56 - 3C and 28 - 4C, that is close to 3^4 cube. Problem is in the high connectivity of the model: every two faces of 8Color have common 2C piece! The same is true for 32 Colors (b) (but that puzzle has about 2000 pieces, like 3^7 or 120-cell).
Excellent. Thank you. I think I understand.
>    You can see other sides of each cell if you ctrl-click some its point (and it jumps to the center of the screen) and then use left-drag to fly around this point. But you always will see only a part of the surface. And there is no "3D projection" of hyperbolic space! Yes, I had to calculate some virtual Cartesian coordinates (depending on the camera position) to upload the model in DirectX, but with only one reason - to use 3d viewer features (like z-buffer and lighting computations). For navigation controls I’ll say that now they are almost the same as in MC4D. Your center of projection has the same role as my camera
> "point of view". It is some point of 4D-sphere/H3 space, it’s always shown in the center of the screen, and left-dragging rotates camera
> around this center keeping the distance to it. Right-dragging(up/down) moves camera and center along the direction of view. Shift-left-dragging keeps camera in place but turns it so that center moves to another point of space (it’s funny that I didn’t know about this feature of MC4D until today - but yes, it’s there and it’s the same as in MHT).  So I don’t see reasons to change these controls :)
I am starting to better understand. I don’t doubt that you have chosen 
your viewing controls to be the best analogues to the MC4D controls in 
flat space. They may also be ideal when attempting a solution. Still, I 
find myself frustrated with the interaction so I will describe my 
expectation and maybe you can convince me that my expectations need to 
change.
It is immediately clear that there is a 3D space behind the computer 
screen and that the controls affect viewing parameters in some model 
space which are then transformed into the viewing space. My problem is 
that I constantly want to understand the geometry that I see in the 
simple view space but I have no ability to examine it directly. I want 
to be able to left-drag to tumble the current 3D geometry around and 
view it from all sides in view space. I know that allowing me to see 
"behind the curtain", that I may well see jagged boundaries where small 
cells are being culled, but that’s fine with me. I want to be fully in 
charge of what happens in my 3D viewing space. To my eye, your left-drag 
is the equivalent to MC4D’s controls for the 4D view (shift-drag) 
controls that map from model space to view space, even if your model 
space is a 3D hyperbolic one.
Here is a simple analogy: I’ve seen many viewers for star charts and 
other full-sky astronomical images such as the cosmic microwave 
background. They tend to use a fish-eye panorama display where the 
user’s viewpoint is at the center of the Earth because that makes the 
most logical or realistic sense. The user is then allowed to drag the 
sky around or use left/right/up/down/zoom controls to change their 
viewing parameters. Unfortunately I find myself frustrated with those 
views just like I feel with this one. I much prefer to see star maps and 
CMB images mapped onto a sphere that I can view from the outside. Even 
if those viewpoints don’t relate to any physical orientation, they just 
make more sense to me. I can easily understand that I really live at the 
center of those spheres just as I understand that the central face in a 
MC4D view is the furthest from me in 4-space.
I’m not asking that you change your default left-drag behavior because 
I’m sure that I’ll never attempt a solution, but I suspect that other 
users will find it very helpful and comforting to have a view control 
like I’m describing. I bet it would also be a really helpful debugging 
aid for you when work on your face culling code.
> Three different "zoomings" in MHT may lead to some confusion - you may move close to center (and objects that were on sides of camera will appear behind it), you may narrow view angle (in this case objects
> on the side will remain on the side and you’ll see them sometimes when rotate camera around POV) and you may play with FishEye slider - in combination with wide angle you will see objects on the back side of you :)
>
>
Somehow having several different zoom controls doesn’t bother me as much 
as my ability to control my 3D view.
> Roice,
>    Now I show all stickers inside the fixed distance from some point: for version 0.11 this distance is 2.4 (where 1 is the distance between centers of 2C) - and there are 4750 stickers arranged in 80 faces in this ball. In the next version I’ll increase ball radius to 2.9 (that’ll give 12400 stickers in 224 faces). I thought about the explicit control of this radius (with some fixed positions), but it’s not so easy.
I wonder if it might be better to draw only those stickers that project 
to larger than some threshold screen size. That seems very similar to 2D 
hyperbolic viewers that I’ve seen.
Regarding Roice’s mentioning of contiguous (not "continuous") cubies in 
which stickers on the same cubie exactly touch each other, it never 
seemed possible to get a good set of parameters with this constraint 
needed to make MC4D workable, but maybe it would work in this case. It 
is definitely a closer analog to the original Rubik puzzles.
-Melinda