13
votes
How to achieve gimbal lock with Euler angles?
A gimbal is a pivoted support that allows you to rotate around one axis. Now it so happens that Euler rotations* work like a set of 3 gimbals attached to each other,...
11
votes
Accepted
How to achieve gimbal lock with Euler angles?
Rotations in 3D are normally done with matrices. The xyz Euler angles can be converted to matrices so that it can be used in the rotation.
That is where something called rotation order comes in.
...
7
votes
Accepted
What algorithm is used in this animation from Tatami Galaxy?
It looks like a voronoi diagram with a non-Euclidean distance metric. Probably not Manhattan L1 but something close related, but maybe Mahalanobis with some kind of restriction on seed point ...
6
votes
Was Evans & Sutherland CT5 really created in 1981?
The CT5 was designed before 1981. I started working at E&S in May 1981. The CT5 was fully designed by then and 3 had been built. All 3 were still at E&S and hadn't shipped yet when I started. ...
5
votes
Accepted
How does a rigged model work?
The magic is that the mesh is attached to the skeleton. In it's simplest form, this is done by assigning each vertex to a bone.
When a vertex is assigned to a bone, that means that it will always ...
5
votes
Accepted
What's the simplest, open, animation format?
For what it's worth, the glTF Tutorials contain a section on Skinning that shows how the raw vertex and joint weight data feed into a vertex shader to distort the mesh.
If you do design your own ...
4
votes
Accepted
Storing 3D animations for ray tracing
I think that it is important to classify between different types of animations here. One rough classification could be
Rigid body animations
Vertex skinning animations
Others...
Rigid body ...
4
votes
Accepted
Pixel dispersion (dissolving) algorithms
A very simple low memory approach
If you really want to use as little memory as possible, it can be done with not much more memory than that required to store a single image (the first frame) ...
3
votes
Accepted
glTF animation keyframe question
You're seeing channels and samplers there, not individual keyframes. In this case, one animation is simultaneously targeting the translation, rotation, and scale channels of the same node, with three ...
3
votes
Accepted
Was Evans & Sutherland CT5 really created in 1981?
After some searching on the internet, I am fairly certain that it was made in 1981 or at least the same decade. I have found multiple sources that indicate the CT5 was made in or around the year 1981.
...
3
votes
Need help reasoning about video oscillation >60hz
Yeah, that makes sense. Most flat panel monitors on the market have a 60Hz refresh rate! So you are not going to be able to flicker faster than 60Hz due to technical limitation.
Were you to do this ...
3
votes
Accepted
Calculating Skeleton-Deformed Mesh Normals
You're right, standard skinning pipelines don't produce correct normals. You get similar problems when using translation on joints, which is very common in facial animation. The only way to get a ...
3
votes
Accepted
Questions about Preconditioning Conjugate Gradient method in Baraff & Witkin 98?
Baraff and Witkin propose to incorporate constraints by modifying the linear system by the constraints matrices $\mathbf S_i$. As they state in the beginning of Section 5.2, the resulting system is ...
3
votes
Spine. What is the name of the process?
This appears to be simply skeletal animation, which is a standard technique that is available in all modern animation packages. Whether applied to 3D meshes or (as here) 2D ones, the principle is the ...
3
votes
Accepted
Animated rainbow distortion wave effect
The effect is called chromatic aberration; the way it’s usually done in games, and what’s being done there, is by reading the red / green / blue channels of an image at different offset positions. As ...
2
votes
Pixel dispersion (dissolving) algorithms
You could do this entirely within an OpenGL/WebGL fragment shader:
Attach the image you wish to emerge as a texture/sampler2D.
Attach uniforms for the current time, as well as the time you want the ...
2
votes
Inverse Kinematics with more than 2 segments
What you have here is an underconstrained problem*. To solve this problem you do what you do to any other underconstrained system. This is also why you mostly only see the 2 joint version as it is not ...
2
votes
Storing 3D animations for ray tracing
Pixar spent quite much time, money and other capital to archive all their renders. What they did was just to store the raw render description files their render engine used. The reason for this is ...
2
votes
How to design something like this?
It does look like raytracing to me as well. It could also possibly be ray marching, which would be easier to make the tubes with since ray marching is all based on distances from things (center of ...
2
votes
Software to compose separate models into an articulated model?
Is there any software which would let me import the existing models,
define the bone hierarchy and the model which corresponds to each
bone, and export a single articulated model in T-pose?
I ...
2
votes
Accepted
How can I use 3d animation to create a character that uses sign language?
This is quite a broad topic, so I can only give a general overview. If you've never done any interactive animation before, this might be too big a challenge to start with, and maybe you should think ...
2
votes
Was Evans & Sutherland CT5 really created in 1981?
As John said, yes it was there because my first job was working on content for it. That was before 1981. The 'snake room' was about 20 feet from my office and I did many demos on that system. My ...
2
votes
Accepted
Should animations be locked to FPS or Fixed time
You should use a fixed time for this. Consider the following: Your computer is super fast, you have high end hardware. Now you animate via FPS and make your animation look great. Let's say you had 120 ...
2
votes
Accepted
What noises can be sliced?
Worley noise, also known as cellular noise, has the same property. It just as easily implemented as Perlin noise and easily extends to higher dimensions. Thus the slicing of 4D Worley noise will ...
2
votes
Accepted
Which techniques do I need to animate a 3D model in my homemade engine
First decide how you are going to animate the model.
The simplest way is to just have a separate mesh per frame of animation. This requires more memory to be dedicated to mesh data more artist time ...
2
votes
compression of gif animation
GIF animation compressors normally do this automatically, using transparency in a given frame to avoid storing what has not changed from the previous frame.
The reason it's not working in your case ...
2
votes
What is the point of having integer-based draw routines in software rasterizer?
The following is really an assorted set of comments:
Why integer? Floating-point hardware is (in general) far more complex than integer and so on many (old) CPUs it (a) might not have been available (...
2
votes
What is the name of this moving color pixels effect, for animating a painting?
This effect is called Color Cycling (or Palette Shifting). Mark Ferrari has a great GDC talk where he demonstrates and explains the entire technique. You can view a bunch of his artwork based on this ...
2
votes
Inspecting gltf animation data
I help maintain an open-source extension for VSCode called glTF Tools.
Find the sampler for your animation. The input values will point to a list of times, and <...
1
vote
Compute Speed of Spheres in 3D animation
I'd use the euclidean distance between two 3D positions. Velocity is distance over time. Time is a single frame in this case.
$$\sqrt{(x2-x1)^2 + (y2-y1)^2 + (z2-z1)^2}$$
If you only move the camera,...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
animation × 543d × 13
gltf × 7
transformations × 6
mesh × 6
interpolation × 5
mathematics × 4
model × 4
rendering × 3
simulation × 3
opengl × 2
algorithm × 2
image-processing × 2
color × 2
physically-based × 2
shading × 2
real-time × 2
javascript × 2
linear-algebra × 2
video × 2
motion × 2
quaternions × 2
raytracing × 1
pathtracing × 1
c++ × 1