Curve Frame on Surface¶

Functionality¶
Given a surface and a curve in the surface’s U/V space, this node calculates a reference frame of a curve for the given value of curve’s T parameter. The frame is calculated so that:
it’s X axis is pointing along surface’s normal;
it’s Z axis is pointing along curve’s tangent (in 3D space);
it’s Y axis is perpendicular to both X and Z.
This node allows one to place some object at the curve on the surface, while aligning it both with curve’s tangent and surface’s normal.

Inputs¶
This node has the following inputs:
Surface. The surface to put the curve into. This input is mandatory.
UVCurve. The curve to calculate frame for. The curve is supposed to lie in XOY plane; X coordinate means U parameter of the surface, and Y coordinate means V parameter. This input is mandatory.
T. The value of curve’s T parameter. The default value is 0.5.

Parameters¶
This node has the following parameter:
Join. If checked, then the node will output single (concatenated) list of matrices for all input curves. Otherwise, it will output separate list of matrices per each input curve. Checked by default.

Outputs¶
This node has the following outputs:
Matrix. The matrix defining the frame for the curve at the specified value of T parameter. The location component of the matrix is the point of the curve.
Tangent. The direction of curve’s tangent vector at the specified value of T parameter.
Normal. The direction of curve’s main normal at the specified value of T parameter.
Binormal. The direction of curve’s binormal at the specified value of T parameter.

Examples of usage¶
Let’s generate an ellipse by generating a sine wave in U/V space of cylindrical curve. Then we use “Curve Frame” node to place cubes along that ellipse:

As you can see, the cubes are aligned with a plane where the ellipse lies, but they are not aligned with the cylinder surface. Now let’s use “Curve frame on surface” node instead:

Replay with new nodes:
https://gist.github.com/c119546943b4ce703d0f55be00cbedbd

Generator-> Box
Curves-> Circle (Curve)
Curves-> Curve on Surface
Curves-> Evaluate Curve
Curves-> Curve Domain
Curves-> Curve Frame
Surfaces-> Curve Formula
Surfaces-> Extrude Curve Along Vector
Number-> A Number
Number-> Number Range
Viz-> Viewer Draw
Script-> Formula

https://gist.github.com/5fdc5d5e6169a86f9356ff461be321d3

Generator-> NGon
Generator-> Box
Curves-> Cubic Spline
Curves-> Evaluate Curve
Surfaces-> Evaluate Surface
Surfaces-> Surface from Curves
Transform-> Move
Number-> Number Range
Matrix-> Matrix In
Mutrix Multiply: Matrix-> Matrix Math
Viz-> Viewer Draw
Scene-> Bezier Input