New answers tagged

0

Thank you for the responses! This solution using quadratic bezier interpolation wound up working for me. def ArcPoints(node): points = node.GetAllPoints() if len(points) < 3: return # The first three points of the point object. a, b, c = points[:3] samples = 6 arcPoints = list() for i in range(samples): t = ...


0

One very simple way to do it is to just find the straight line distance between the points A and C. Divide that distance by the number of points you want to subdivide+1. Then starting at A moving along the line formed between A and C add that distance for each subdivision. This gives a nice even subdivision without having to argue with PI. To get the point ...


0

My solution to this ended up being not sorting at all. Manipualting an already initialized HE is a nightmare, so instead I built the HE with this property from the get go. The initialization algorithm is pretty much: Create a new half edge. Check if the pair of the half edge exists. If it exists, you are allocated at index of pair + 1 If it does not exist, ...


0

So I've been all around the houses on this looking for an answer. In the end I found a combination of techniques worked quite well: To take advantage of all of the 'empty space', the concept of 'surface tracking' from the Octree Decimation paper useful - you can follow the surface from cell to cell and ignore all of the cells in the middle. The main ...


1

If anyone ever runs into this. There is a mathematical property of the half edge, that makes it such that any proper half edge can be expressed as an even permutation of vertices. This sounds abstract but the gist of it is very simple. Since there is an even number of HE by definition, you can store your half edges such that if $n$ is even then $n + 1$ is ...


4

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 regular mesh: $$s\cdot f = 2e,$$ $$t\cdot v = 2e.$$ Substitution in the Euler-Poincare formula yields: $$\left(\frac{1}{s} + \frac{1}{t} - \frac{1}{2}\right)e = 1 - g$...


1

It's defining the gradient in terms of barycentric coordinates. It is similar to the derivation in this answer, only rearranged a bit algebraically using the fact that the three barycentric coordinates sum to one. $$ \begin{aligned} f(\mathbf{u}) &= f_i B_i(\mathbf{u}) + f_j B_j(\mathbf{u}) + f_k B_k(\mathbf{u}) \\ &= f_i (1 - B_j(\mathbf{u}) - B_k(\...


Top 50 recent answers are included