-
-
Notifications
You must be signed in to change notification settings - Fork 291
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
3D axis broken in GLMakie v0.10.13 #3979
Comments
Is this common across all backends, and do you have an MWE? |
Data: https://gist.github.com/juliohm/ca6ddae1995a5916c987282875ccadae MWE: using GLMakie
using DelimitedFiles
X = readdlm("data.csv", ',')
xyz = Tuple.(eachrow(X))
scatter(xyz) |
I can replicate this on GLMakie and CairoMakie, but WGLMakie seems to give the correct result. |
This is not a new issue. I checked Makie 0.21, 0.20 and 0.19 and they all have it. Weird that it's backend specific... |
Could this be a float precision issue then? The numbers are in that range... |
Probably, but why is it not happening in WGLMakie? |
Seems to be Makie.jl/CairoMakie/src/primitives.jl Lines 681 to 685 in 225d0ae
If you add a parenthesis that include at least model * to_ndim(...) things work. Without them *(a, b, c, xs...) from Base runs, with*(A::AbstractMatrix, B::AbstractMatrix, C::AbstractMatrix, x::AbstractVector) from LinearAlegbra. The former does a foldl, i.e. it multiplies the first two matrices first, the latter goes right to left. And the first two matrices are risky in terms of Float32 precision
WGLMakie computes the matrix product of the first two matrices directly as well, but in Javascript. I'm guessing it uses double precision. Going left to right is quite a bit faster on it's own (14.9ns vs 20.7ns) and also useful for optimizing projections like |
The 3D axis is floating randomly in the latest stable release:
You can see in the screenshot that tick labels are far away from the axis. Any rotation, zoom moves the labels around.
The text was updated successfully, but these errors were encountered: