When I run this script (in python), I get a curve not like circle:
Looks like the weights of the corner control points are not set correctly, they should be 0.5*sqrt(2). This value is used in the code, but if you’re seeing this lobby shape, it means that these values are not registered somehow.
I have found the problem. Python script is wrong in the RhinoCommon Dev Samples
The C# script is correct, I guess there is a typo in the python code
The locations of 4th Control Point is : nc.Points.SetPoint(3, -1.0, 1.0, 0.0, 0.707107) wrong,
it should be nc.Points.SetPoint(3, -0.707107, 0.707107, 0.0, 0.707107);
IIRC, this was a change when Rhino 6 was introduced, the correct use of homogeneous coordinates.