[ANN] Makie.jl 0.15

This type of zooming is called dollying, and it’s technically a not a zoom, but simply moving the camera towards the lookAt.

1 Like

ElectronDisplay.jl is also nice for a more REPL-based workflow :slight_smile:

1 Like

Didn’t know what it was until now but, it looks good!

I always follow this cycle: 1D code → lines(...), port it to 2D → heatmap(...) or surface(...), port it to 3D → volumeslices(...).

BTW, PR by @ffreyer (Add DataInspector specialization for volumeslices by ffreyer · Pull Request #1134 · MakieOrg/Makie.jl · GitHub) looks awesome !

3 Likes

I have no idea how to make touch interactions like that work. I also don’t think my laptop can two finger gestures, so I couldn’t test it.

With respect to adjusting things - you can change all the keys to your liking if you create the camera manually. I don’t think we can have multiple hotkeys for the same action atm. We’d need something like AnyOf(key1, key2, key3) and AllOf(key1, key2, key3) to differentiate.

You can change the rotation_center to rotate the camera rather than rotating it around something. You can adjust rotation, translation and zoom speeds for both keyboard and mouse interactions individually. Translations on zoom can be turned on/off with zoom_shift_lookat. You can enable/disable rotation on zoom with cad (though I don’t know how cad like that still is). The projectiontype can be changed to Orthographic. circular_rotation can be enabled/disabled per axis, which allows you to have a continuous rotation when you trace a circle. And you can enable/disable fixed_axis which restricts left/right drag to rotate around the z axis.

I didn’t port the zoom from the old camera which is a dolly zoom I guess. If you want that back you can still use old_cam3d!. If there is interest I can also add that to the new camera. (Might be a good idea anyway. We could remove the old code without losing anything then…)

3 Likes

I believe implementing an ArcBall camera is doable, since you can copy an exiting version or follow a tutorial, e.g. OpenGL Programming/Modern OpenGL Tutorial Arcball - Wikibooks, open books for an open world.
Obviously, any camera controls is most powerful when you can interact with the objects in the scene. In the case of the video I posted, I imagine what is happening is that the clicking, is moving the found intersection point to the center of the arcball (i.e. the center of rotation), and maybe some other shenanigans.
I’m by no means an expert in these things, but there’s quite some literature on this type of stuff online. Hope this helps.

Hi, thank you for your hard work on Makie, it makes my everyday life better !

LaTeX rendering is a big improvement, thanks a lot for that. However I’m struggling to make it work with annotations. For example, this code does not render the output as expected :

annotations([L"\tau=1ns"], [Point(1,2)],align=(:left,:bottom))

Am I missing something ?

Try this text([L"\tau=1ns"], position = [Point(1,2)],align=(:left,:bottom)). The annotations method was special once but isn’t anymore, it’s just text and seems to have an unnecessary convert to String arguments anyway.

1 Like

It works fine, thanks !

I ran into the same problem. How are we going to handle this in future versions?