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