<p>What you are looking for is semi-sharp creases. You can find it in section 3 of this paper: <a href="https://graphics.pixar.com/library/Geri/paper.pdf" rel="nofollow noreferrer">https://graphics.pixar.com/library/Geri/paper.pdf</a></p>
<p>Basically, each edge is given a sharpness value <span class="math-container">$s$</span>. This can either be a integer or a floating point value. This value signifies how many subdivision steps this edge will be subdivided using sharp-subdivision rules. When subdividing an edge with sharpness <span class="math-container">$s$</span>, it subdivide into two edges with sharpness level <span class="math-container">$s-1$</span>. Until <span class="math-container">$s$</span> is 0 and the edge will be subdivided as normal.For fractional levels the last subdivision with <span class="math-container">$s \in [0,1]$</span> the vertices will obtain a blended position between the subdivided <span class="math-container">$p$</span> and the sharp position <span class="math-container">$p_s$</span>, i.e. <span class="math-container">$(1-s)p + s p_s$</span>.</p>
<p>The sharp subdivision rules boil down to the following. Vertices at the end of an sharpness tagged edge will remain in the same position and vertices on the sharp edge are refined using the stencil [1, 6, 1]/8 applied to previous, current and next points on the tagged curve respectively. New points are inserted at midpoints of edges.</p>
<p>This scheme can be generalized to faces by propagating the sharpness value of a face to its edges.</p>

CC BY-SA 4.0
2020-12-12T10:37:58.530Z
2020-12-12T11:16:38.663Z
2020-12-12T11:16:38.663Z
Reynolds
<p>Subdivision schemes work by considering the vertices and their connectivity information to calculate averaging weights.</p>
<p>However, other than specifying which vertices are connected, and perhaps which weights to use (in the case of loop subdivision for example), edges don;t really play a role.</p>
<p>Same as faces. I am wondering if there is a subdivision scheme that attaches &quot;weights&quot; (and weights could be either scalars or matrices or similar vector fields) and has the faces and edges have a controllable effect on the convergence.</p>
<p>For example in the case of meshes, consider a cube. If the weights of the faces are 0, then the subdivision is just a regular subdivision. But if the weights of each face go towards infinity, then the limit of the convergence should be the original cube.</p>
<p>I am trying to find something like this, but I cannot find any associated literature with the topic.</p>

<algorithm><mathematics><computational-geometry><geometry><subdivision>
Subdivision scheme where the faces and edges have weights (not necessarily scalar weights)
Makogan
# Subdivision scheme where the faces and edges have weights (not necessarily scalar weights)

(Asked by: username_0 on 2020-12-12)

Subdivision schemes work by considering the vertices and their connectivity information to calculate averaging weights.

However, other than specifying which vertices are connected, and perhaps which weights to use (in the case of loop subdivision for example), edges don;t really play a role.

Same as faces. I am wondering if there is a subdivision scheme that attaches "weights" (and weights could be either scalars or matrices or similar vector fields) and has the faces and edges have a controllable effect on the convergence.

For example in the case of meshes, consider a cube. If the weights of the faces are 0, then the subdivision is just a regular subdivision. But if the weights of each face go towards infinity, then the limit of the convergence should be the original cube.

I am trying to find something like this, but I cannot find any associated literature with the topic.

**Tags:** algorithm, mathematics, computational-geometry, geometry, subdivision


---

## 1 answers

### Answer by username_1 on 2020-12-12. Score: 3 | Accepted answer

What you are looking for is semi-sharp creases. You can find it in section 3 of this paper: <https://graphics.pixar.com/library/Geri/paper.pdf>

Basically, each edge is given a sharpness value $s$. This can either be a integer or a floating point value. This value signifies how many subdivision steps this edge will be subdivided using sharp-subdivision rules. When subdividing an edge with sharpness $s$, it subdivide into two edges with sharpness level $s-1$. Until $s$ is 0 and the edge will be subdivided as normal.For fractional levels the last subdivision with $s \in [0,1]$ the vertices will obtain a blended position between the subdivided $p$ and the sharp position $p\_s$, i.e. $(1-s)p + s p\_s$.

The sharp subdivision rules boil down to the following. Vertices at the end of an sharpness tagged edge will remain in the same position and vertices on the sharp edge are refined using the stencil [1, 6, 1]/8 applied to previous, current and next points on the tagged curve respectively. New points are inserted at midpoints of edges.

This scheme can be generalized to faces by propagating the sharpness value of a face to its edges.


---

