> 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

![](/files/QpvK1jd6439b5Wwts9Zi)

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

![](/files/nYlhQGpXXs7XPd7pghWX)

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