Commit df1516fe authored by Hui Wang's avatar Hui Wang
Browse files

Update model.md

parent 0e5fc0cf
......@@ -53,16 +53,16 @@ of the vertices mode.)
There are three possible types of bevels:
- Vertex Bevel: The selected vertex _v_ is replaced by a face _f_ whose
- **Vertex Bevel**: The selected vertex _v_ is replaced by a face _f_ whose
vertices are connected to the edges originally incident on _v_. The new face is
inset (i.e., shunken or expanded) by a user-controllable amount.
- Vertex Extrude: The selected vertex _v_ is beveled by a flat amount (we use 1/3 the length of the edge from the original vertex _v_ to an adjacent vertex endpoint as the tangential offset), a new vertex _v'_ is inserted into the resulting face, and _v'_ is offset in its normal direction by a user-controllable amount.
- **Vertex Extrude**: The selected vertex _v_ is beveled by a flat amount (we use 1/3 the length of the edge from the original vertex _v_ to an adjacent vertex endpoint as the tangential offset), a new vertex _v'_ is inserted into the resulting face, and _v'_ is offset in its normal direction by a user-controllable amount.
<video src="./model_mode/vertex_bevel.mp4" controls preload muted loop style="max-width: 100%; margin: 0 auto;"></video>
![](./model_mode/vertex_bevel.mp4)
- Edge Bevel: The selected edge _e_ is replaced by a face _f_ whose
- **Edge Bevel**: The selected edge _e_ is replaced by a face _f_ whose
vertices are connected to the edges originally incident on the endpoints of _e_.
The new face is inset and offset by some user-controllable amount, as with the
vertex bevel.
......@@ -70,15 +70,15 @@ vertex bevel.
<video src="./model_mode/edge_bevel.mp4" controls preload muted loop style="max-width: 100%; margin: 0 auto;"></video>
![](./model_mode/edge_bevel.mp4)
- Face Bevel:
- **Face Bevel**:
The selected face _f_ is replaced by a new face _g_, as well
as a ring of faces around _g_, such that the vertices of _g_ connect to the
original vertices of _f_. The new face is inset and offset by some
user-controllable amount.
- Face Extrude: The selected face _f_ is replaced by a new face _g_ as in Face Bevel, and _g_ is offset only in the normal direction by some user-controllable amount.
- **Face Extrude**: The selected face _f_ is replaced by a new face _g_ as in Face Bevel, and _g_ is offset only in the normal direction by some user-controllable amount.
- Face Inset: The selected face _f_ is replaced by a new face _g_ as in Face Bevel, but its vertices are only offset in the tangent direction by a constant factor (we use 1/3 in the example).
- **Face Inset**: The selected face _f_ is replaced by a new face _g_ as in Face Bevel, but its vertices are only offset in the tangent direction by a constant factor (we use 1/3 in the example).
<video src="./model_mode/face_bevel.mp4" controls preload muted loop style="max-width: 100%; margin: 0 auto;"></video>
![](./model_mode/face_bevel.mp4)
......@@ -90,21 +90,21 @@ connectivity of the mesh (for instance, splitting or collapsing edges). These
commands are applied by selecting a mesh element (in any mode) and pressing the
appropriate key, as listed below. Local mesh editing operations include:
- Erase Vertex: The selected vertex _v_ together with all incident edges
- **Erase Vertex**: The selected vertex _v_ together with all incident edges
and faces will be replaced with a single face _f_, that is the union of all
faces originally incident on _v_.
<video src="./model_mode/erase_vertex.mp4" controls preload muted loop style="max-width: 100%; margin: 0 auto;"></video>
![](./model_mode/erase_vertex.mp4)
- Erase Edge: The selected edge _e_ will be replaced with the union of the
- **Erase Edge**: The selected edge _e_ will be replaced with the union of the
faces containing it, producing a new face _e_ (if _e_ is a boundary edge,
nothing happens).
<video src="./model_mode/erase_edge.mp4" controls preload muted loop style="max-width: 100%; margin: 0 auto;"></video>
![](./model_mode/erase_edge.mp4)
- Edge Collapse:
- **Edge Collapse**:
The selected edge _e_ is replaced by a single vertex _v_.
This vertex is connected by edges to all vertices previously connected to either
endpoint of _e_. Moreover, if either of the polygons containing _e_ was a
......@@ -114,16 +114,16 @@ only two edges).
<video src="./model_mode/collapse_edge.mp4" controls preload muted loop style="max-width: 100%; margin: 0 auto;"></video>
![](./model_mode/collapse_edge.mp4)
- Face Collapse: The selected face _f_ is replaced by a single vertex _v_.
- **Face Collapse**: The selected face _f_ is replaced by a single vertex _v_.
All edges previously connected to vertices of _f_ are now connected directly to
_v_.
<video src="./model_mode/collapse_face.mp4" controls preload muted loop style="max-width: 100%; margin: 0 auto;"></video>
![](./model_mode/collapse_face.mp4)
- Vertex Inset: A new vertex _v_ is inset at the center of the selected face _f_, dividing _f_ into _n_ triangles (where _n_ is the degree of _f_).
- **Vertex Inset**: A new vertex _v_ is inset at the center of the selected face _f_, dividing _f_ into _n_ triangles (where _n_ is the degree of _f_).
- Edge Flip:
- **Edge Flip**:
The selected edge _e_ is "rotated" around the face, in the
sense that each endpoint moves to the next vertex (in counter-clockwise order)
along the boundary of the two polygons containing _e_.
......@@ -131,7 +131,7 @@ along the boundary of the two polygons containing _e_.
<video src="./model_mode/edge_flip.mp4" controls preload muted loop style="max-width: 100%; margin: 0 auto;"></video>
![](./model_mode/edge_flip.mp4)
- Edge Split:
- **Edge Split**:
[Note: this method is for triangle meshes only!] The
selected edge _e_ is split at its midpoint, and the new vertex _v_ is connected
to the two opposite vertices (or one in the case of a surface with boundary).
......@@ -139,7 +139,7 @@ to the two opposite vertices (or one in the case of a surface with boundary).
<video src="./model_mode/edge_split.mp4" controls preload muted loop style="max-width: 100%; margin: 0 auto;"></video>
![](./model_mode/edge_split.mp4)
- Edge Bisect: The selected edge _e_ is split at its midpoint, and the new vertex _v_ at the split is returned. Note that the new vertex _v_ is not connected to the two opposite vertices as in Edge Split.
- **Edge Bisect**: The selected edge _e_ is split at its midpoint, and the new vertex _v_ at the split is returned. Note that the new vertex _v_ is not connected to the two opposite vertices as in Edge Split.
### Global Mesh Processing<a name="global-mesh-processing"></a>
......@@ -148,13 +148,13 @@ A number of commands can be used to create a more global change in the mesh
pressing the appropriate sidebar button with a mesh selected. Note that in scenes with multiple meshes (e.g., those used by
the path tracer), this command will be applied only to the selected mesh.
- Triangulate:
- **Triangulate**:
Each polygon is split into triangles.
<video src="./model_mode/triangulate.mp4" controls preload muted loop style="max-width: 100%; margin: 0 auto;"></video>
![](./model_mode/triangulate.mp4)
- Linear Subdivision:<a name="linear-subdivision"></a>
- **Linear Subdivision**:
Each polygon in the selected mesh is split into
quadrilaterals by inserting a vertex at the midpoint and connecting it to the
midpoint of all edges. New vertices are placed at the average of old vertices so
......@@ -163,7 +163,7 @@ that, e.g., flat faces stay flat, and old vertices remain where they were.
<video src="./model_mode/linear_subd.mp4" controls preload muted loop style="max-width: 100%; margin: 0 auto;"></video>
![](./model_mode/linear_subd.mp4)
- Catmull-Clark Subdivision:
- **Catmull-Clark Subdivision**:
_[Note: this method is for meshes without boundary only!]_
Just as with linear subdivision, each
polygon is split into quadrilaterals, but this time the vertex positions are
......@@ -174,8 +174,8 @@ ultimately generating a nice rounded surface.
<video src="./model_mode/catmull_subd.mp4" controls preload muted loop style="max-width: 100%; margin: 0 auto;"></video>
![](./model_mode/catmull_subd.mp4)
- Loop Subdivision:
_[Note: this method is for triangle meshes without boundary only!]_
- **Loop Subdivision**:
_[Note: this method is for triangle meshes without boundary only!]_
Each triangle is split into four by connecting the edge midpoints. Vertex
positions are updated according to the [Loop subdivision
rules](https://en.wikipedia.org/wiki/Loop_subdivision_surface).
......@@ -183,7 +183,7 @@ rules](https://en.wikipedia.org/wiki/Loop_subdivision_surface).
<video src="./model_mode/loop_subd.mp4" controls preload muted loop style="max-width: 100%; margin: 0 auto;"></video>
![](./model_mode/loop_subd.mp4)
- Isotropic Remeshing:
- **Isotropic Remeshing**:
_[Note: this method is for triangle meshes only!]_
The mesh is resampled so that triangles all have roughly the same size and
shape, and vertex valence is close to regular (i.e., about six edges incident on
......@@ -192,7 +192,7 @@ every vertex).
<video src="./model_mode/remesh.mp4" controls preload muted loop style="max-width: 100%; margin: 0 auto;"></video>
![](./model_mode/remesh.mp4)
- Simplification:
- **Simplification**:
_[Note: this method is for triangle meshes only!]_ The
number of triangles in the mesh is reduced by a factor of about four, aiming to
preserve the appearance of the original mesh as closely as possible.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment