How to create a curved plane based on path?

I now encounter a requirement to draw a curved plane on the ground according to the specified path.


And then draw a plane based on this path.

Good. What have you tried so far? Could you share your code?

There are different approaches to construct such curved plane¹:
  • a PlaneGeometry with modified vertices;
  • a ParametricGeometry for a surface following the curve;
  • a flattened half TubeGeometry along the path;
  • a shape extruded along the path with ExtrudeGeometry;
  • a NURBSSurface defined by the path;

¹A curve like the one in the drawing does not define uniquely a plane, unless you have some additional data or assumptions about the shape.

Here is a demo. Most likely you should modify it a bit to suite your needs. The demo shows three moving points and a plane that curves itself along the curve, defined by the points. I hope this will help you get started.

https://codepen.io/boytchev/full/BaObBrJ

image

3 Likes

It looks great, I’ll try it! Thank you.

1 Like

The solution is very good.
I tried to make something funny with it :slight_smile:

https://codepen.io/prisoner849/full/ZEMZmLN

3 Likes

It’s a nice calligraphic effect. Maybe this is the proof-of-concept for eventual future THREE.CalligraphicTextGeometry?

2 Likes

I have found a library that can directly solve this problem, which is very convenient to use. Thank you very much for the help of the community
three.path