I am creating a 3D plane using the pseudo code below.

```
var point_records = [
new THREE.Vector3(0, 0, 0),
new THREE.Vector3(100,0, 0),
new THREE.Vector3(100,50, 0),
new THREE.Vector3(0,50, 0),
]
let shape = new three.Shape(point_records);
let geometry = new three.ExtrudeBufferGeometry(shape, {
depth: 1,
bevelEnabled: false,
steps: 1,
bevelThickness: 0,
bevelSize: 10,
bevelSegments: 0,
material: 0,
extrudeMaterial: 1
} );
var mesh = new three.Mesh(geometry, materials);
```

I am limited to use a list of coordinates as a starting point for the shape. (there can be 5 or move points)

This creates a 3d flat plane. I want to add a curve to this plane.

My initial idea is that I need to subdivide the plane into a lot of smaller triangles so I can manipulate their coordinates. But I am not sure how to proceed.

I am trying to add a curve to the geometry like this.