diff --git a/page.html b/page.html
index 3b15b9d..2fa4274 100644
--- a/page.html
+++ b/page.html
@@ -126,10 +126,10 @@
// Исходные углы изображения 1000x1000
const sourceCorners = [
- [-500, -500, 0], // Верхний левый
- [500, -500, 0], // Верхний правый
- [500, 500, 0], // Нижний правый
- [-500, 500, 0] // Нижний левый
+ [-500, -500, 1], // Верхний левый
+ [500, -500, 1], // Верхний правый
+ [500, 500, 1], // Нижний правый
+ [-500, 500, 1] // Нижний левый
];
// Функция умножения матриц
@@ -229,19 +229,33 @@
// R = Rz * Ry * Rx
const R_temp = multiplyMatrices(Rz, Ry);
const _R = multiplyMatrices(R_temp, Rx);
- _R[0][2] = _R[1][2] = 0;
- _R[2][2] = 1;
- const R = inv(_R);
-
+ // _R[0][2] = _R[1][2] = 0;
+ // _R[2][2] = 1;
+ const R = _R;
+ console.log(_R, R)
+ const K = [
+ [375, 0, 375],
+ [0, 375, 375],
+ [0, 0, 1]
+ ];
+ const T = [
+ [0.5, 0, 375],
+ [0, 0.5, 375],
+ [0, 0, 1],
+ ]
+ const H = multiplyMatrices(K, multiplyMatrices(R, inv(K)));
+ const Z = multiplyMatrices(H, T)
// Трансформация углов
const transformedCorners = sourceCorners.map(corner => {
- const rotated = multiplyMatrixVector(R, corner);
+ const rotated = multiplyMatrixVector(Z, corner);
const scaled = [
rotated[0],
rotated[1],
rotated[2]
];
- return project3Dto2D(scaled, height);
+ console.log(K, R, H, rotated);
+ return [rotated[0] / rotated[2], rotated[1] / rotated[2]];
+ // return project3Dto2D(scaled, height);
});
// Очистка canvas