> For the complete documentation index, see [llms.txt](https://gitbook.testingwaters.in/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://gitbook.testingwaters.in/geometry-1/roman-surface.md).

# Roman Surface

Steiner Surface

![](https://1430428134-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ld8QK19sjP1I9rhLouo%2Fuploads%2FAXbtVJ0OrGV8LlI0XCUm%2FromanSurface3.gif?alt=media\&token=c0dcb521-dde1-4d51-952c-5512bf0f0834)

```d
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));
```

![](https://1430428134-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ld8QK19sjP1I9rhLouo%2Fuploads%2FuVDaD2nz8m5V9V2KEVxl%2FromanSurface_2021-10-10_09-32-09.png?alt=media\&token=e70d1b8b-ffbe-43a3-9dc2-3ca66d708561)

```d
// 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))];
```
