Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah cara saya Memutar Titik 2D Di Sekitar Titik Lain?

Bagaimanakah cara saya Memutar Titik 2D Di Sekitar Titik Lain?

Barbara Streisand
Lepaskan: 2024-12-08 00:02:13
asal
279 orang telah melayarinya

How do I Rotate a 2D Point Around Another Point?

Memusingkan Titik tentang Titik Lain (2D)

Untuk menentukan titik yang mentakrifkan bentuk untuk pengesanan perlanggaran, adalah perlu untuk memutar titik di sekeliling titik pangsi. Dalam kes ini, titik pangsi ialah pusat bentuk.

Untuk memutarkan titik p mengelilingi titik lain (cx, cy) dengan sudut sudut dalam radian, ikut langkah berikut:

  1. Terjemahkan titik kembali kepada asal dengan menolak (cx, cy):

    p.x -= cx;
    p.y -= cy;
    Salin selepas log masuk
  2. Putar titik melawan arah jam:

    float xnew = p.x * cos(angle) - p.y * sin(angle);
    float ynew = p.x * sin(angle) + p.y * cos(angle);
    Salin selepas log masuk
  3. Terjemahkan kembali titik dengan menambah (cx, cy ):

    p.x = xnew + cx;
    p.y = ynew + cy;
    Salin selepas log masuk

Menggunakan kaedah ini, anda boleh memutar mana-mana titik di sekeliling mana-mana titik lain titik dan tentukan bentuk objek untuk pengesanan perlanggaran.

Atas ialah kandungan terperinci Bagaimanakah cara saya Memutar Titik 2D Di Sekitar Titik Lain?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan