hexagon logo

Intersection Sph - Pla

Hi .

How can I build a circle between a sphere and a plane?

Thank you
  • As long as the sphere and plane physically intersect each other you can use either INTCIR (intersect circle) or INTELP (intersect ellipse) - see code below.


    INTCIR          (NAM=CIRCLE, CSY=CMMA$CSY, EL1=SPH(1), EL2=PLA(1), MOD=NOE)
    
    INTELP          (NAM=ELLIPSE, CSY=CMMA$CSY, EL1=SPH(1), EL2=PLA(1), MOD=NOE)
    

  • I don't know about Quindos, but you can check/ create the result with a little trig :
    The distance between the center of the sphere and the plane divided by the sphere radius helps calculating the angle (Angle=ASIN(dist/radius))
    The radius of the circle is given by CIRC_RAD=sphere radius* cos(angle).
    The center of the circle is given by sphere center (xyz) + distance * plane vector.

    On PC-DMIS, it would be :
    ASSIGN/V1=DOT(SPH1.XYZ-PL1.XYZ,PL1.IJK)
    ASSIGN/V2=ASIN(V1/SPH1.R)
    ASSIGN/V3=SPH1.R*COS(V2)
    ASSIGN/V4=SPH1.XYZ+V1*PL1.IJK

    Then create a generic circle with V4.XYZ as center, V3 as radius and PL1.IJK as vector.

    Intersecting the sphere and the plane gives directly the result Slight smile
  • , unfortunately, your method is not correct - with that you will get the mirrored circle. Note that F1 is created above the sphere center while the plane is actually below. The distance from the center is OK, but not the direction of the distance.

    V1 should really be DOT(PL1.XYZ - SPH1.XYZ, PL1.IJK), right?