fix: coordinates

This commit is contained in:
2026-01-10 17:47:56 +03:00
parent 17594bc8fc
commit 57f11685a0

View File

@@ -126,10 +126,10 @@
// Исходные углы изображения 1000x1000 // Исходные углы изображения 1000x1000
const sourceCorners = [ const sourceCorners = [
[-500, -500, 0], // Верхний левый [-500, -500, 1], // Верхний левый
[500, -500, 0], // Верхний правый [500, -500, 1], // Верхний правый
[500, 500, 0], // Нижний правый [500, 500, 1], // Нижний правый
[-500, 500, 0] // Нижний левый [-500, 500, 1] // Нижний левый
]; ];
// Функция умножения матриц // Функция умножения матриц
@@ -229,19 +229,33 @@
// R = Rz * Ry * Rx // R = Rz * Ry * Rx
const R_temp = multiplyMatrices(Rz, Ry); const R_temp = multiplyMatrices(Rz, Ry);
const _R = multiplyMatrices(R_temp, Rx); const _R = multiplyMatrices(R_temp, Rx);
_R[0][2] = _R[1][2] = 0; // _R[0][2] = _R[1][2] = 0;
_R[2][2] = 1; // _R[2][2] = 1;
const R = inv(_R); 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 transformedCorners = sourceCorners.map(corner => {
const rotated = multiplyMatrixVector(R, corner); const rotated = multiplyMatrixVector(Z, corner);
const scaled = [ const scaled = [
rotated[0], rotated[0],
rotated[1], rotated[1],
rotated[2] 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 // Очистка canvas