Nhận hợp đồng địa phương từ các hợp đồng toàn cầu


7

Tôi cần phải có được hợp đồng địa phương từ các hợp đồng toàn cầu. Tôi không tìm thấy các ví dụ làm sẵn.

nhập mô tả hình ảnh ở đây

Xin hãy giúp tôi làm thế nào để làm điều đó trên hình ảnh ví dụ. Cảm ơn bạn!

CẬP NHẬT:

Đây là phương pháp trong java, được tạo ra nhờ sự giúp đỡ của bạn! Nó làm việc cho tôi :) Cảm ơn bạn!

public static double[] getLocalFromGlobal(int pointX, int pointY, int localX, int localY, float angle) {
    float px = pointX - localX;
    float py = pointY - localY;

    double cos = Math.cos((Math.PI / 180) * angle);
    double sin = Math.sin((Math.PI / 180) * angle);

    double finalX = (px * cos) + (py * sin);
    double finalY = -(px * sin) + (py * cos);
    return new double[]{finalX, finalY};
}

1
Sử dụng Ma trận biến đổi đồng nhất với R = xoay CW 45 độ và T = bản dịch theo (40,20). Nếu bạn cần nghịch đảo, sử dụng nghịch đảo.
Pieter Geerkens

Câu trả lời:


8

Điểm P được chuyển đổi là, theo tọa độ đồng nhất:

(50401)

Ma trận biến đổi đồng nhất M là (sử dụng coS(π4) = tội lỗi (π4)= =0,7071):

(0,70710,7071-42.426-0,70710,707114.142001)

ghi chú điều đó (40+20)*0,7071= =42.426(40-20)*0,7071= =14.142và sử dụng danh tính đã được chứng minh trong câu trả lời của tôi ở đây

Áp dụng M cho P với năng suất nhân ma trận

(35,35+28,28-42,42-35,35+28,28+14,140+0+1)= =(21,217,071)

Lưu ý rằng các vectơ bình thường, chẳng hạn như vị trí và vận tốc, là biến thể đối lập ; điều này có nghĩa là đối với phép biến đổi T của các vectơ cơ sở, các thành phần biến đổi bằng phép biến đổi nghịch đảo, T *. Chỉ các vectơ kép như gradient là đồng biến thể, với các thành phần của chúng biến đổi bởi T.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.