Tangents to Splines

Discussion in 'AutoCAD' started by ......... :-\)\), Sep 6, 2005.

  1. Hi All,

    I have two splines that define cross sections of a body at different planes
    (like the lines drawings of yacht or airplane). Each of the two splines
    define a shape that are approximately elliptic (actually its a conic). The
    two splines are approximately concentric (i.e. one is inside the other and
    they don't overlap).

    On the inner spline I have drawn a tangent to the spline at some arbitrary
    point.

    The problem I am trying to solve is how to find the point at which a
    second tangent intersects the outer spline when the second tangent is
    parallel to the first on the inner spline.

    Anyone got any ideas ??

    Thanks,

    Steve

    Remove the HATESPAM to email direct ...

    PS: I can send the ACAD file to anyone who needs it to visualise the
    problem.
     
    ......... :-\)\), Sep 6, 2005
    #1
  2. ......... :-\)\)

    Brian Salt Guest

    Perhaps draw a line from the intersection of the tangent/spline
    perpendicular to the second spline?

    whether it is sufficiently accurate for your purpose depends on the
    accuracy of the 'concentricity' of the two splines, I suspect.
     
    Brian Salt, Sep 6, 2005
    #2
  3. This produces a tangent which is close but not exact (as you point out).
    Unfortunately this is not good enough in this case.

    The exact tangent could be found by a slight variation of this approach but
    unfortunately I cannot figure out how to do this.

    The line joining the two tangent points must be perpendicular to both
    tangents (not just one as per your suggestion). In the general case the line
    joining both points of tangency will have an angle to both tangents other
    than 90 deg.

    However if I could draw a line with a deferred perpendicular from the first
    tangent to a point on the second tangent that is perpendicular with the
    spline then this would give the right point on the second spline. However I
    cannot make this work .... perhaps the maths cannot be solved hence ACAD
    does not give the option.

    The second possibility is to draw a tangent to the second spline with a
    deferred tangency condition. I then need to find a way to force this second
    tangent to be parallel to the first. I cannot see a way to do this either
    .......

    Further suggestions are welcome ...

    Thanks,

    Steve
     
    ......... :-\)\), Sep 7, 2005
    #3
  4. Sorry let me rewrite one paragraph in my previous post to make it clear what
    I meant:

    A line passing through both tangents such that it is perpendicular to one
    must also be perpendicular to the other (remember the tangents are
    parallel). The suggested approach ends up with a line that is perpendicular
    to only one tangent. In general such a line can only pass through one of the
    points of tangency. A line joining both points of tangency will have an
    angle to both tangents other than 90 deg.
     
    ......... :-\)\), Sep 7, 2005
    #4
  5. ......... :-\)\)

    Brian Salt Guest

    Yes indeed, when the two curves are not truly concentric or offsets of
    each other.

    I can't see how to do what you want, other than empirically, i.e. offset
    the first tangent and move it to show a 'visible' intersection as a
    tangent, and keep testing it until it is a tangent.

    However, I have tried this with two offset half-ellipses, with the outer
    one moved down so as to avoid the 'perpendicular' effect.

    Draw the tangent to the first curve. Offset the tangent so that it is
    outside the second curve. Draw a line joining the ends (upper in my
    case) of the tangents. Draw a tangent to the second curve, perpendicular
    to the tangent joining line. It requires careful selection of the tangent
    point, since the curves are really made up of separate sections and it
    easy to get a 'tangent' that actually cuts the curve at two points.
     
    Brian Salt, Sep 8, 2005
    #5
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.