homotopy-io / homotopy-webclient

https://homotopy.io
26 stars 5 forks source link

Coordinate systems #79

Open davidreutter opened 5 years ago

davidreutter commented 5 years ago

It might be a good idea to have a little 'coordinate system' somewhere in the corner of the display with three axes labelled by {i+1, i+2, i+3} where i is the value of the current projection, pointing into the direction of the relevant slices (I think the i+1 axis should be pointing rightwards, the i+2 should be pointing upwards and i+3 should be pointing into the screen, but I might have confused things here --- preferably the axis i+k should point from source to target of i+k cells). This has the advantage that if one changes from some displayed diagram in projection k with 'coordinate system' {k+1,k+2, k+3} to a slice in projection k-1, one sees a coordinate system labelled by {k, k+1, k+2} which clarifies how the axes {k+1, k+2} in projection k align with the axes {k+1, k+2} in projection k-1. Of course, if the overall dimension of the diagram is not high enough, one should only see two, one, or zero axes.

(I didn't check whether this particular labelling convention actually does what I want it to do, but I would find it helpful to have a better visualization how the `coordinate axes' in a diagram align with the 'coordinate axes' in a given slice.)

alexarice commented 4 years ago

Is this just for 3d view or do you think axis would be helpful for the 2d view?

jamievicary commented 4 years ago

Personally I think this would be useful in all dimensions. It would ideally be rendered in a similar way in 3d vs 2d to give a sense of familiarity when changing between these views. As one rotates the 3d diagram the axes should rotate.

davidreutter commented 4 years ago

Yep, I originally had this in mind for the 2d view (the third axis pointing into-the screen indicating the direction of higher slices), but I agree with Jamie that one could then also use this in 3d to help translating between 2d and 3d diagrams.