diff --git a/docs/nodes/curve/adaptive_plot.rst b/docs/nodes/curve/adaptive_plot.rst index 2c1d5e92cb..daf7e3fbf7 100644 --- a/docs/nodes/curve/adaptive_plot.rst +++ b/docs/nodes/curve/adaptive_plot.rst @@ -1,6 +1,9 @@ Adaptive Plot Curve =================== +.. image:: https://github.com/nortikin/sverchok/assets/14288520/b353ce32-325f-4db7-9fb8-2570d9dc8802 + :target: https://github.com/nortikin/sverchok/assets/14288520/b353ce32-325f-4db7-9fb8-2570d9dc8802 + Functionality ------------- @@ -27,6 +30,14 @@ The following algorithm is used: For NURBS and NURBS-like curves, consider use of "Adaptive Plot NURBS Curve" node. +.. image:: https://github.com/nortikin/sverchok/assets/14288520/165d83b8-6fbf-47f1-95eb-432917ef6961 + :target: https://github.com/nortikin/sverchok/assets/14288520/165d83b8-6fbf-47f1-95eb-432917ef6961 + +* Generator-> :doc:`Random Vector ` +* Curves-> :doc:`Cubic Spline ` +* Viz-> :doc:`Viewer Draw Curve ` +* Viz-> :doc:`Viewer Draw ` + Inputs ------ @@ -59,20 +70,31 @@ This node has the following parameters: * **By Curvature**. Use curve curvature value to distribute additional points on the curve: places with greater curvature value will receive more points. Checked by default. -* ** By Length**. Use segment lengths to distribute additional points on the +* **By Length**. Use segment lengths to distribute additional points on the curve: segments with greater length will receive more points. Unchecked by default. + + .. image:: https://github.com/nortikin/sverchok/assets/14288520/96b290d1-2154-48be-a874-d90443a33ec7 + :target: https://github.com/nortikin/sverchok/assets/14288520/96b290d1-2154-48be-a874-d90443a33ec7 + * **Points Count**. This defines how number of points to be generated will be defined. Possible options are: * **Total Count**. Total number of points to be generated will be provided in the **Count** input. + + .. image:: https://github.com/nortikin/sverchok/assets/14288520/3e76982f-974e-4d28-9891-ede1463a2355 + :target: https://github.com/nortikin/sverchok/assets/14288520/3e76982f-974e-4d28-9891-ede1463a2355 + * **Per Segment**. Minimum and maximum number of points per initial subdivision segment will be provided in **Min per segment**, **Max per segment** inputs, correspondingly. The default option is **Total Count**. + .. image:: https://github.com/nortikin/sverchok/assets/14288520/e5091c8d-0778-48e2-8d26-6bcdbdc03963 + :target: https://github.com/nortikin/sverchok/assets/14288520/e5091c8d-0778-48e2-8d26-6bcdbdc03963 + * **Random**. If checked, then additional points will be distributed randomly. Otherwise, additional points will be distributed evenly inside each segment of initial subdivision. Unchecked by default. @@ -85,6 +107,9 @@ This node has the following parameters: not have to change this value. Set the parameter to 0 (zero) to disable this part of the algorithm. + .. image:: https://github.com/nortikin/sverchok/assets/14288520/92083c39-f8f5-46d1-8f9d-1b2e27ccd9e0 + :target: https://github.com/nortikin/sverchok/assets/14288520/92083c39-f8f5-46d1-8f9d-1b2e27ccd9e0 + Outputs ------- diff --git a/docs/nodes/curve/apply_field_to_curve.rst b/docs/nodes/curve/apply_field_to_curve.rst index 45b709e07c..c351b246bc 100644 --- a/docs/nodes/curve/apply_field_to_curve.rst +++ b/docs/nodes/curve/apply_field_to_curve.rst @@ -1,6 +1,9 @@ Apply Field to Curve ==================== +.. image:: https://github.com/nortikin/sverchok/assets/14288520/50fc1d2e-0da6-41d9-add9-82905240a4a4 + :target: https://github.com/nortikin/sverchok/assets/14288520/50fc1d2e-0da6-41d9-add9-82905240a4a4 + Functionality ------------- @@ -72,12 +75,28 @@ Example of usage Several Line curves modified by Noise vector field: .. image:: https://user-images.githubusercontent.com/284644/77443601-fd816500-6e0c-11ea-9ed2-0516eba95951.png + :target: https://user-images.githubusercontent.com/284644/77443601-fd816500-6e0c-11ea-9ed2-0516eba95951.png + +* Generator-> :doc:`NGon ` +* Curves->Curve Primitives-> :doc:`Line (Curve) ` +* Curves-> :doc:`Evaluate Curve ` +* Fields-> :doc:`Noise Vector Field ` +* Viz-> :doc:`Viewer Draw ` Apply Attractor field to control points of a NURBS curve. Control polygon of a resulting curve is indicated with red: .. image:: https://user-images.githubusercontent.com/284644/90950162-8c4fe780-e468-11ea-9fa2-8d133fa07c58.png + :target: https://user-images.githubusercontent.com/284644/90950162-8c4fe780-e468-11ea-9fa2-8d133fa07c58.png + +* Curves-> :doc:`Interpolate NURBS Curve ` +* Curves-> :doc:`Evaluate Curve ` +* Curves->Curve NURBS-> :doc:`Deconstruct Curve ` +* Fields-> :doc:`Attractor Field ` +* Vector-> :doc:`Vector sort ` +* Viz-> :doc:`Viewer Draw ` +* Scene-> :doc:`Objects In Lite ` If we apply the same curve to all points of curve (disable "Use control points" mode), we will have different curve: .. image:: https://user-images.githubusercontent.com/284644/90950165-9245c880-e468-11ea-8439-0b450ae58010.png - + :target: https://user-images.githubusercontent.com/284644/90950165-9245c880-e468-11ea-8439-0b450ae58010.png diff --git a/docs/nodes/curve/catmull_rom.rst b/docs/nodes/curve/catmull_rom.rst index 5077feedcd..93c421630d 100644 --- a/docs/nodes/curve/catmull_rom.rst +++ b/docs/nodes/curve/catmull_rom.rst @@ -1,6 +1,9 @@ Catmull-Rom Spline ================== +.. image:: https://github.com/nortikin/sverchok/assets/14288520/90d6160e-18f2-4d97-a2d5-be0b0f8e0ee5 + :target: https://github.com/nortikin/sverchok/assets/14288520/90d6160e-18f2-4d97-a2d5-be0b0f8e0ee5 + Functionality ------------- @@ -33,6 +36,14 @@ This node supports two variants of Catmull-Rom spline: in places where control points are far from one another, and more flat where control points are near. This usually gives the feeling of curve being more "natural". + + .. image:: https://github.com/nortikin/sverchok/assets/14288520/7d0bb73b-9e8e-4518-be7a-0f7e830a4141 + :target: https://github.com/nortikin/sverchok/assets/14288520/7d0bb73b-9e8e-4518-be7a-0f7e830a4141 + + * Generator->Generatots Extended-> :doc:`Spiral ` + * Viz-> :doc:`Viewer Draw ` + * Viz-> :doc:`Viewer Draw Curve ` + * Uniform spline. In this implementation, each spline segment is assigned with equal span of T parameter. As effect, it is possible that the curve will be unexpectedly more "curvy" when successive control points are near one @@ -40,6 +51,13 @@ This node supports two variants of Catmull-Rom spline: "smoothness" by additional "tension" parameter. It is also possible to specify tension value for each curve segment. + .. image:: https://github.com/nortikin/sverchok/assets/14288520/75f64eec-b2dd-4742-aa06-abac69d27243 + :target: https://github.com/nortikin/sverchok/assets/14288520/75f64eec-b2dd-4742-aa06-abac69d27243 + + * Generator->Generatots Extended-> :doc:`Spiral ` + * Viz-> :doc:`Viewer Draw ` + * Viz-> :doc:`Viewer Draw Curve ` + .. _Wikipedia: https://en.wikipedia.org/wiki/Centripetal_Catmull%E2%80%93Rom_spline Inputs @@ -56,6 +74,9 @@ This node has the following inputs: segment of the curve (i.e. for each pair of successive points). The default value is 1.0. + .. image:: https://github.com/nortikin/sverchok/assets/14288520/d338ff7b-f65a-46e2-8fb8-5646ab1b98eb + :target: https://github.com/nortikin/sverchok/assets/14288520/d338ff7b-f65a-46e2-8fb8-5646ab1b98eb + Parameters ---------- @@ -65,6 +86,10 @@ This node has the following parameters: * **Spline Type**. Allows to select one of Catmull-Rom spline implementations (see descriptions above). The available options are **Non-uniform** and **Uniform (with tension)**. The default option is **Non-uniform**. + + .. image:: https://github.com/nortikin/sverchok/assets/14288520/d338ff7b-f65a-46e2-8fb8-5646ab1b98eb + :target: https://github.com/nortikin/sverchok/assets/14288520/d338ff7b-f65a-46e2-8fb8-5646ab1b98eb + * **Metric**. This parameter is available only if **Spline Type** is set to **Non-uniform**. Defines the metric used to assign T parameter spans to each segment of the curve. The available values are: @@ -81,6 +106,9 @@ This node has the following parameters: Points (this makes a uniform spline with tension set to 1). The default option is Euclidean. + .. image:: https://github.com/nortikin/sverchok/assets/14288520/06f36f4f-31e8-4c70-8de6-29839e869edd + :target: https://github.com/nortikin/sverchok/assets/14288520/06f36f4f-31e8-4c70-8de6-29839e869edd + Outputs ------- @@ -96,29 +124,56 @@ Simplest example: .. image:: https://user-images.githubusercontent.com/284644/210108720-cb3ef5df-1745-4c19-8625-73f74a445c3d.png :target: https://user-images.githubusercontent.com/284644/210108720-cb3ef5df-1745-4c19-8625-73f74a445c3d.png +* Viz-> :doc:`Viewer Draw Curve ` +* Scene-> :doc:`Get Objects Data ` + Uniform (yellow) vs non-uniform (green) spline: .. image:: https://user-images.githubusercontent.com/284644/210095223-04cb8658-522e-4458-8668-280a810d5b56.png :target: https://user-images.githubusercontent.com/284644/210095223-04cb8658-522e-4458-8668-280a810d5b56.png +* Viz-> :doc:`Viewer Draw ` +* Viz-> :doc:`Viewer Draw Curve ` +* Scene-> :doc:`Get Objects Data ` + Non-uniform splines with Euclidean metric (yellow) and with centripetal metric (green): .. image:: https://user-images.githubusercontent.com/284644/210095289-11843fed-a915-4030-8391-b81735f1375b.png :target: https://user-images.githubusercontent.com/284644/210095289-11843fed-a915-4030-8391-b81735f1375b.png +* Viz-> :doc:`Viewer Draw ` +* Viz-> :doc:`Viewer Draw Curve ` +* Scene-> :doc:`Get Objects Data ` + Non-uniform (Euclidean) Catmull-Rom spline (yellow) vs Cubic spline (blue): .. image:: https://user-images.githubusercontent.com/284644/210095458-840ee62f-36bc-41ec-8f25-728392fdaedf.png :target: https://user-images.githubusercontent.com/284644/210095458-840ee62f-36bc-41ec-8f25-728392fdaedf.png +* Viz-> :doc:`Viewer Draw ` +* Viz-> :doc:`Viewer Draw Curve ` +* Scene-> :doc:`Get Objects Data ` + Uniform splines with different tension values: from 0.2 (almost black lines) to 2.0 (white line): .. image:: https://user-images.githubusercontent.com/284644/210087921-a8cebbca-2235-4d82-9e11-f08794d8227c.png :target: https://user-images.githubusercontent.com/284644/210087921-a8cebbca-2235-4d82-9e11-f08794d8227c.png +* Number-> :doc:`Number Range ` +* Number-> :doc:`Map Range ` +* Curves-> :doc:`Evaluate Curve ` +* List->List Struct-> :doc:`List Levels ` +* Color-> :doc:`Color In ` +* Viz-> :doc:`Viewer Draw ` +* Scene-> :doc:`Get Objects Data ` + Here the curvature comb is used to illustrate that the curvature of Catmull-Rom splines can change very fast and sudden: .. image:: https://user-images.githubusercontent.com/284644/210087923-fc329968-375a-440e-b661-ee107a85e326.png :target: https://user-images.githubusercontent.com/284644/210087923-fc329968-375a-440e-b661-ee107a85e326.png +* Viz-> :doc:`Viewer Draw ` +* Viz-> :doc:`Viewer Draw Curve ` +* Scene-> :doc:`Get Objects Data ` + diff --git a/docs/nodes/curve/curvature.rst b/docs/nodes/curve/curvature.rst index 0f4827b90e..9401cbb002 100644 --- a/docs/nodes/curve/curvature.rst +++ b/docs/nodes/curve/curvature.rst @@ -1,6 +1,9 @@ Curve Curvature =============== +.. image:: https://github.com/nortikin/sverchok/assets/14288520/50a1d9b3-0c0a-4b23-b890-a18c0bd1872e + :target: https://github.com/nortikin/sverchok/assets/14288520/50a1d9b3-0c0a-4b23-b890-a18c0bd1872e + Functionality ------------- @@ -10,6 +13,16 @@ osculating circle. .. _curvature: https://en.wikipedia.org/wiki/Curvature#Space_curves +.. image:: https://github.com/nortikin/sverchok/assets/14288520/157422c9-d794-4a63-82c9-77dd6d954071 + :target: https://github.com/nortikin/sverchok/assets/14288520/157422c9-d794-4a63-82c9-77dd6d954071 + +* Generator-> :doc:`Segment ` +* Curves-> :doc:`Evaluate Curve ` +* Number-> :doc:`Number Range ` +* List->List Struct-> :doc:`List Levels ` +* Viz-> :doc:`Viewer Draw ` +* Scene-> :doc:`Bezier Input ` + Inputs ------ @@ -38,4 +51,12 @@ Example of usage Calculate and display curvature at several points of some random curve: .. image:: https://user-images.githubusercontent.com/284644/78502370-470d7080-777a-11ea-9ee7-648946c89ab5.png - + :target: https://user-images.githubusercontent.com/284644/78502370-470d7080-777a-11ea-9ee7-648946c89ab5.png + +* Generator-> :doc:`Random Vector ` +* Curves-> :doc:`Cubic Spline ` +* Curves-> :doc:`Curve Domain ` +* Curves-> :doc:`Evaluate Curve ` +* Number-> :doc:`Number Range ` +* Viz-> :doc:`Viewer Index+ ` +* Viz-> :doc:`Viewer Draw ` \ No newline at end of file diff --git a/docs/nodes/curve/curve_length.rst b/docs/nodes/curve/curve_length.rst index 417d78d34b..de4a39d25c 100644 --- a/docs/nodes/curve/curve_length.rst +++ b/docs/nodes/curve/curve_length.rst @@ -1,6 +1,9 @@ Curve Length ============ +.. image:: https://github.com/nortikin/sverchok/assets/14288520/e3daf084-d9ee-43ac-9d99-c66d55fa6018 + :target: https://github.com/nortikin/sverchok/assets/14288520/e3daf084-d9ee-43ac-9d99-c66d55fa6018 + Functionality ------------- @@ -12,6 +15,14 @@ straight segments and summing their lengths. The more segments you subdivide the curve in, the more precise the length will be, but the more time it will take to calculate. So the node gives you control on the number of subdivisions. +.. image:: https://github.com/nortikin/sverchok/assets/14288520/829ea5a2-39bf-452c-abe4-c855bbd65672 + :target: https://github.com/nortikin/sverchok/assets/14288520/829ea5a2-39bf-452c-abe4-c855bbd65672 + +* Curves-> :doc:`Extend Curve ` +* Viz-> :doc:`Viewer Draw Curve ` +* Text-> :doc:`Stethoscope ` +* Scene-> :doc:`Bezier Input ` + Inputs ------ @@ -57,12 +68,35 @@ Examples of usage The length of a unit circle is 2*pi: .. image:: https://user-images.githubusercontent.com/284644/77850952-6b53d500-71ef-11ea-80fe-07815a5c7e1d.png + :target: https://user-images.githubusercontent.com/284644/77850952-6b53d500-71ef-11ea-80fe-07815a5c7e1d.png + +* Curves-> :doc:`Circle (Curve) ` +* Curves-> :doc:`Evaluate Curve ` +* Viz-> :doc:`Viewer Draw ` +* Text-> :doc:`Stethoscope ` Calculate length of some smooth curve: .. image:: https://user-images.githubusercontent.com/284644/77849699-01cfc880-71e7-11ea-97b2-9229e0f9c630.png + :target: https://user-images.githubusercontent.com/284644/77849699-01cfc880-71e7-11ea-97b2-9229e0f9c630.png + +* Curves-> :doc:`Cubic Spline ` +* Curves-> :doc:`Evaluate Curve ` +* Vector-> :doc:`Vector sort ` +* Viz-> :doc:`Viewer Draw ` +* Text-> :doc:`Stethoscope ` +* Scene-> :doc:`Objects In Lite ` Take some points on the curve (with even steps in T) and calculate length from the beginning of the curve to each point: .. image:: https://user-images.githubusercontent.com/284644/77849701-0300f580-71e7-11ea-89a7-197f7778da71.png - + :target: https://user-images.githubusercontent.com/284644/77849701-0300f580-71e7-11ea-89a7-197f7778da71.png + +* Number-> :doc:`Number Range ` +* Vector-> :doc:`Vector sort ` +* Curves-> :doc:`Cubic Spline ` +* Curves-> :doc:`Curve Domain ` +* Curves-> :doc:`Evaluate Curve ` +* Viz-> :doc:`Viewer Draw ` +* Viz-> :doc:`Viewer Index+ ` +* Scene-> :doc:`Objects In Lite ` \ No newline at end of file diff --git a/docs/nodes/curve/curve_on_surface.rst b/docs/nodes/curve/curve_on_surface.rst index 4d23500366..4a5e4c55c0 100644 --- a/docs/nodes/curve/curve_on_surface.rst +++ b/docs/nodes/curve/curve_on_surface.rst @@ -1,6 +1,9 @@ Curve on Surface ================ +.. image:: https://github.com/nortikin/sverchok/assets/14288520/93b89074-7f66-4b38-a67b-49ba6ae1cbdd + :target: https://github.com/nortikin/sverchok/assets/14288520/93b89074-7f66-4b38-a67b-49ba6ae1cbdd + Functionality ------------- @@ -10,6 +13,14 @@ placed in 2D space of U and V parameters, and generates another curve by evaluating the surface at U/V coordinates generated by the first curve. One may say that this node draws the curve on the surface. +.. image:: https://github.com/nortikin/sverchok/assets/14288520/2ca06ed4-ed55-4d0f-b2d5-af6faa5136f1 + :target: https://github.com/nortikin/sverchok/assets/14288520/2ca06ed4-ed55-4d0f-b2d5-af6faa5136f1 + +* Generator-> :doc:`Random Vector ` +* Curves-> :doc:`Cubic Spline ` +* Viz-> :doc:`Viewer Draw Curve ` +* Viz-> :doc:`Viewer Draw Surface ` + Inputs ------ @@ -41,8 +52,29 @@ Examples of usage Generate some surface and draw a circle on it: .. image:: https://user-images.githubusercontent.com/284644/78508319-5ce15c80-779f-11ea-92a8-48e9ea65450c.png + :target: https://user-images.githubusercontent.com/284644/78508319-5ce15c80-779f-11ea-92a8-48e9ea65450c.png + +* Generator-> :doc:`NGon ` +* Curves-> :doc:`Cubic Spline ` +* Curves-> :doc:`Circle (Curve) ` +* Curves-> :doc:`Evaluate Curve ` +* Surfaces-> :doc:`Extrude Curve Along Vector ` +* Surface-> :doc:`Evaluate Surface ` +* Matrix-> :doc:`Matrix In ` +* Viz-> :doc:`Viewer Draw ` It is possible to use such a curve, for example, to place cubes along it: .. image:: https://user-images.githubusercontent.com/284644/78508386-f6a90980-779f-11ea-9156-edd05500a0f8.png - + :target: https://user-images.githubusercontent.com/284644/78508386-f6a90980-779f-11ea-9156-edd05500a0f8.png + +* Generator-> :doc:`NGon ` +* Generator-> :doc:`Box ` +* Curves-> :doc:`Circle (Curve) ` +* Curves-> :doc:`Cubic Spline ` +* Curves-> :doc:`Curve Zero-Twist Frame ` +* Surfaces-> :doc:`Extrude Curve Along Vector ` +* Surface-> :doc:`Evaluate Surface ` +* Number-> :doc:`Number Range ` +* Matrix-> :doc:`Matrix In ` +* Viz-> :doc:`Viewer Draw ` diff --git a/docs/nodes/curve/curve_range.rst b/docs/nodes/curve/curve_range.rst index 9883f65655..685f3c7a35 100644 --- a/docs/nodes/curve/curve_range.rst +++ b/docs/nodes/curve/curve_range.rst @@ -1,11 +1,21 @@ Curve Domain ============ +.. image:: https://github.com/nortikin/sverchok/assets/14288520/17bf2239-0e02-4455-8254-480eba33ba93 + :target: https://github.com/nortikin/sverchok/assets/14288520/17bf2239-0e02-4455-8254-480eba33ba93 + Functionality ------------- This node outputs the domain of the curve, i.e. the range of values the curve's T parameter is allowed to take. +.. image:: https://github.com/nortikin/sverchok/assets/14288520/10ab8942-e5b2-4943-85c3-8dd07bf9a99c + :target: https://github.com/nortikin/sverchok/assets/14288520/10ab8942-e5b2-4943-85c3-8dd07bf9a99c + +* List->List Main-> :doc:`List Join ` +* Text-> :doc:`Stethoscope ` +* Scene-> :doc:`Bezier Input ` + Inputs ------ @@ -28,4 +38,7 @@ Example of usage The domain of circle curve is from 0 to 2*pi: .. image:: https://user-images.githubusercontent.com/284644/78507901-792fca00-779c-11ea-90a7-e3c1cfecf39b.png + :target: https://user-images.githubusercontent.com/284644/78507901-792fca00-779c-11ea-90a7-e3c1cfecf39b.png +* Curves-> :doc:`Circle (Curve) ` +* Text-> :doc:`Stethoscope ` \ No newline at end of file diff --git a/docs/nodes/curve/curve_segment.rst b/docs/nodes/curve/curve_segment.rst index e0f11611bd..60c3e789e4 100644 --- a/docs/nodes/curve/curve_segment.rst +++ b/docs/nodes/curve/curve_segment.rst @@ -1,6 +1,9 @@ Curve Segment ============= +.. image:: https://github.com/nortikin/sverchok/assets/14288520/41fa4386-25c7-4282-8ccc-a776b3b19151 + :target: https://github.com/nortikin/sverchok/assets/14288520/41fa4386-25c7-4282-8ccc-a776b3b19151 + Functionality ------------- @@ -8,6 +11,9 @@ This node generates a curve which is defined as a subset of the input curve with a smaller range of allowed T parameter values. In other words, the output curve is the same as input one, but with restricted range of T values allowed. +.. image:: https://github.com/nortikin/sverchok/assets/14288520/b0ccc491-4211-4c29-ba6f-011dfa02e282 + :target: https://github.com/nortikin/sverchok/assets/14288520/b0ccc491-4211-4c29-ba6f-011dfa02e282 + Output curve domain: defined by node inputs. Output curve parametrization: the same as of input curve. @@ -49,8 +55,22 @@ Examples of usage Generate some random curve (green) and take a subset from it with T values from 0.2 to 0.8 (red): .. image:: https://user-images.githubusercontent.com/284644/78508073-99ac5400-779d-11ea-9a01-1d8824934ae4.png + :target: https://user-images.githubusercontent.com/284644/78508073-99ac5400-779d-11ea-9a01-1d8824934ae4.png + +* Generator-> :doc:`Random Vector ` +* Curves-> :doc:`Cubic Spline ` +* Curves-> :doc:`Evaluate Curve ` +* Viz-> :doc:`Viewer Draw ` Generate several segments of the same curve with different ranges of T parameter, to generate a dashed line: .. image:: https://user-images.githubusercontent.com/284644/78508072-987b2700-779d-11ea-9b53-6490db257aed.png - + :target: https://user-images.githubusercontent.com/284644/78508072-987b2700-779d-11ea-9b53-6490db257aed.png + +* Generator-> :doc:`Random Vector ` +* Curves-> :doc:`Cubic Spline ` +* Curves-> :doc:`Curve Domain ` +* Curves-> :doc:`Evaluate Curve ` +* Number-> :doc:`Number Range ` +* Add: Number-> :doc:`Scalar Math ` +* Viz-> :doc:`Viewer Draw ` \ No newline at end of file diff --git a/docs/nodes/curve/endpoints.rst b/docs/nodes/curve/endpoints.rst index 7e35e44020..6faedb2c34 100644 --- a/docs/nodes/curve/endpoints.rst +++ b/docs/nodes/curve/endpoints.rst @@ -1,11 +1,17 @@ Curve Endpoints =============== +.. image:: https://github.com/nortikin/sverchok/assets/14288520/cd2c2bcc-2d3d-4482-a82d-60d097d7df26 + :target: https://github.com/nortikin/sverchok/assets/14288520/cd2c2bcc-2d3d-4482-a82d-60d097d7df26 + Functionality ------------- This node outputs starting and ending points of the curve. +.. image:: https://github.com/nortikin/sverchok/assets/14288520/b14902af-ec58-48ee-8d2e-e2265b48bc14 + :target: https://github.com/nortikin/sverchok/assets/14288520/b14902af-ec58-48ee-8d2e-e2265b48bc14 + Note that for closed curves the start and the end point will coincide. Inputs @@ -26,7 +32,24 @@ This node has the following outputs: Example of usage ---------------- -Visualize end points of some curve: +Visualize end points of some curve (old example): .. image:: https://user-images.githubusercontent.com/284644/78505629-20593500-778e-11ea-998b-53b5b87925d3.png + :target: https://user-images.githubusercontent.com/284644/78505629-20593500-778e-11ea-998b-53b5b87925d3.png + +* Generator-> :doc:`Random Vector ` +* Curves-> :doc:`Cubic Spline ` +* Curves-> :doc:`Evaluate Curve ` +* Viz-> :doc:`Viewer Draw ` + +Refactor of old example +----------------------- + +.. image:: https://github.com/nortikin/sverchok/assets/14288520/d9d8cb0f-5517-4996-bfe2-d272d6a528f1 + :target: https://github.com/nortikin/sverchok/assets/14288520/d9d8cb0f-5517-4996-bfe2-d272d6a528f1 +* Generator-> :doc:`Random Vector ` +* Curves-> :doc:`Cubic Spline ` +* List->List Main-> :doc:`List Join ` +* Viz-> :doc:`Viewer Draw ` +* Viz-> :doc:`Viewer Draw Curve ` \ No newline at end of file diff --git a/docs/nodes/curve/eval_curve.rst b/docs/nodes/curve/eval_curve.rst index 35cd745a91..eba4f7f606 100644 --- a/docs/nodes/curve/eval_curve.rst +++ b/docs/nodes/curve/eval_curve.rst @@ -1,6 +1,9 @@ Evaluate Curve ============== +.. image:: https://github.com/nortikin/sverchok/assets/14288520/7b2ecf3d-f82c-45d1-8dd4-75cf55612637 + :target: https://github.com/nortikin/sverchok/assets/14288520/7b2ecf3d-f82c-45d1-8dd4-75cf55612637 + Functionality ------------- @@ -10,6 +13,12 @@ evenly distributed values of curve parameter. You will be using this node a lot, to visualize any curve, or to convert it to mesh. +.. image:: https://github.com/nortikin/sverchok/assets/14288520/1489fe08-9016-4cb3-91f6-b01c6379bbad + :target: https://github.com/nortikin/sverchok/assets/14288520/1489fe08-9016-4cb3-91f6-b01c6379bbad + +* Curves-> :doc:`Rounded Rectangle ` +* Viz-> :doc:`Viewer Draw ` + Inputs ------ @@ -19,7 +28,7 @@ This node has the following inputs: * **T**. The value of curve parameter to calculate the point on the curve for. This input is available only when **Mode** parameter is set to **Manual**. Sensible range values for this input corresponds to the domain of the curve - provided in the **Curve** input. + provided in the **Curve** input. [:doc:`Curve Domain `] * **Samples**. Number of curve parameter values to calculate the curve points for. This input is available only when **Mode** parameter is set to **Auto**. The default value is 50. @@ -32,8 +41,24 @@ This node has the following parameters: * **Mode**: * **Automatic**. Calculate curve points for the set of curve parameter values which are evenly distributed within curve domain. + + .. image:: https://github.com/nortikin/sverchok/assets/14288520/da5efc27-6df0-4f91-868e-9ae38ac585f1 + :target: https://github.com/nortikin/sverchok/assets/14288520/da5efc27-6df0-4f91-868e-9ae38ac585f1 + + * Curves-> :doc:`Rounded Rectangle ` + * Viz-> :doc:`Viewer Draw Curve ` + * Viz-> :doc:`Viewer Draw ` + * **Manual**. Calculate curve point for the provided value of curve parameter. + .. image:: https://github.com/nortikin/sverchok/assets/14288520/0dd779ba-4e86-4853-b430-80c1ebb4d0d5 + :target: https://github.com/nortikin/sverchok/assets/14288520/0dd779ba-4e86-4853-b430-80c1ebb4d0d5 + + * Number-> :doc:`Number Range ` + * Curves-> :doc:`Rounded Rectangle ` + * Curves-> :doc:`Curve Domain ` + * Viz-> :doc:`Viewer Draw ` + * **Join**. If checked, then the node will output one single list of objects for all provided curves - for example, data in **Verties** output will have nesting level 3 even if data in **Curve** input had nesting level 2. @@ -56,4 +81,16 @@ Examples of usage This node used for line visualization: .. image:: https://user-images.githubusercontent.com/284644/77443595-fc503800-6e0c-11ea-9340-6473785a6a51.png + :target: https://user-images.githubusercontent.com/284644/77443595-fc503800-6e0c-11ea-9340-6473785a6a51.png + +* Curves->Curve Primitives-> :doc:`Line (Curve) ` +* Viz-> :doc:`Viewer Draw ` + +.. image:: https://github.com/nortikin/sverchok/assets/14288520/43f40de2-c2ac-46cc-8d46-3f23b27569f3 + :target: https://github.com/nortikin/sverchok/assets/14288520/43f40de2-c2ac-46cc-8d46-3f23b27569f3 +* Curves-> :doc:`Rounded Rectangle ` +* Curves-> :doc:`Curve Domain ` +* Number-> :doc:`Random Num Gen ` +* Viz-> :doc:`Viewer Draw Curve ` +* Viz-> :doc:`Viewer Draw ` \ No newline at end of file diff --git a/docs/nodes/curve/extend_curve.rst b/docs/nodes/curve/extend_curve.rst index e564f22922..8b0086cd13 100644 --- a/docs/nodes/curve/extend_curve.rst +++ b/docs/nodes/curve/extend_curve.rst @@ -1,6 +1,9 @@ Extend Curve ============ +.. image:: https://github.com/nortikin/sverchok/assets/14288520/bc848d08-3c37-49a6-8aca-bf61cd984bb5 + :target: https://github.com/nortikin/sverchok/assets/14288520/bc848d08-3c37-49a6-8aca-bf61cd984bb5 + Functionality ------------- @@ -9,17 +12,25 @@ smooth manner. It can be used if you for some reason have just a segment of a curve, and want to continue it, for example, until it meets some plane or surface. +.. image:: https://github.com/nortikin/sverchok/assets/14288520/5974da75-a142-4f25-83fb-1af361e6936b + :target: https://github.com/nortikin/sverchok/assets/14288520/5974da75-a142-4f25-83fb-1af361e6936b + Inputs ------ This node has the following inputs: * **Curve**. The curve to be extended. This input is mandatory. + +.. image:: https://github.com/nortikin/sverchok/assets/14288520/f2868357-5132-4e55-bb75-e136f1ba9e29 + :target: https://github.com/nortikin/sverchok/assets/14288520/f2868357-5132-4e55-bb75-e136f1ba9e29 + * **StartExt**. This defines how far the curve should be extended beyond it's starting point. Depending on **Extend by** parameter, this is measured either in terms of curve's T parameter, or in terms of curve length. Default value is 1.0. If this input is set to 0.0, then no continuation will be generated beyond curve's starting point. + * **EndExt**. This defines how far the curve should be extended beyond it's ending point. Depending on **Extend by** parameter, this is measured either in terms of curve's T parameter, or in terms of curve length. Default value @@ -38,17 +49,32 @@ This node has the following parameters: and ending point. Thus, it is guaranteed that the resulting curve will have continuous first derivative at the point where original curve is glued with it's extension. + + .. image:: https://github.com/nortikin/sverchok/assets/14288520/296b9895-c5cb-4acb-848f-a804c12513c5 + :target: https://github.com/nortikin/sverchok/assets/14288520/296b9895-c5cb-4acb-848f-a804c12513c5 + + * **1 - Arc**. Extend the curve with circular arcs. Extension direction and arc radius is calculated from curve's tangents. The plane where the arc will lie is calculated based on curve's second derivatives at ending points. Thus, it is guaranteed that the resulting curve will have continuous first derivative at the point where original curve is glued with it's extension. + + .. image:: https://github.com/nortikin/sverchok/assets/14288520/8d6812be-a400-41cb-b569-74c4eaf0ba98 + :target: https://github.com/nortikin/sverchok/assets/14288520/8d6812be-a400-41cb-b569-74c4eaf0ba98 + + * **2 - Smooth - Normal**. Extend the curve with segments of second order (quadratic) curves. The coefficients of curves are calculated based on original curve's tangent and second derivatives directions at the ending points. Thus, it is guaraneed that the resulting curve will have continuous first and second derivatives at the point where original curve is glued with it's extension. + + .. image:: https://github.com/nortikin/sverchok/assets/14288520/a804f9d9-e274-408c-8051-d8a52db2b8ca + :target: https://github.com/nortikin/sverchok/assets/14288520/a804f9d9-e274-408c-8051-d8a52db2b8ca + + * **3 - Smooth - Curvature**. Extend the curve with segments of third order (cubic) curves. The coefficients of curves are calculated based on original curve's tangent, second and third derivatives directions at the ending @@ -56,6 +82,10 @@ This node has the following parameters: first, second and third derivatives at the point where original curve is glued with it's extension. + .. image:: https://github.com/nortikin/sverchok/assets/14288520/7fc31678-10eb-4ba0-a03b-f72d83283300 + :target: https://github.com/nortikin/sverchok/assets/14288520/7fc31678-10eb-4ba0-a03b-f72d83283300 + + The default option is **1 - Line**. * **Extend by**. This defines the units in which values of **StartExt**, @@ -69,6 +99,9 @@ This node has the following parameters: ranges of curve's T parameter is calculated numerically, so this option is slower. + .. image:: https://github.com/nortikin/sverchok/assets/14288520/3994636b-4fac-4c28-bb43-eefd584c6bd9 + :target: https://github.com/nortikin/sverchok/assets/14288520/3994636b-4fac-4c28-bb43-eefd584c6bd9 + The default option is **Curve parameter**. * **Length resolution**. This parameter is available in the N panel only, and @@ -84,9 +117,20 @@ This node has the following outputs: * **ExtendedCurve**. The original curve extended by one extension curve at the beginning and another curve at the end. + + .. image:: https://github.com/nortikin/sverchok/assets/14288520/e49b567e-90cc-4a83-a781-3b62ad13d4c6 + :target: https://github.com/nortikin/sverchok/assets/14288520/e49b567e-90cc-4a83-a781-3b62ad13d4c6 + * **StartExtent**. Extension curve generated at the beginning of the original curve. + + .. image:: https://github.com/nortikin/sverchok/assets/14288520/faa2c57c-4813-4a9c-8c91-958bdc8183bc + :target: https://github.com/nortikin/sverchok/assets/14288520/faa2c57c-4813-4a9c-8c91-958bdc8183bc + * **EndExtent**. Extension curve generated at the end of the original curve. + .. image:: https://github.com/nortikin/sverchok/assets/14288520/7b697ee7-7ebc-4cad-90c4-4249d503f1e2 + :target: https://github.com/nortikin/sverchok/assets/14288520/7b697ee7-7ebc-4cad-90c4-4249d503f1e2 + Example of usage ---------------- @@ -94,4 +138,10 @@ Build part of curve from points, and then extend it to additional length of 1 at the beginning and to additional length of 2 at the end: .. image:: https://user-images.githubusercontent.com/284644/84564568-07679400-ad7c-11ea-8370-c4a8008a8c74.png + :target: https://user-images.githubusercontent.com/284644/84564568-07679400-ad7c-11ea-8370-c4a8008a8c74.png +* Vector-> :doc:`Vector sort ` +* Curves-> :doc:`Cubic Spline ` +* Curves-> :doc:`Evaluate Curve ` +* Viz-> :doc:`Viewer Draw ` +* Scene-> :doc:`Objects In Lite ` \ No newline at end of file diff --git a/docs/nodes/curve/extremes.rst b/docs/nodes/curve/extremes.rst index f932950998..4724ff6685 100644 --- a/docs/nodes/curve/extremes.rst +++ b/docs/nodes/curve/extremes.rst @@ -1,6 +1,9 @@ Curve Extremes ============== +.. image:: https://github.com/nortikin/sverchok/assets/14288520/bad8c870-51b7-4373-8094-7d8ac68c73d0 + :target: https://github.com/nortikin/sverchok/assets/14288520/bad8c870-51b7-4373-8094-7d8ac68c73d0 + Dependencies ------------ @@ -23,6 +26,15 @@ will be much faster to calculate points by formulas. This node, in turn, is most useful when you do not know exact formulas for the curve and / or for the scalar field - for example, if they were defined by approximation. +.. image:: https://github.com/nortikin/sverchok/assets/14288520/0066bb85-784f-40d3-a670-14283253b33b + :target: https://github.com/nortikin/sverchok/assets/14288520/0066bb85-784f-40d3-a670-14283253b33b + +* Fields-> :doc:`Coordinate Scalar Field ` +* List->List Main-> :doc:`List Join ` +* Text-> :doc:`Stethoscope ` +* Viz-> :doc:`Viewer Draw ` +* Scene-> :doc:`Bezier Input ` + Inputs ------ @@ -67,4 +79,12 @@ Example of usage Find the point on a curve which has the maximum value of Y coordinate: .. image:: https://user-images.githubusercontent.com/284644/86952365-5383d980-c16c-11ea-84d3-75830c0dbc75.png - + :target: https://user-images.githubusercontent.com/284644/86952365-5383d980-c16c-11ea-84d3-75830c0dbc75.png + +* Curves-> :doc:`Build NURBS Curve ` +* Curves-> :doc:`Evaluate Curve ` +* Fields-> :doc:`Coordinate Scalar Field ` +* Number-> :doc:`List Input ` +* Vector-> :doc:`Vector sort ` +* Viz-> :doc:`Viewer Draw ` +* Scene-> :doc:`Objects In Lite ` \ No newline at end of file diff --git a/docs/nodes/curve/interpolate_frame.rst b/docs/nodes/curve/interpolate_frame.rst index c325f26b40..d61c43d392 100644 --- a/docs/nodes/curve/interpolate_frame.rst +++ b/docs/nodes/curve/interpolate_frame.rst @@ -1,6 +1,9 @@ Interpolate Curve Frame ======================= +.. image:: https://github.com/nortikin/sverchok/assets/14288520/57f036cb-6c19-4270-99a2-0b711d50468d + :target: https://github.com/nortikin/sverchok/assets/14288520/57f036cb-6c19-4270-99a2-0b711d50468d + Dependencies ------------ @@ -21,6 +24,24 @@ depending on the **Orientation** parameter). Interpolation is calculated by quaternion spherical interpolation ("slerp"). +.. image:: https://github.com/nortikin/sverchok/assets/14288520/4c0ec664-7bda-4605-b685-e79894e28d63 + :target: https://github.com/nortikin/sverchok/assets/14288520/4c0ec664-7bda-4605-b685-e79894e28d63 + +.. image:: https://github.com/nortikin/sverchok/assets/14288520/59cb4662-e32e-4386-89b6-a8fc725e680b + :target: https://github.com/nortikin/sverchok/assets/14288520/59cb4662-e32e-4386-89b6-a8fc725e680b + +Animated: + +.. image:: https://github.com/nortikin/sverchok/assets/14288520/49a9fbdb-8062-42cf-af6b-44a89cc3cc54 + :target: https://github.com/nortikin/sverchok/assets/14288520/49a9fbdb-8062-42cf-af6b-44a89cc3cc54 + +* Curves-> :doc:`Curve Zero-Twist Frame ` +* Number-> :doc:`Number Range ` +* Matrix-> :doc:`Matrix In ` +* Matrix Multiply: Matrix-> :doc:`Matrix Math ` +* Viz-> :doc:`Viewer Draw ` +* Scene-> :doc:`Bezier Input ` + Inputs ------ @@ -67,16 +88,51 @@ Examples of usage Interpolate rotation along the curve to place Suzannes: .. image:: https://user-images.githubusercontent.com/284644/87054349-7077e580-c21c-11ea-9b65-0936da624e5d.png + :target: https://user-images.githubusercontent.com/284644/87054349-7077e580-c21c-11ea-9b65-0936da624e5d.png + +* Generator-> :doc:`Suzanne ` +* Vector-> :doc:`Vector sort ` +* Curves-> :doc:`Build NURBS Curve ` +* Curves-> :doc:`Evaluate Curve ` +* Number-> :doc:`Number Range ` +* Viz-> :doc:`Viewer Draw ` +* Scene-> :doc:`Objects In Lite ` Similar, but with rotation around Suzanne's X axis: .. image:: https://user-images.githubusercontent.com/284644/87055074-4d9a0100-c21d-11ea-83d1-f543cc873086.png + :target: https://user-images.githubusercontent.com/284644/87055074-4d9a0100-c21d-11ea-83d1-f543cc873086.png + +* Generator-> :doc:`Suzanne ` +* Vector-> :doc:`Vector sort ` +* Curves-> :doc:`Build NURBS Curve ` +* Curves-> :doc:`Evaluate Curve ` +* Number-> :doc:`Number Range ` +* Viz-> :doc:`Viewer Draw ` +* Scene-> :doc:`Objects In Lite ` Similar example to build arbitrarily twisted surface: .. image:: https://user-images.githubusercontent.com/284644/86527479-7e460780-beb8-11ea-9567-d8649b6adeaf.png + :target: https://user-images.githubusercontent.com/284644/86527479-7e460780-beb8-11ea-9567-d8649b6adeaf.png + +* Generator-> :doc:`NGon ` +* Vector-> :doc:`Vector sort ` +* Curves-> :doc:`Build NURBS Curve ` +* Curves-> :doc:`Evaluate Curve ` +* Number-> :doc:`Number Range ` +* Matrix-> :doc:`Matrix Apply to Mesh ` +* Modifiers->Modifier Make-> :doc:`UV Connection ` +* Viz-> :doc:`Viewer Draw ` +* Scene-> :doc:`Objects In Lite ` Interpolate matrices along the curve: .. image:: https://user-images.githubusercontent.com/284644/86527477-7d14da80-beb8-11ea-8ed2-5f3e58f4d130.png + :target: https://user-images.githubusercontent.com/284644/86527477-7d14da80-beb8-11ea-8ed2-5f3e58f4d130.png +* Vector-> :doc:`Vector sort ` +* Curves-> :doc:`Cubic Spline ` +* Number-> :doc:`Number Range ` +* Viz-> :doc:`Viewer Draw ` +* Scene-> :doc:`Objects In Lite ` diff --git a/docs/nodes/curve/intersect_curve_plane.rst b/docs/nodes/curve/intersect_curve_plane.rst index a69719736d..13c3146db4 100644 --- a/docs/nodes/curve/intersect_curve_plane.rst +++ b/docs/nodes/curve/intersect_curve_plane.rst @@ -1,6 +1,9 @@ Intersect Curve with Plane ========================== +.. image:: https://github.com/nortikin/sverchok/assets/14288520/cd2a24f5-52d5-450a-bcc4-a90f8ff98125 + :target: https://github.com/nortikin/sverchok/assets/14288520/cd2a24f5-52d5-450a-bcc4-a90f8ff98125 + Dependencies ------------ @@ -18,6 +21,15 @@ and a point on the plane. To find all intersections, the node splits the curve into several segments and then searches for single intersection in each segment. +.. image:: https://github.com/nortikin/sverchok/assets/14288520/b231613e-fd3a-46c4-9fd3-cdd0b586f092 + :target: https://github.com/nortikin/sverchok/assets/14288520/b231613e-fd3a-46c4-9fd3-cdd0b586f092 + +* Vector-> :doc:`Vector In ` +* Matrix-> :doc:`Matrix Normal ` +* Viz-> :doc:`Viewer Draw ` +* Text-> :doc:`Stethoscope ` +* Scene-> :doc:`Bezier Input ` + Inputs ------ @@ -59,4 +71,10 @@ Example of usage Find intersections of some NURBS curve with XOY plane: .. image:: https://user-images.githubusercontent.com/284644/86529252-b2292900-bec8-11ea-9b85-61d200e8b93d.png + :target: https://user-images.githubusercontent.com/284644/86529252-b2292900-bec8-11ea-9b85-61d200e8b93d.png +* Vector-> :doc:`Vector sort ` +* Curves-> :doc:`Interpolate NURBS Curve ` +* Curves-> :doc:`Evaluate Curve ` +* Viz-> :doc:`Viewer Draw ` +* Scene-> :doc:`Objects In Lite ` \ No newline at end of file diff --git a/docs/nodes/curve/iso_uv_curve.rst b/docs/nodes/curve/iso_uv_curve.rst index 22ac3cdaca..fbd5a19275 100644 --- a/docs/nodes/curve/iso_uv_curve.rst +++ b/docs/nodes/curve/iso_uv_curve.rst @@ -1,6 +1,9 @@ Iso U/V Curve ============= +.. image:: https://github.com/nortikin/sverchok/assets/14288520/92c4575f-f2bd-4632-8843-576f62485bfa + :target: https://github.com/nortikin/sverchok/assets/14288520/92c4575f-f2bd-4632-8843-576f62485bfa + Functionality ------------- @@ -10,6 +13,13 @@ slide along it's domain. If input surface is a NURBS surface, then the node will try to output NURBS curves. +.. image:: https://github.com/nortikin/sverchok/assets/14288520/f97c1527-e99c-49e1-a2c8-e1c7d0fde3c7 + :target: https://github.com/nortikin/sverchok/assets/14288520/f97c1527-e99c-49e1-a2c8-e1c7d0fde3c7 + +* Surfaces-> :doc:`Sphere (Surface) ` +* Viz-> :doc:`Viewer Draw Curve ` + + Inputs ------ @@ -46,4 +56,16 @@ Example of usage Generate some surface and then draw curves along it's V direction: .. image:: https://user-images.githubusercontent.com/284644/78507210-3a981080-7798-11ea-84b8-d4e6e7d66803.png - + :target: https://user-images.githubusercontent.com/284644/78507210-3a981080-7798-11ea-84b8-d4e6e7d66803.png + +* Generator-> :doc:`NGon ` +* Generator-> :doc:`Segment ` +* Curves->Curve Primitives-> :doc:`Polyline ` +* Curves-> :doc:`Evaluate Curve ` +* Surfaces-> :doc:`Surface from Curves ` +* Surface-> :doc:`Evaluate Surface ` +* Transform-> :doc:`Rotate ` +* Transform-> :doc:`Matrix Apply (verts) ` +* Number-> :doc:`Random Num Gen ` +* List->List Struct-> :doc:`List Split ` +* Viz-> :doc:`Viewer Draw ` \ No newline at end of file diff --git a/docs/nodes/curve/length_parameter.rst b/docs/nodes/curve/length_parameter.rst index cb3e07cdfe..0ded1192db 100644 --- a/docs/nodes/curve/length_parameter.rst +++ b/docs/nodes/curve/length_parameter.rst @@ -1,6 +1,9 @@ Curve Length Parameter ====================== +.. image:: https://github.com/nortikin/sverchok/assets/14288520/ba10a009-ea67-492b-a493-1693edf148ce + :target: https://github.com/nortikin/sverchok/assets/14288520/ba10a009-ea67-492b-a493-1693edf148ce + Functionality ------------- @@ -25,6 +28,15 @@ straight segments and summing their lengths. The more segments you subdivide the curve in, the more precise the length will be, but the more time it will take to calculate. So the node gives you control on the number of subdivisions. +.. image:: https://github.com/nortikin/sverchok/assets/14288520/38407639-d579-44cb-9e09-2404e118e14d + :target: https://github.com/nortikin/sverchok/assets/14288520/38407639-d579-44cb-9e09-2404e118e14d + +* Round-N: Number-> :doc:`Scalar Math ` +* Matrix-> :doc:`Matrix In ` +* Viz-> :doc:`Viewer Index+ ` +* Viz-> :doc:`Viewer Draw ` +* Text-> :doc:`Stethoscope ` +* Scene-> :doc:`Bezier Input ` Inputs ------ @@ -113,6 +125,13 @@ Two exemplars of Archimedean spiral: .. image:: https://user-images.githubusercontent.com/284644/77854328-14f09180-7203-11ea-9192-028621be3d95.png :target: https://user-images.githubusercontent.com/284644/77854328-14f09180-7203-11ea-9192-028621be3d95.png +* Curves-> :doc:`Curve Formula ` +* Modifiers->Modifier Make-> :doc:`UV Connection ` +* Curves-> :doc:`Evaluate Curve ` +* Transform-> :doc:`Move ` +* Number-> :doc:`A Number ` +* Viz-> :doc:`Viewer Draw ` + The one on the left is drawn with points according to evenly-spaced values of T parameter; the one of the right is drawn with points spread with equal length of the path between them. @@ -124,4 +143,9 @@ for orange curve, **Precise (Cut)** rounding option is used. .. image:: https://user-images.githubusercontent.com/284644/207919660-9e9c364e-cd99-40c0-aca2-dfb47bebdc0c.png :target: https://user-images.githubusercontent.com/284644/207919660-9e9c364e-cd99-40c0-aca2-dfb47bebdc0c.png - +* Generator-> :doc:`Line ` +* Curves-> :doc:`Interpolate NURBS Curve ` +* Transform-> :doc:`Randomize ` +* Transform-> :doc:`Move ` +* Viz-> :doc:`Viewer Draw Curve ` +* Viz-> :doc:`Viewer Draw ` diff --git a/docs/nodes/curve/length_rebuild.rst b/docs/nodes/curve/length_rebuild.rst index 38835b8933..d4d2ad0cdc 100644 --- a/docs/nodes/curve/length_rebuild.rst +++ b/docs/nodes/curve/length_rebuild.rst @@ -1,6 +1,9 @@ Naturally Parametrized Curve ============================ +.. image:: https://github.com/nortikin/sverchok/assets/14288520/f5cdafd7-aef1-46bb-8912-5a60a8484c24 + :target: https://github.com/nortikin/sverchok/assets/14288520/f5cdafd7-aef1-46bb-8912-5a60a8484c24 + Functionality ------------- @@ -27,6 +30,16 @@ straight segments and summing their lengths. The more segments you subdivide the curve in, the more precise the length will be, but the more time it will take to calculate. So the node gives you control on the number of subdivisions. +.. image:: https://github.com/nortikin/sverchok/assets/14288520/0c168562-e894-4b43-bb81-5769fb1f0f05 + :target: https://github.com/nortikin/sverchok/assets/14288520/0c168562-e894-4b43-bb81-5769fb1f0f05 + +* Generator-> :doc:`Random Vector ` +* Curves-> :doc:`Cubic Spline ` +* Curves-> :doc:`Curve Domain ` +* List->List Main-> :doc:`List Join ` +* Text-> :doc:`Stethoscope ` +* Viz-> :doc:`Viewer Draw Curve ` + Inputs ------ @@ -49,6 +62,9 @@ This node has the following parameter: calculations. The default value is **Cubic**. This parameter is available in the N panel only. +.. image:: https://github.com/nortikin/sverchok/assets/14288520/5f4c2d9c-c1df-4439-ad83-b1432ac67813 + :target: https://github.com/nortikin/sverchok/assets/14288520/5f4c2d9c-c1df-4439-ad83-b1432ac67813 + Outputs ------- @@ -66,8 +82,21 @@ steps along the curve. This you can see at the left. At the right there is the same spiral with natural parametrization: .. image:: https://user-images.githubusercontent.com/284644/79695949-29202f80-8293-11ea-8623-1df67c3a68ef.png + :target: https://user-images.githubusercontent.com/284644/79695949-29202f80-8293-11ea-8623-1df67c3a68ef.png + +* Curves-> :doc:`Curve Formula ` +* Curves-> :doc:`Evaluate Curve ` +* Transform-> :doc:`Move ` +* Viz-> :doc:`Viewer Draw ` Similar example with some cubic spline: .. image:: https://user-images.githubusercontent.com/284644/79693501-75b03e80-8284-11ea-841b-9b5911bf91e7.png - + :target: https://user-images.githubusercontent.com/284644/79693501-75b03e80-8284-11ea-841b-9b5911bf91e7.png + +* Curves-> :doc:`Cubic Spline ` +* Curves-> :doc:`Evaluate Curve ` +* Transform-> :doc:`Move ` +* Vector-> :doc:`Vector sort ` +* Viz-> :doc:`Viewer Draw ` +* Scene-> :doc:`Objects In Lite ` \ No newline at end of file diff --git a/docs/nodes/curve/offset_on_surface.rst b/docs/nodes/curve/offset_on_surface.rst index 67a0375656..075520226f 100644 --- a/docs/nodes/curve/offset_on_surface.rst +++ b/docs/nodes/curve/offset_on_surface.rst @@ -1,6 +1,9 @@ Offset Curve on Surface ======================= +.. image:: https://github.com/nortikin/sverchok/assets/14288520/e884f6e8-d640-40b3-9ff0-f75f0aefc8a7 + :target: https://github.com/nortikin/sverchok/assets/14288520/e884f6e8-d640-40b3-9ff0-f75f0aefc8a7 + Functionality ------------- @@ -26,6 +29,7 @@ Inputs This node has the following inputs: + * **Curve**. The curve (in surface's UV space) to be offsetted. The curve is supposed to lie in XOY, XOZ or YOZ coordinate plane, depending on **Curve Plane** parameter. This input is mandatory. @@ -41,6 +45,9 @@ This node has the following inputs: This input is available and mandatory only if **Offset type** parameter is set to **Variable**. +.. image:: https://github.com/nortikin/sverchok/assets/14288520/163ec6cb-3a92-4665-83bd-77ff636fa747 + :target: https://github.com/nortikin/sverchok/assets/14288520/163ec6cb-3a92-4665-83bd-77ff636fa747 + Parameters ---------- @@ -66,6 +73,9 @@ This node has the following parameters: parameter when calculating offset amount for each point of original curve. The available values are: + .. image:: https://github.com/nortikin/sverchok/assets/14288520/e5785039-52e5-481e-aea7-b3becee9d4f4 + :target: https://github.com/nortikin/sverchok/assets/14288520/e5785039-52e5-481e-aea7-b3becee9d4f4 + * **Curve parameter**. T parameter of the original curve will be used. Note that in some cases this will distort the "offset curve" (compress it in one places and stretch in other places), as curve length is not required to be @@ -82,6 +92,9 @@ This node has the following parameters: calculation. The bigger the value, the more precise the calculation will be, but the slower. The default value is 50. + .. image:: https://github.com/nortikin/sverchok/assets/14288520/56e9511a-bd1a-4899-bd85-734a3a69429a + :target: https://github.com/nortikin/sverchok/assets/14288520/56e9511a-bd1a-4899-bd85-734a3a69429a + Outputs ------- @@ -97,8 +110,30 @@ Examples of usage Constant offset of a curve on a surface: .. image:: https://user-images.githubusercontent.com/284644/85555664-922f7500-b63f-11ea-8479-9ee8db89ee11.png + :target: https://user-images.githubusercontent.com/284644/85555664-922f7500-b63f-11ea-8479-9ee8db89ee11.png + +* Vector-> :doc:`Vector sort ` +* Curves-> :doc:`Cubic Spline ` +* Curves-> :doc:`Evaluate Curve ` +* Curves-> :doc:`Curve on Surface ` +* Surfaces-> :doc:`Extrude Curve Along Curve ` +* Surfaces-> :doc:`Reparametrize Surface ` +* Surface-> :doc:`Evaluate Surface ` +* Viz-> :doc:`Viewer Draw ` +* Scene-> :doc:`Objects In Lite ` Similar setup, but with variable offset amount, controlled by a curve from "Curve mapper" node: .. image:: https://user-images.githubusercontent.com/284644/85555750-a8d5cc00-b63f-11ea-8f28-3565e3a8d1e4.png - + :target: https://user-images.githubusercontent.com/284644/85555750-a8d5cc00-b63f-11ea-8f28-3565e3a8d1e4.png + +* Vector-> :doc:`Vector sort ` +* Curves-> :doc:`Cubic Spline ` +* Curves-> :doc:`Evaluate Curve ` +* Curves-> :doc:`Curve on Surface ` +* Surfaces-> :doc:`Extrude Curve Along Curve ` +* Surfaces-> :doc:`Reparametrize Surface ` +* Surface-> :doc:`Evaluate Surface ` +* Number-> :doc:`Curve Mapper ` +* Viz-> :doc:`Viewer Draw ` +* Scene-> :doc:`Objects In Lite ` diff --git a/docs/nodes/curve/ortho_project.rst b/docs/nodes/curve/ortho_project.rst index 036ef20176..1e08dbbf2b 100644 --- a/docs/nodes/curve/ortho_project.rst +++ b/docs/nodes/curve/ortho_project.rst @@ -1,6 +1,9 @@ Ortho Project on Curve ====================== +.. image:: https://github.com/nortikin/sverchok/assets/14288520/f1089726-6f12-4343-b350-2a105af2dd07 + :target: https://github.com/nortikin/sverchok/assets/14288520/f1089726-6f12-4343-b350-2a105af2dd07 + Dependencies ------------ @@ -19,6 +22,9 @@ The node uses a numerical method to find such point, so it may be not very fast. If you happen to know how to find such point for your specific curve by formulas, that way will be faster and more precise. +.. image:: https://github.com/nortikin/sverchok/assets/14288520/bb607a8e-ccab-4d15-80e4-94de87d954c9 + :target: https://github.com/nortikin/sverchok/assets/14288520/bb607a8e-ccab-4d15-80e4-94de87d954c9 + Inputs ------ @@ -36,6 +42,10 @@ This node has the following parameters: orthogonal projections if there are several of them. If there are several nearest points, the node will return any of them (not guaranteed which one). Otherwise, the node will return all orthogonal projections. Checked by default. + +.. image:: https://github.com/nortikin/sverchok/assets/14288520/288eb91c-84a1-4d3a-bc31-7fa0134eb356 + :target: https://github.com/nortikin/sverchok/assets/14288520/288eb91c-84a1-4d3a-bc31-7fa0134eb356 + * **Init resolution**. This parameter is available only in the N panel. At the first stage of the algorithm, the node subdivides the curve in N segments, and then searches for orthogonal projection at each of them by a numerical @@ -43,6 +53,9 @@ This node has the following parameters: method, by the more time will it spend at this first step. The default value is 5. In most simple cases, you do not have to change this value. +.. image:: https://github.com/nortikin/sverchok/assets/14288520/15544fc0-0837-4328-8622-6dbc1935b4ae + :target: https://github.com/nortikin/sverchok/assets/14288520/15544fc0-0837-4328-8622-6dbc1935b4ae + Outputs ------- @@ -51,10 +64,32 @@ This node has the following outputs: * **Point**. The point on a curve in 3D space. * **T**. The value of curve's T parameter corresponding to that point. +.. image:: https://github.com/nortikin/sverchok/assets/14288520/c5633d2a-8c7d-47e3-b67e-ce587ddcf795 + :target: https://github.com/nortikin/sverchok/assets/14288520/c5633d2a-8c7d-47e3-b67e-ce587ddcf795 + Example of usage ---------------- Take points on a straight line and project them to some curve: .. image:: https://user-images.githubusercontent.com/284644/87218335-1fc2d280-c36b-11ea-979b-9858a0dd2f10.png - + :target: https://user-images.githubusercontent.com/284644/87218335-1fc2d280-c36b-11ea-979b-9858a0dd2f10.png + +* Generator-> :doc:`Segment ` +* Vector-> :doc:`Vector In ` +* Vector-> :doc:`Vector sort ` +* Curves-> :doc:`RBF Curve ` +* Curves-> :doc:`Evaluate Curve ` +* Modifiers->Modifier Make-> :doc:`UV Connection ` +* Viz-> :doc:`Viewer Draw ` +* Scene-> :doc:`Objects In Lite ` + + +.. image:: https://github.com/nortikin/sverchok/assets/14288520/41b8196e-5a5f-4268-ad5e-e8b142053dfa + :target: https://github.com/nortikin/sverchok/assets/14288520/41b8196e-5a5f-4268-ad5e-e8b142053dfa + +* Generator-> :doc:`Segment ` +* Transform-> :doc:`Matrix Apply (verts) ` +* Viz-> :doc:`Viewer Draw ` +* Scene-> :doc:`Bezier Input ` +* Scene-> :doc:`Get Objects Data ` \ No newline at end of file diff --git a/docs/nodes/curve/point_curve.rst b/docs/nodes/curve/point_curve.rst index cd8e146ec0..cebff5cc14 100644 --- a/docs/nodes/curve/point_curve.rst +++ b/docs/nodes/curve/point_curve.rst @@ -1,6 +1,9 @@ Single-Point Curve ================== +.. image:: https://github.com/nortikin/sverchok/assets/14288520/d5612c79-047f-462f-9aac-cd758a47114d + :target: https://github.com/nortikin/sverchok/assets/14288520/d5612c79-047f-462f-9aac-cd758a47114d + Functionality ------------- @@ -9,6 +12,13 @@ space. Such a curve is not useful by itself, but it can be useful in combination with nodes which use curves to make some more complex construction. For example, it is possible to do a loft with a single-point curve. +.. image:: https://github.com/nortikin/sverchok/assets/14288520/a95e129c-81bf-490d-b722-d58bf1cf100f + :target: https://github.com/nortikin/sverchok/assets/14288520/a95e129c-81bf-490d-b722-d58bf1cf100f + +* Vector-> :doc:`Vector In ` +* Text-> :doc:`Stethoscope ` +* Viz-> :doc:`Viewer Draw Curve ` + Inputs ------ @@ -36,8 +46,16 @@ Use with "Blend Curves" node to construct a smooth continuation of given curve, .. image:: https://user-images.githubusercontent.com/284644/210247639-1352bd93-10a4-4145-97de-2f770afa368a.png :target: https://user-images.githubusercontent.com/284644/210247639-1352bd93-10a4-4145-97de-2f770afa368a.png +* Curves-> :doc:`Blend Curves ` +* Viz-> :doc:`Viewer Draw Curve ` +* Scene-> :doc:`Bezier Input ` + Use with "NURBS Loft" node, to construct a surface which has "poles": .. image:: https://user-images.githubusercontent.com/284644/210247716-70957dc2-6495-4067-ae1f-6ae0f0c3e9b9.png :target: https://user-images.githubusercontent.com/284644/210247716-70957dc2-6495-4067-ae1f-6ae0f0c3e9b9.png +* Curves-> :doc:`Bezier Spline Segment (Curve) ` +* Surfaces-> :doc:`NURBS Loft ` +* List->List Main-> :doc:`List Join ` +* Viz-> :doc:`Viewer Draw Surface ` \ No newline at end of file diff --git a/docs/nodes/curve/split_curve.rst b/docs/nodes/curve/split_curve.rst index 93235dd693..242ff5db5a 100644 --- a/docs/nodes/curve/split_curve.rst +++ b/docs/nodes/curve/split_curve.rst @@ -1,6 +1,9 @@ Split Curve =========== +.. image:: https://github.com/nortikin/sverchok/assets/14288520/5e36b51e-038d-445c-aec8-10dec10c89b4 + :target: https://github.com/nortikin/sverchok/assets/14288520/5e36b51e-038d-445c-aec8-10dec10c89b4 + Functionality ------------- @@ -9,10 +12,27 @@ values of curve's T parameter. The values of T parameter, at which the split should be made, can be either specified manually or calculated automatically by the provided number of cuts. +.. image:: https://github.com/nortikin/sverchok/assets/14288520/82e7bb2f-e506-410e-9920-7dec012f12f2 + :target: https://github.com/nortikin/sverchok/assets/14288520/82e7bb2f-e506-410e-9920-7dec012f12f2 + +* List->List Main-> :doc:`List Decompose ` +* Viz-> :doc:`Viewer Draw Curve ` +* Scene-> :doc:`Bezier Input ` + Note that equal ranges of T parameter do not necessarily mean equal parts of curve length. To split a curve into parts of equal length, you can use "Curve Length Parameter" node to calculate corresponding values of the T parameter. +.. image:: https://github.com/nortikin/sverchok/assets/14288520/5482cd05-1032-400d-bc0c-e2a2073d8a57 + :target: https://github.com/nortikin/sverchok/assets/14288520/5482cd05-1032-400d-bc0c-e2a2073d8a57 + +* Curves-> :doc:`Curve Length Parameter ` +* Curves-> :doc:`Curve Length Parameter ` +* List->List Struct-> :doc:`List Item ` +* List->List Main-> :doc:`List Decompose ` +* Viz-> :doc:`Viewer Draw Curve ` +* Scene-> :doc:`Bezier Input ` + Inputs ------ @@ -21,12 +41,19 @@ This node has the following inputs: * **Curve**. The curve to be split. This input is mandatory. * **Segments**. Number of pieces the curve is to be split into. This input is available only if **Mode** parameter is set to **Even**. The default value is - 10. + + .. image:: https://github.com/nortikin/sverchok/assets/14288520/0cff5691-d921-4d41-a152-34beac4ab24e + :target: https://github.com/nortikin/sverchok/assets/14288520/0cff5691-d921-4d41-a152-34beac4ab24e + + * **Split**. The value of curve's T parameter, at which the curve is to be split. This input is only available when **Mode** parameter is set to **Explicit**. This input can consume several values per each curve. The default value is 0.5. + .. image:: https://github.com/nortikin/sverchok/assets/14288520/f3cdf824-c6ef-4cae-b704-f6aae8aadf43 + :target: https://github.com/nortikin/sverchok/assets/14288520/f3cdf824-c6ef-4cae-b704-f6aae8aadf43 + Parameters ---------- @@ -63,8 +90,15 @@ Examples of usage Split a Circle (which has domain ``[0; 2*pi]``) at point T = 0.5: .. image:: https://user-images.githubusercontent.com/284644/82467377-09bb3300-9adb-11ea-9590-64b332443621.png + :target: https://user-images.githubusercontent.com/284644/82467377-09bb3300-9adb-11ea-9590-64b332443621.png + +* Curves-> :doc:`Circle (Curve) ` +* Text-> :doc:`Stethoscope ` Split a Circle into 5 pieces: .. image:: https://user-images.githubusercontent.com/284644/82467383-0aec6000-9adb-11ea-9024-2f2b749198d7.png + :target: https://user-images.githubusercontent.com/284644/82467383-0aec6000-9adb-11ea-9024-2f2b749198d7.png +* Curves-> :doc:`Circle (Curve) ` +* Text-> :doc:`Stethoscope ` \ No newline at end of file diff --git a/docs/nodes/curve/torsion.rst b/docs/nodes/curve/torsion.rst index 11965a4caa..1f6662f834 100644 --- a/docs/nodes/curve/torsion.rst +++ b/docs/nodes/curve/torsion.rst @@ -1,6 +1,9 @@ Curve Torsion ============= +.. image:: https://github.com/nortikin/sverchok/assets/14288520/2d949b9f-af05-46c8-ab24-36375a98ff33 + :target: https://github.com/nortikin/sverchok/assets/14288520/2d949b9f-af05-46c8-ab24-36375a98ff33 + Functionality ------------- @@ -8,6 +11,15 @@ This node calculates the torsion_ value of a curve at the certain value of curve .. _torsion: https://en.wikipedia.org/wiki/Torsion_of_a_curve +.. image:: https://github.com/nortikin/sverchok/assets/14288520/6d9053f3-d98e-4d4a-985b-3066e1d0748d + :target: https://github.com/nortikin/sverchok/assets/14288520/6d9053f3-d98e-4d4a-985b-3066e1d0748d + +* Number-> :doc:`A Number ` +* Curves-> :doc:`Evaluate Curve ` +* Viz-> :doc:`Viewer Draw ` +* Text-> :doc:`Stethoscope ` +* Scene-> :doc:`Bezier Input ` + Inputs ------ @@ -34,6 +46,14 @@ Example of usage Calculate torsion value at several points of some random curve: .. image:: https://user-images.githubusercontent.com/284644/78502538-12e67f80-777b-11ea-8ba6-d4d1d6360ce2.png + :target: https://user-images.githubusercontent.com/284644/78502538-12e67f80-777b-11ea-8ba6-d4d1d6360ce2.png + +* Generator-> :doc:`Random Vector ` +* Curves-> :doc:`Cubic Spline ` +* Curves-> :doc:`Curve Domain ` +* Curves-> :doc:`Evaluate Curve ` +* Viz-> :doc:`Viewer Index+ ` +* Viz-> :doc:`Viewer Draw ` Note that calculating torsion at end points of a curve, or at some other singular points of the curve may give unusable results. diff --git a/docs/nodes/curve/zero_twist_frame.rst b/docs/nodes/curve/zero_twist_frame.rst index b4af9ee922..641e66bb2b 100644 --- a/docs/nodes/curve/zero_twist_frame.rst +++ b/docs/nodes/curve/zero_twist_frame.rst @@ -1,6 +1,9 @@ Curve Zero-Twist Frame ====================== +.. image:: https://github.com/nortikin/sverchok/assets/14288520/ceb19d9c-8873-4bda-a391-92b1d78b8089 + :target: https://github.com/nortikin/sverchok/assets/14288520/ceb19d9c-8873-4bda-a391-92b1d78b8089 + Functionality ------------- @@ -24,6 +27,9 @@ at the point where it has zero curvature (or at a straight segment of the curve), and, therefore, the calculation by the first algorithm can also fail in such cases. +.. image:: https://github.com/nortikin/sverchok/assets/14288520/9ccc28e7-f6fa-4b8b-a3bb-29f38ec80370 + :target: https://github.com/nortikin/sverchok/assets/14288520/9ccc28e7-f6fa-4b8b-a3bb-29f38ec80370 + The second algorithm is to take the normal direction at the starting point to curve and to "track" it along the curve, by projecting previous normal direction on the plane that is perpendicular to curve's tangent at the next @@ -33,6 +39,13 @@ linear interpolation. The second algorithm is supposed to work with any curves. .. _Frenet: https://en.wikipedia.org/wiki/Frenet%E2%80%93Serret_formulas .. _torsion: https://en.wikipedia.org/wiki/Torsion_of_a_curve +.. image:: https://github.com/nortikin/sverchok/assets/14288520/3ffc57c5-1442-4b52-b81a-cebddcdcd369 + :target: https://github.com/nortikin/sverchok/assets/14288520/3ffc57c5-1442-4b52-b81a-cebddcdcd369 + +* Scene-> :doc:`Bezier Input ` +* Text-> :doc:`Stethoscope ` +* Viz-> :doc:`Viewer Draw ` + Inputs ------ @@ -80,8 +93,33 @@ Example of usage Use zero-twist frames to put cubes along the curve: .. image:: https://user-images.githubusercontent.com/284644/78504364-20edcd80-7786-11ea-831e-80db9be81e2b.png + :target: https://user-images.githubusercontent.com/284644/78504364-20edcd80-7786-11ea-831e-80db9be81e2b.png + +* Generator-> :doc:`Box ` +* Generator-> :doc:`Random Vector ` +* Curves-> :doc:`Cubic Spline ` +* Curves-> :doc:`Curve Domain ` +* Number-> :doc:`Number Range ` +* Viz-> :doc:`Viewer Draw ` Compare that to the use of curve's Frenet frames: .. image:: https://user-images.githubusercontent.com/284644/78504337-ed12a800-7785-11ea-9a6c-1427ced45d55.png + :target: https://user-images.githubusercontent.com/284644/78504337-ed12a800-7785-11ea-9a6c-1427ced45d55.png + +* Generator-> :doc:`Box ` +* Generator-> :doc:`Random Vector ` +* Curves-> :doc:`Cubic Spline ` +* Curves-> :doc:`Curve Domain ` +* Number-> :doc:`Number Range ` +* Viz-> :doc:`Viewer Draw ` +.. image:: https://github.com/nortikin/sverchok/assets/14288520/c414cff5-b51d-48c3-ba47-122fbd2b8249 + :target: https://github.com/nortikin/sverchok/assets/14288520/c414cff5-b51d-48c3-ba47-122fbd2b8249 + +* Generator-> :doc:`Box ` +* Generator-> :doc:`Random Vector ` +* Curves-> :doc:`Cubic Spline ` +* Curves-> :doc:`Curve Domain ` +* Number-> :doc:`Number Range ` +* Viz-> :doc:`Viewer Draw ` \ No newline at end of file diff --git a/docs/nodes/generator/image.rst b/docs/nodes/generator/image.rst index 91c452ebd7..50086b8006 100644 --- a/docs/nodes/generator/image.rst +++ b/docs/nodes/generator/image.rst @@ -1,5 +1,11 @@ Image ===== -.. image:: https://user-images.githubusercontent.com/14288520/188729623-28ad0231-4041-47bb-b034-aa3807a18ffb.png - :target: https://user-images.githubusercontent.com/14288520/188729623-28ad0231-4041-47bb-b034-aa3807a18ffb.png \ No newline at end of file +.. image:: https://github.com/nortikin/sverchok/assets/14288520/263b8f7c-6d5d-47be-8dee-d6970c162a99 + :target: https://github.com/nortikin/sverchok/assets/14288520/263b8f7c-6d5d-47be-8dee-d6970c162a99 + +Examples +-------- + +.. image:: https://github.com/nortikin/sverchok/assets/14288520/4c8cc173-1cc6-4962-a38c-282728603bd5 + :target: https://github.com/nortikin/sverchok/assets/14288520/4c8cc173-1cc6-4962-a38c-282728603bd5 \ No newline at end of file diff --git a/docs/nodes/generator/ngon.rst b/docs/nodes/generator/ngon.rst index 7dbae5c71a..63d54eee8a 100644 --- a/docs/nodes/generator/ngon.rst +++ b/docs/nodes/generator/ngon.rst @@ -19,8 +19,8 @@ polygon), or some number of vertices can be skipped, to produce star-like polygons. In the last case, you most probably will want to pass output of this node to Intersect Edges node. -.. image:: https://user-images.githubusercontent.com/14288520/191228034-f2f0d435-f3ad-42d4-bc3b-b9f2871bb416.png - :target: https://user-images.githubusercontent.com/14288520/191228034-f2f0d435-f3ad-42d4-bc3b-b9f2871bb416.png +.. image:: https://github.com/nortikin/sverchok/assets/14288520/50207c0e-d4e4-4bc1-9bfb-41b224516eb7 + :target: https://github.com/nortikin/sverchok/assets/14288520/50207c0e-d4e4-4bc1-9bfb-41b224516eb7 Inputs ------ diff --git a/docs/nodes/surface/intersect_curve_surface.rst b/docs/nodes/surface/intersect_curve_surface.rst index f097595810..1af30358f1 100644 --- a/docs/nodes/surface/intersect_curve_surface.rst +++ b/docs/nodes/surface/intersect_curve_surface.rst @@ -1,6 +1,9 @@ Intersect Curve with Surface ============================ +.. image:: https://github.com/nortikin/sverchok/assets/14288520/43c12004-59df-4853-ab75-968e2fc1e931 + :target: https://github.com/nortikin/sverchok/assets/14288520/43c12004-59df-4853-ab75-968e2fc1e931 + Dependencies ------------ @@ -24,12 +27,21 @@ For the initial guess, at the first step the node generates a rough approximation of the surface with a mesh by evaluating the surface in points of cartesian grid. +.. image:: https://github.com/nortikin/sverchok/assets/14288520/77ee2f22-93c9-4463-b213-893b95323c34 + :target: https://github.com/nortikin/sverchok/assets/14288520/77ee2f22-93c9-4463-b213-893b95323c34 + +* Generator-> :doc:`Random Vector ` +* Curves-> :doc:`Cubic Spline ` +* Surfaces-> :doc:`Sphere (Surface) ` +* Text-> :doc:`Stethoscope ` +* Viz-> :doc:`Viewer Draw ` + Inputs ------ This node has the following inputs: -* **Curve***. The curve to search intersections with. This input is mandatory. +* **Curve**. The curve to search intersections with. This input is mandatory. * **Surface**. The surface to search intersections with. This input is mandatory. Parameters @@ -79,4 +91,11 @@ Example of usage ---------------- .. image:: https://user-images.githubusercontent.com/284644/87244933-8c68ca80-c45a-11ea-955e-e41800b9ca50.png - + :target: https://user-images.githubusercontent.com/284644/87244933-8c68ca80-c45a-11ea-955e-e41800b9ca50.png + +* Curves-> :doc:`Cubic Spline ` +* Curves-> :doc:`Evaluate Curve ` +* Surfaces-> :doc:`Minimal Surface ` +* Surface-> :doc:`Evaluate Surface ` +* Viz-> :doc:`Viewer Draw ` +* Scene-> :doc:`Objects In Lite ` \ No newline at end of file diff --git a/nodes/curve/adaptive_plot.py b/nodes/curve/adaptive_plot.py index 996c9b398a..8330d3105e 100644 --- a/nodes/curve/adaptive_plot.py +++ b/nodes/curve/adaptive_plot.py @@ -17,6 +17,7 @@ class SvAdaptivePlotCurveNode(SverchCustomTreeNode, bpy.types.Node): sample_size : IntProperty( name = "Segments", + description = "Number of initial subdivisions", default = 50, min = 3, update = updateNode) @@ -71,11 +72,13 @@ def update_sockets(self, context): by_curvature : BoolProperty( name = "By Curvature", + description = "Use curve curvature value to distribute additional points on the curve: places with greater curvature value will receive more points", default = True, update = updateNode) by_length : BoolProperty( name = "By Length", + description = "Use segment lengths to distribute additional points on the curve: segments with greater length will receive more points", default = False, update = updateNode) diff --git a/nodes/curve/apply_field_to_curve.py b/nodes/curve/apply_field_to_curve.py index e429ef1058..0404728bd2 100644 --- a/nodes/curve/apply_field_to_curve.py +++ b/nodes/curve/apply_field_to_curve.py @@ -24,11 +24,13 @@ class SvApplyFieldToCurveNode(SverchCustomTreeNode, bpy.types.Node): coefficient : FloatProperty( name = "Coefficient", + description = "Vector field application coefficient (0 means vector field will have no effect)", default = 1.0, update=updateNode) use_control_points : BoolProperty( name = "Use Control Points", + description = "If checked, then the vector field will be applied to control points of a NURBS curve, instead of applying it to all points of the curve. This node will fail (become red) if this mode is enabled, but input curve is not a NURBS and can not be presented as a NURBS. If not checked, then the node will apply the vector fields to all points of the curve; in such a case, it can process any type of curve", default = False, update=updateNode) diff --git a/nodes/curve/curve_segment.py b/nodes/curve/curve_segment.py index 276f1ce26d..1650d7496b 100644 --- a/nodes/curve/curve_segment.py +++ b/nodes/curve/curve_segment.py @@ -21,16 +21,19 @@ class SvCurveSegmentNode(SverchCustomTreeNode, bpy.types.Node): t_min : FloatProperty( name = "T Min", + description = "The value of curve’s T parameter, at which the new curve should start", default = 0.2, update = updateNode) t_max : FloatProperty( name = "T Max", + description = "The value of curve’s T parameter, at which the new curve should end", default = 0.8, update = updateNode) rescale : BoolProperty( name = "Rescale to 0..1", + description = "If checked, then the generated curve will have the domain (allowed range of T parameter values) of [0.0 .. 1.0]. Otherwise, the domain of generated curve will be defined by node’s inputs, i.e. [TMin .. TMax]", default = False, update = updateNode) @@ -42,7 +45,7 @@ class SvCurveSegmentNode(SverchCustomTreeNode, bpy.types.Node): join : BoolProperty( name = "Join", - description = "Output single flat list of curves", + description = "If checked, output single flat list of curves", default = True, update = updateNode) diff --git a/nodes/curve/eval_curve.py b/nodes/curve/eval_curve.py index 3ad5e48dd6..f54d122ed1 100644 --- a/nodes/curve/eval_curve.py +++ b/nodes/curve/eval_curve.py @@ -35,12 +35,14 @@ def update_sockets(self, context): sample_size : IntProperty( name = "Samples", + description = "Number of curve parameter values to calculate the curve points for", default = 50, min = 4, update = updateNode) t_value : FloatProperty( name = "T", + description = "The value of curve parameter to calculate the point on the curve for", default = 0.5, update = updateNode) diff --git a/nodes/curve/extend_curve.py b/nodes/curve/extend_curve.py index 6ccdbad25e..bc8c5897d8 100644 --- a/nodes/curve/extend_curve.py +++ b/nodes/curve/extend_curve.py @@ -35,10 +35,10 @@ class SvExtendCurveNode(SverchCustomTreeNode, bpy.types.Node): update = updateNode) modes = [ - ('LINE', "1 - Line", "Straight line segment", 0), - ('ARC', "1 - Arc", "Circular arc", 1), - ('QUAD', "2 - Smooth - Normal", "Smooth curve", 2), - ('CUBIC', "3 - Smooth - Curvature", "Smooth curve", 3) + ('LINE', "1 - Line", "Extend the curve with straight line segments. The direction of lines is calculated accordingly to curve’s tangent directions at starting and ending point. Thus, it is guaranteed that the resulting curve will have continuous first derivative at the point where original curve is glued with it’s extension", 0), + ('ARC', "1 - Arc", "Extend the curve with circular arcs. Extension direction and arc radius is calculated from curve’s tangents. The plane where the arc will lie is calculated based on curve’s second derivatives at ending points. Thus, it is guaranteed that the resulting curve will have continuous first derivative at the point where original curve is glued with it’s extension", 1), + ('QUAD', "2 - Smooth - Normal", "Extend the curve with segments of second order (quadratic) curves. The coefficients of curves are calculated based on original curve’s tangent and second derivatives directions at the ending points. Thus, it is guaraneed that the resulting curve will have continuous first and second derivatives at the point where original curve is glued with it’s extension", 2), + ('CUBIC', "3 - Smooth - Curvature", "Extend the curve with segments of third order (cubic) curves. The coefficients of curves are calculated based on original curve’s tangent, second and third derivatives directions at the ending points. Thus, it is guaraneed that the resulting curve will have continuous first, second and third derivatives at the point where original curve is glued with it’s extension", 3) ] mode : EnumProperty( @@ -48,8 +48,8 @@ class SvExtendCurveNode(SverchCustomTreeNode, bpy.types.Node): update = updateNode) len_modes = [ - ('T', "Curve parameter", "Specify curve parameter extension", 0), - ('L', "Curve length", "Specify curve length extension", 1) + ('T', "Curve parameter", "Specify curve parameter extension. Inputs define the range of curve’s T parameter. Since coefficients of the generated extension curves are calculated automatically, the length of extension curves can be hard to predict from the input values. On the other hand, this option is the faster one", 0), + ('L', "Curve length", "Specify curve length extension. Inputs define the length of extension curves. Required ranges of curve’s T parameter is calculated numerically, so this option is slower", 1) ] len_mode : EnumProperty( @@ -60,6 +60,7 @@ class SvExtendCurveNode(SverchCustomTreeNode, bpy.types.Node): len_resolution : IntProperty( name = "Length resolution", + description = "Defines the resolution value for curve length calculation. The higher the value is, the more precisely extension curves length will be equal to the specified inputs, but the slower the computation will be", default = 50, min = 3, update = updateNode) diff --git a/nodes/curve/offset_on_surface.py b/nodes/curve/offset_on_surface.py index 4efad6f5b0..bf3bb2c85d 100644 --- a/nodes/curve/offset_on_surface.py +++ b/nodes/curve/offset_on_surface.py @@ -19,6 +19,7 @@ class SvCurveOffsetOnSurfaceNode(SverchCustomTreeNode, bpy.types.Node): offset : FloatProperty( name = "Offset", + description = "The offset amount", default = 0.1, update = updateNode) @@ -73,6 +74,7 @@ def update_sockets(self, context): len_resolution : IntProperty( name = "Length resolution", + description = "This defines the resolution for curve length calculation. The bigger the value, the more precise the calculation will be, but the slower", default = 50, min = 3, update = updateNode) diff --git a/nodes/curve/ortho_project.py b/nodes/curve/ortho_project.py index 7e53d708fa..8a4aab1eb8 100644 --- a/nodes/curve/ortho_project.py +++ b/nodes/curve/ortho_project.py @@ -29,7 +29,7 @@ class SvExOrthoProjectCurveNode(SverchCustomTreeNode, bpy.types.Node): nearest : BoolProperty( name = "Nearest", - description = "To find the nearest orthogonal projection or all of them", + description = "To find the nearest orthogonal projection (on) or all of them (off)", default = True, update = updateNode)