I have a world image (perspective) and a object that is meant to be projected on the wall of the world image, for defining the wall plane , I have 4 2d points and also there is an scaling factor.

```
world: {
image: Blob,
plane: {
a: {
x: number, // unit: px
y: number // unit: px
},
b: {
x: number, // unit: px
y: number // unit: px
},
c: {
x: number, // unit: px
y: number // unit: px
},
d: {
x: number, // unit: px
y: number // unit: px
},
},
scale: {
a: {
x: number, // unit: px
y: number, // unit: px
},
b: {
x: number, // unit: px
y: number // unit: px
},
distance: number // unit: mm (distance in real world)
}
},
object: {
image: Blob,
dpi: number, // calculate size in real world
position: { // where to position the image
x: number, // unit: px
y: number // unit: px
}
}
```