Circle Intersection

https://user-images.githubusercontent.com/14288520/195981467-95a10035-f76d-450a-bbf3-c40486a027a9.png

Functionality

The node is designed to get the intersection between two co-planar circles in space. To define the containing plane it can accept a third point or the normal of the plane.

To work in 2D just set a normal vector of (0,0,1)

Inputs / Parameters

Param

Type

Description

Define Plane

Enum.

Determine method: input the plane’s normal or a third point in plane

Center A

Vertices

Center of the first circle

Radius A

Vertices

Radius of the first circle

Center B

Vertices

Center of the second circle

Radius B

Vertices

Radius of the second circle

Pt in plane

Vertices

Input point in working plane. It can’t be aligned with the centers

Normal

Vertices

Input normal of working plane. It can’t be (0,0,0)

Advanced Parameters

In the N-Panel (and on the right-click menu) you can use the toggle:

  • Match List Global: Define how list with different lengths should be matched. Refers to the matching of level 1

  • Match List Local: Define how list with different lengths should be matched. Refers to the matching of level 2

Outputs

  • Intersect: Returns True if the circles intersect.

  • Intersection A: Returns first intersection between the circles (Starting at left or top)

  • Intersection B: Returns second intersection between the circles (Starting at left or top)

Plane by Normal:

https://user-images.githubusercontent.com/14288520/195987169-e2c27a83-2f38-43ef-9f50-58c5b03f027f.png

Plane by Point:

TODO:

Example of usage

circle_intersection_procedural.png

Using the node to calculate an extensible scissors-like structure

Sverchok_Distance_point_line.PNG