Tôi đang sử dụng ma trận biến đổi affine để chuyển đổi tọa độ 2D từ màn hình (cường độ 10e3) sang các phần nhỏ của bộ fractal (cường độ nhỏ nhất là 10e-15).
Tôi cũng cần ánh xạ theo cách khác, vì vậy tôi chỉ cần đảo ngược ma trận. Nó hoạt động khi các cường độ không quá xa nhau, nhưng nó thất bại khi định thức quá gần với 0 được biểu thị bằng các số kép tiêu chuẩn.
Các ma trận tôi sử dụng có dạng:
a c e
b d f
0 0 1
Và thuật toán đảo ngược tôi có là:
var dt = a * d - b * c;
return new Matrix(d/dt, -b/dt, -c/dt, a/dt, (c * f - d * e) / dt, -(a * f - b * e) / dt);
Có một cách khác để đảo ngược ma trận? Tôi không giỏi toán, vì vậy tôi sẽ cần một giải pháp đơn giản, và tôi có thể tìm mã, hoặc một thuật toán, cho.
Một ví dụ về ma trận như vậy:
3.26091378894248e-9 -1.882689453850103e-9 -0.7172216437740687
-1.882689453814925e-9 -3.2609137888815494e-9 -0.23371832131832268
0 0 1