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 ...
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 ...
12
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 ...
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 ...
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 ...
7
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 ...
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"
...
5
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 ...
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 ...
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 ...
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 ...
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 ...
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. ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
4
votes
Existing method to automatically fill in this sort of concavity in meshes?
After a fair bit of reading and skimming through papers, I have yet to find a good definition other than "indent" for what I want to remove, but I have found answers to pretty much ...
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 ...
3
votes
Accepted
calculating size of rectangle which fully obscures a sphere
How long should $i$ and $j$ be? By similar triangles, they should have length $R\times (1-\frac{R}{\lVert V\rVert})$.
I believe this is where you went wrong. If you draw the 2D version of this on a ...
3
votes
Accepted
Euler Angles - Gimbal lock, why non-orthogonal axes
OK I think I know what your problem is, gimbal lock does not really lock anything from a mathematical point if view, only for certain operations. See euler suggested that euler angles can define all ...
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 ...
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 ...
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 ...
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 ...
3
votes
Accepted
Delta angle of two vectors about positive x axis
Generally when wanting the smallest angle between two vectors, the dot product is used.
$$
\vec A \cdot{} \vec B = \cos{\angle \alpha}
$$
Where $\vec A$ and $\vec B$ are vectors with the length of $1....
3
votes
Accepted
Computing perspective directly
Copying this from another thread where i posted this as the answer but as Wyck suggested, the correct answer is the first one.
There is the whole derivation of it but I'll be discussing a brief ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
geometry × 181computational-geometry × 79
mathematics × 44
mesh × 43
3d × 28
algorithm × 27
projections × 14
transformations × 13
raytracing × 12
c++ × 11
rendering × 9
polygon × 8
perspective × 5
interpolation × 5
model × 5
data-structure × 5
subdivision × 5
shader × 4
uv-mapping × 4
vectors × 4
clipping × 4
curve × 4
triangulation × 4
gradient × 4
opengl × 3