Skip to main content
Share Your Experience: Take the 2024 Developer Survey
16 votes
Accepted

Visualizing the Lane-Riesenfeld Algorithm

The Lane-Riesenfeld algorithm subdivides the control polygon of a B-spline to create a new control polygon with the same limit spline. It's made up of two steps: first, duplicating all of the control ...
gilgamec's user avatar
  • 901
12 votes
Accepted

How does UV unwrapping work?

UV unwrapping is a difficult topic. They can be both combinatorial algorithms or variational methods but in general they're optimization based, i.e. you setup an optimization problem and you solve it ...
user8469759's user avatar
11 votes
Accepted

What are 'mesh clusters' / hierarchical cluster culling (with LOD?) / triangle cluster culling and how do they relate?

First, to preface: the reason it's hard to find details about these hierarchical cluster culling systems because they are a still emerging field, at the very cutting edge of real-time rendering ...
Nathan Reed's user avatar
9 votes
Accepted

Maximum number of vertices after clipping a triangle against an AABB

Funnily enough, I asked this exact question on Math.SE a couple years ago: Maximum number of vertices in intersection of triangle with box. The answer is 9 vertices, because each of the 6 planes of ...
Nathan Reed's user avatar
9 votes
Accepted

Logarithmic spiral with equal vertex spacing, what equations?

Since a logarithmic spiral is defined by $r=e^{a\cdot\theta}$, the inverse of the equation is this: $\theta=\frac{\ln{r}}{a}$. If we want to be able to control our step value, we can multiply it ...
Scott Milner's user avatar
9 votes

Why are oct trees so much more common than hash tables?

Lots of things here. "When reading papers". What papers? If the topic of the paper is about something other than the spatial partitioning structure, it could be fair to use whatever knowing that the ...
Angelo Pesce's user avatar
6 votes

Why are texture coordinates often called UVs?

This is not a definitive answer, but it is generally accepted that Ed Catmull introduced Texture Mapping in his 1974 thesis, "A SUBDIVISION ALGORITHM FOR COMPUTER DISPLAY OF CURVED SURFACES" ...
Simon F's user avatar
  • 4,261
5 votes
Accepted

Convex non simple polygon?

For a polygon to be convex the outside angle of the polygon has to be more than or equal to 180 degrees. Now at intersection of 2 lines the outermost angle has to be less than 180 degrees for the ...
joojaa's user avatar
  • 8,437
5 votes
Accepted

How to convert Non-Axis Aligned Bounding Boxes to AABB

You can assign a coordinate system to each nAABB in such a way that the nAABB becomes an AABB in its own coordinate system. We call this a local coordinate system. I assume rays are expressed in a ...
Matthias's user avatar
  • 1,074
5 votes
Accepted

Does a point have a length?

No, a point does not have a length. A point is only a location - it has no extent in any direction. You are correct in guessing that the function vSize() returns ...
trichoplax is on Codidact now's user avatar
5 votes
Accepted

Apply distortion to Bézier surface

Edit: changed the answer according to new images and clarification. for every control point p(k, n) p'(k, n) = ( p(k, n) - p(k) ) * d * l(k) + p(k, n) where <...
Cem Kalyoncu's user avatar
5 votes
Accepted

What's the difference between geometric surface normal and shading surface normal?

Your existing opinion is correct, though there's one extra detail. The geometric normal is the normal of the actual triangle, based on the vertices' positions (the cross-product of edge vectors, as ...
Dan Hulme's user avatar
  • 6,830
5 votes
Accepted

Why are oct trees so much more common than hash tables?

My 2 cents from writting the Chipmunk2D physics engine is that spatial hashing is great when you have a lot of objects that are all the same size. I had a demo 10 years ago that ran with 20k ...
slembcke's user avatar
  • 166
5 votes

Why are texture coordinates often called UVs?

In math, geometry and physics it is common practice to use the coordinates $(u,v)$ to represent an arbitrary parameterization, including those of a surface in a 3d Euclidean space. Since the ...
Jessica Hansen's user avatar
5 votes

Are some 3D objects "solid"? Do they have internal density? If so, when, and in which file formats?

Assuming what you’re referring to is this Slicer and the models are the ones produced by its Model Maker module: it looks like it’s creating hollow, surface-only models. Specifically, judging by the ...
Noah Witherspoon's user avatar
4 votes

Sampling against geometry normals

That is, to my knowledge, a problem without a proper solution. You're seeing the discrepancy between shading normal and geometry normal and it becomes obvious, that the shading normal is just a trick. ...
Stefan Werner's user avatar
4 votes
Accepted

Calculate a rotation around an arbitrary axis

Take a point $P$ and it's rotated point $P'$. Find the plan that runs through the middle between them $C = \frac{P+P'}{2}$ and is perpendicular to the line connecting them. Do this for all 3 of them ...
ratchet freak's user avatar
4 votes
Accepted

Extract visible vertices from a 3D geometry model

Idea A: Draw an invisible mesh that will occlude the points we don't want. Create a mesh from the point cloud. Render that mesh to a depth buffer but not to the color buffer. Render the point cloud ...
Julien Guertault's user avatar
4 votes
Accepted

What is the name of toroidal 2D space

As I said in the comments, this is indeed called torus or toroidal space when it comes to the topology. Even if the images suggest something 3 dimensional, this is just a visualization of the ...
flawr's user avatar
  • 246
4 votes

Rounding the edges in a mitered line segment inside of a fragment shader

First, adressing the concerns of speed and performance, you will always have to make some trade-offs between quality and performance, as you already do. If the first version looks fine enough for your ...
Christian Rau's user avatar
4 votes

Euler Angles - Gimbal lock, why non-orthogonal axes

So thanks to joojaa I finally got a hint, and I searched on the net further and found this link which cleared all the doubts and has my answer. Though I am still posting it here as a summary. So ...
gallickgunner's user avatar
4 votes
Accepted

Triangulation of vertices of an ellipsoid

If you sample the two parameters $\eta$ and $\omega$ with steps $d\eta$ and $d\omega$, then you'll get a grid of points $v_{ij} = f(i\;d\eta,j\;d\omega)$. Any four adjacent points will define a ...
gilgamec's user avatar
  • 901
4 votes

Should you measure mesh complexity in triangles or vertices?

Since you're talking about "vertex shaders" and "fragments", I assume that your question is to be interpreted in the context of real-time rendering using the graphics pipeline on a modern GPU through ...
Michael Kenzel's user avatar
4 votes
Accepted

Why is the valence of regular vertices 6?

If require that all faces have the same number of sides $s$ and require that all vertices also have a certain valency $t$. We see that the following relation between edges, and faces hold for a ...
Reynolds's user avatar
  • 1,283
4 votes
Accepted

$(x, y, 1)$ is 2D homogenous coordinates or 3D homogenous coordinates?

If you have $(x,y,z) \in \mathbb{R}^3$ and you relate it to $(x/z, y/z) \in \mathbb{R}^2$ then you have interpreted $(x,y,z)$ as one possible representation of the 2D vector $(x/z, y/z)$ in ...
lightxbulb's user avatar
  • 2,226
3 votes

Extract visible vertices from a 3D geometry model

Conceptually simplest would be to treat it as a ray-casting problem, representing each point as a small sphere. It should work like the shadow rays in a conventional raytracer: iterate over all of ...
Dan Hulme's user avatar
  • 6,830
3 votes

constrain based dynamic geometry generation

It is possible to generate geometry from constraints. However, some of your constraints are hard to formulate as continuous functions that can be minimized or maximized. Also the ones that can be ...
joojaa's user avatar
  • 8,437
3 votes

Best way to group 3d points into planes, if any

A reasonable approach is a continuous sample consensus method. The hough transform can be though of as a discrete sample consensus method, and so becomes intractable for some problems. Sample ...
Jacob Panikulam's user avatar
3 votes
Accepted

Count number of green fragments that are within a given distance from each screen fragment

You're getting a cross shape in the output because in your loop, you're counting pixels on the center row and column multiple times. For example the pixel at (0, 0) offset will be counted on every ...
Nathan Reed's user avatar
3 votes

Mirroring avatar

Mapping the Left and Right Sides This step should be trivial. If I remember correctly, the CMU database animation skeletons have easily identifiable bone names. If not, then it's slightly less ...
aces's user avatar
  • 1,353

Only top scored, non community-wiki answers of a minimum length are eligible