Offseting 3d Curves - component wish (?)

Hi all,

Here's a concept for offsetting 3d polylines and curves:
- Retrieve control points of a curve
- For every point P take its neighbours L & R
- Define vectors LP & RP, add them and unitize the output
- Multiply the resulting "vertex vector" by an offset factor taking into account the angle between LP and RP
- Translate the base control points using "vertex vectors"
- Recreate the curve using the new points

For a 2d input curve this should produce the same result as with a standard offset (by sides) procedure.

Here's what you get when you offset a 3d polyline:

3d Curve (multiple offset):

See attached definitions for details (ghx version 0.7.0048)


There're are probably other methods to do a offset of a spatial curve (example link).

You could also translate curve points in the curvature vector direction.

Anybody find this useful? Maybe this could work as a standalone component?


Waiting to hear your thoughts on the subject.


JJ

  • up

    LINE

    DEAR Mr Jacek Jaskólski,
    I like to get information about our offset.I like to now if with your offset can do offset one or more curves at the same time and if the offset can do with diferentes distances.
    3
    • up

      Jon Bailey

      Any Ideas how this definition may be used for a single polyline?  I suppose I need to somehow be able to declare the vector direction of each point.  Right now each control point points in a different direction

      2