¿Una función de JavaScript que devuelve los puntos de intersección x, y entre dos círculos?

Obtuve la ubicación central (x, y) de dos círculos y su radio, pero necesito encontrar sus puntos de intersección (marcados con rojo) utilizando JavaScript.

Creo que se encuentra la mejor explicación en lo que se refiere a las matemáticasaquí (Intersección de dos círculos), pero realmente no entiendo las matemáticas, así que no puedo implementarlo.

Por ejemplo d = || P1 - P0 || , que hacen los || ¿representar? ¿Significa que el número resultante es siempre positivo?

Y también P2 = P0 + a (P1 - P0) / d, ¿no son las P aquí algo así como (10, 50)? Pero hacer (10,50) +13 en JavaScript te da 63, así que simplemente ignora el primer número, ¿entonces qué se supone que suceda? ¿El resultado debería ser (23,63) aquí o? Y también la parte P1-P0 o (40,30) - (10,60), ¿cómo lo expresas en JavaScript?

Respuestas a la pregunta(1)

Su respuesta a la pregunta