I have been struggling with it for 2 days more. I have no idea how to calculate the points for face.position_material().

```
face.position_material(material, pt_array, on_front)
```

I suppose that I could get the points from face.get_UVHelper in an existing model, then restored the model with position_material method. But I could not figure out how to feed position_material with the uvs from get_UVHelper.

All coordinates are expressed as Geom::Point3d objects, although the Z coordinate isn’t used for the UV coordinates. Each pair links up a position on the texture with a position in 3d space. One pair just translates the texture into place. Two pairs can also rotate and scale it. 3 pairs allow for shearing and non-uniform scaling and 4 pairs allow for “perspective” or non-affine material placement.

I want to know how to calculate the pairs of points.