From df1516fe9d7d7c7f7fc6b5a9a0f76f99c8cb3f08 Mon Sep 17 00:00:00 2001 From: Hui Wang <wanghehv@sjtu.edu.cn> Date: Thu, 9 Mar 2023 11:47:39 +0000 Subject: [PATCH] Update model.md --- docs/guide/model.md | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/docs/guide/model.md b/docs/guide/model.md index 59e38b5..9505631 100644 --- a/docs/guide/model.md +++ b/docs/guide/model.md @@ -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>  -- 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>  -- 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>  @@ -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>  -- 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>  -- 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>  -- 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>  -- 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>  -- 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>  -- 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>  -- 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>  -- 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>  -- 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>  -- 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>  -- 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. -- GitLab