Comments (8)
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 [M1 * M2 * p for p in ps]
to T = M1 * M2; [T * p for p in ps]
, so I think it would be best to just replace the camera matrices with Mat4d
and convert to Mat4f as late as possible.
from makie.jl.
Is this common across all backends, and do you have an MWE?
from makie.jl.
Data: https://gist.github.com/juliohm/ca6ddae1995a5916c987282875ccadae
MWE:
using GLMakie
using DelimitedFiles
X = readdlm("data.csv", ',')
xyz = Tuple.(eachrow(X))
scatter(xyz)
from makie.jl.
I can replicate this on GLMakie and CairoMakie, but WGLMakie seems to give the correct result.
from makie.jl.
from makie.jl.
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...
from makie.jl.
Could this be a float precision issue then? The numbers are in that range...
from makie.jl.
Probably, but why is it not happening in WGLMakie?
from makie.jl.
Related Issues (20)
- Outdated Interaction (usage of Node) documentation on JuliaHub. HOT 2
- GLMakie size out of control HOT 3
- Stackoverflow in `contourf!()` when OffsetArray is given. HOT 3
- CairoMakie invert_normals = true not working
- `poly(::Vector{Point3f})` fails HOT 1
- `colorrange` is an invalid attribute for `contourf`
- Error on `plot(1:10, sin)` HOT 2
- DataInspector doesn't show next to curve for non-identity axis scales
- WGLMakie zoom window is shown behind the actual data of the plot
- docstring `text` wrong formatted HOT 1
- Translated plots are bouncing around on Macs HOT 1
- Error when using GLMakie in tests (`ERROR: LoadError: InitError: Exception[GLFW.GLFWError( ...`) HOT 2
- color can not be vector of LinePattern HOT 3
- `roundedrectvertices` does not return a complete polygon HOT 1
- add support for normal textures in meshes HOT 4
- Recipe StackOverflowError with `[]` as function argument HOT 1
- Cannot create colobar for contour/ missing plots entry in contour HOT 1
- Unhelpful error in recipe when forgetting the "self" argument HOT 2
- `NaN` in roation breaks entire axis HOT 1
- Get rid of getting started frictions
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from makie.jl.