JSFiddle - React, Tailwind, and code Playground
by PiereDome
JavaScript
array = makePerspective(160, window.innerWidth/window.innerHeight, 1, 100);
console.log(array);
while (array.length > 0) {
for (x = 0; x < 4; x++) {
document.write(array.shift()+',');
}
document.write('</br>');
}
function makePerspective(fov, aspect, near, far) {
"use strict";
var fov = near * Math.tan(fov * Math.PI / 360),
e = -fov;
return makeFrustrum(-fov * aspect, fov * aspect, -fov, fov, near, far);
}
function makeFrustrum(a, b, c, d, e, f) {
"use strict";
var g = [];
g[0] = 2 * e / (b - a);
g[4] = 0;
g[8] = (b + a) / (b - a);
g[12] = 0;
g[1] = 0;
g[5] = 2 * e / (d - c);
g[9] = (d + c) / (d - c);
g[13] = 0;
g[2] = 0;
g[6] = 0;
g[10] = -(f + e) / (f - e);
g[14] = -2 * f * e / (f - e);
g[3] = 0;
g[7] = 0;
g[11] = -1;
g[15] = 0;
return g;
}