# Roman Surface

Steiner Surface

rd = 40;

th = 0..360;

ph = -90..90;

x1 = Math.Pow(rd,2) * Math.Cos(th)<2> * Math.Sin(th) * Math.Sin(ph)<1>;

y1 = Math.Pow(rd,2) * Math.Cos(th)<1> * Math.Sin(th) * Math.Cos(ph)<2>;

z1 = Math.Pow(rd,2) * Math.Pow(Math.Cos(th), 2) * Math.Cos(ph)<1> * Math.Sin(ph);

s1 = NurbsSurface.ByPoints(Point.ByCoordinates(x1, y1, z1));

// Tspline Surface

c1 = List.Flatten(List.Flatten(s1.GetIsoline((0..1)<1>,0..1..#33),-1).SplitByParameter(0..1..#33));

t1 = TSplineSurface.BuildPipes(c1, 10, 0.001, null, true,true, null, null, null,null, null, null, false);[GeometryColor.ByGeometryColor(t1,Color.ByARGB(250,20,100,120)),GeometryColor.ByGeometryColor(s1,Color.ByARGB(150,150,150,20))];

Last modified 1yr ago