Trong ứng dụng 3D của tôi, tôi lưu trữ vị trí của đối tượng trong một vec-tơ và nó xoay quanh gốc trong một quaternion. Tôi cần phải xoay đối tượng xung quanh một vector với một nguồn gốc tùy ý. Tôi đã cố gắng chuyển đổi vị trí - vectorOrigin và xoay thành ma trận, xoay ma trận và sau đó trích xuất vị trí và xoay như một vectơ và một quaternion từ ma trận kết quả. Các vị trí đi lên ok, nhưng luân chuyển vẫn không đổi (đối tượng quay xung quanh các vector nhất định nhưng nó luôn luôn phải đối mặt trong cùng một hướng).Làm thế nào để xoay đối tượng xung quanh một điểm bằng cách sử dụng quaternions?
Phương pháp của tôi sai hay tôi có lỗi?
Đây là những gì tôi đang làm. Đối tượng di chuyển xung quanh một vectơ có nguồn gốc tùy ý, nhưng nó luôn hướng về cùng một hướng. Tôi phải đối mặt với nguồn gốc của vectơ. Tôi đã chỉnh sửa câu hỏi để làm rõ thuật toán của mình. – user17544
Nếu tôi hiểu chính xác, bạn cần phải thêm một vòng xoay khác, xung quanh vectơ song song với vectơ bạn đã đề cập, nhưng nó đi qua * tâm * của đối tượng. –
Bạn nói đúng. Tôi giải quyết nó bằng cách xoay đối tượng quanh tâm của nó và sau đó xoay vị trí của đối tượng xung quanh vector đã cho. – user17544