This should get you started, find where lines drawn between every other point defining the circle crosses
😎
USE tempdb;
GO
DECLARE @circle GEOMETRY = 'CIRCULARSTRING (52.6107417597068 -1.19053984363516, 52.6107417597068 -1.19185949047026, 52.6114844449159 -1.19185949047026, 52.6114844449159 -1.19053984363516, 52.6107417597068 -1.19053984363516)'
;WITH T(N) AS (SELECT X.N FROM (VALUES (NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL)) AS X(N))
,NUMS(N) AS (SELECT TOP(@CIRCLE.STNumPoints() - 1 ) ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS N FROM T T1,T,T T2,T T3,T T4)
,C_POINTS AS
(
SELECT
NM.N AS POINT_NO
,@CIRCLE.STPointN(N) /*.STBuffer(0.0001)*/ AS POINT_GEO
FROM NUMS NM
)
SELECT
C1.POINT_GEO.ShortestLineTo(C3.POINT_GEO).STIntersection(C2.POINT_GEO.ShortestLineTo(C4.POINT_GEO)).STBuffer(0.0001)
FROM C_POINTS C1
CROSS APPLY C_POINTS C2
CROSS APPLY C_POINTS C3
CROSS APPLY C_POINTS C4
WHERE C1.POINT_NO = 1
AND C2.POINT_NO = 2
AND C3.POINT_NO = 3
AND C4.POINT_NO = 4
UNION ALL
SELECT @circle