Math for 'bowtie' / infinite perspective UV distortion?

Hi,
I’m trying to figure out how to distort UVs in this way:

I don’t particularly care what’s inside the white area as I intend to mask it off.

I’ve managed this so far, but I can’t figure out how to shift the vanishing-point to the center of the box.


I’ll post the code if needed.

Trying to reason about UV of the mesh alongside the non-linear relationship between each dimension is tough!

I’m trying to implement a variation on interior mapping so ultimately I’ll be adjusting it with the camera vector.

Any help or links welcome!