static IGeometry RevolvedVerticalCylinder(float height, float radius, int verticalSegments, int radialSegments) => (Vector3.UnitZ * height).ToLine().Interpolate(verticalSegments).Add(-radius.AlongX()).RevolveAroundAxis(Vector3.UnitZ, radialSegments);