hexagon logo

Pierce a Plane with a Circle

Can you pierce a plane with a Circle? I have a radius that meets a plane and I need the intersection point. Thanks!

Attached Files
Parents
  • neil.challinor : I would say "you can't directly do it"...
    You can do it with a little trig, which will give a better solution than curve if the circle has not enough hits (IMO)
    ASSIGN/V1=CROSS(CE1.IJK,PL1.IJK)
    ASSIGN/V2=CROSS(V1,CE1.IJK)
    ASSIGN/V3=DOT(CE1.XYZ-PL1.XYZ,PL1.IJK)
    ASSIGN/V4=DOT(V3,PL1.IJK)
    ASSIGN/V5=ASIN((V3/V4)/CE1.R)
    ASSIGN/V6=CE1.XYZ+(V3/V4)*V2+CE1.R*SIN(V5)*V1


    Then construct a generic point with V6.X, V6.Y and V6.Z.

    In V6, you could have to change "+" by "-" (one or the 2) because there are 2 solutions, and both cross products depend on the actual part (side of center from the plane, direction of vectors...)​
Reply
  • neil.challinor : I would say "you can't directly do it"...
    You can do it with a little trig, which will give a better solution than curve if the circle has not enough hits (IMO)
    ASSIGN/V1=CROSS(CE1.IJK,PL1.IJK)
    ASSIGN/V2=CROSS(V1,CE1.IJK)
    ASSIGN/V3=DOT(CE1.XYZ-PL1.XYZ,PL1.IJK)
    ASSIGN/V4=DOT(V3,PL1.IJK)
    ASSIGN/V5=ASIN((V3/V4)/CE1.R)
    ASSIGN/V6=CE1.XYZ+(V3/V4)*V2+CE1.R*SIN(V5)*V1


    Then construct a generic point with V6.X, V6.Y and V6.Z.

    In V6, you could have to change "+" by "-" (one or the 2) because there are 2 solutions, and both cross products depend on the actual part (side of center from the plane, direction of vectors...)​
Children
No Data