Biến đổi toạ độ

Xem PDF

Điểm: 1100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Vào một ngày đẹp trời của năm 2025, ducbao_ nhận được một bức thư thách đấu được gửi bởi một anh chàng tên là ronaldo12345, vì ducbao_ là một con người có cái tôi rất lớn nên đã chấp nhận lời thách đấu nhưng quên mất rằng nếu cậu thua thì cậu sẽ phải công nhận ronaldo12345 thông minh hơn mình. Nhưng ducbao_ chỉ giỏi toán chứ tin thì còn "gà" nên các bạn hãy giúp anh ấy nhé !

  • Bức thư thách đấu của ronaldo12345 như sau :
    • Bạn được cung cấp một tập hợp gồm \(N\) điểm trong \(1\) không gian \(Oxyz\) mỗi điểm được biểu diễn bởi tọa độ \(x,y,z\). Hãy thực hiện một số phép biến đổi hình học đối với các điểm này bằng cách áp dụng các phép quay và tịnh tiến.
    • Quay quanh trục:
      • \(X\): quay quanh trục \(OX\) một góc \(α\) độ
      • \(Y\) : quay quanh trục \(OY\) một góc \(β\) độ
      • \(Z\) : quay quanh trục \(OZ\) một góc \(γ\) độ
    • Tịnh tiến:
      • Dời điểm \(x,y,z\) một đoạn \(dz,dx,dy\) theo từng trục

Các bạn hãy giúp ducbao_ bằng cách tính tọa độ cách điểm sau khi áp dụng các phép biến đổi nhé !

Input

  • Dòng đầu tiên chứa số nguyên \(N\) \((1 ≤ N ≤ 10^5)\)
  • \(N\) dòng tiếp theo, mỗi dòng chứ 3 số thực \(x,y,z (x,y,z ≤ 10^6)\)
  • Dòng tiếp theo chứa ba số thực \(α, β, γ\) \((0 ≤ α,β,γ ≤ 360)\)
  • Dòng cuối chứa 3 số thực \(dz,dx,dy (dx,dy,dz ≤ 10^6)\)

Output

  • Gồm \(N\) dòng, mỗi dòng chứa ba số thực, biểu diễn tọa độ \(x,y,z\) của từng điểm
  • Kết quả được làm tròn đến 6 chữ số thập phân.
Ví dụ
Input
2
1 0 0
0 1 0
90 0 0
1 1 1
Output
2.000000 1.000000 1.000000
1.000000 1.000000 2.000000

Bình luận

Không có bình luận nào.