Rumah  >  Artikel  >  Java  >  Bagaimana untuk Memutar Poligon Secara Menegak Di Sekitar Paksi-X di Jawa?

Bagaimana untuk Memutar Poligon Secara Menegak Di Sekitar Paksi-X di Jawa?

Susan Sarandon
Susan Sarandonasal
2024-10-27 07:25:29242semak imbas

How to Rotate a Polygon Vertically Around the X-Axis in Java?

Memusingkan bentuk secara menegak di sekeliling paksi-x

Kod Java yang disediakan cuba untuk memutarkan poligon secara menegak di sekeliling paksi-x, tetapi putaran digunakan sepanjang paksi mendatar. Untuk memutar poligon secara menegak, kod tersebut perlu menggunakan penjelmaan putaran pada objek Graphics2D poligon dan bukannya menggunakannya terus pada koordinat poligon.

Untuk mencapai ini, perubahan berikut harus dibuat pada kod:

  1. Buat objek Graphics2D daripada objek Grafik yang disediakan:
<code class="java">Graphics2D g2d = (Graphics2D) g;</code>
  1. Tetapkan pembayang pemaparan untuk mendayakan anti-aliasing:
<code class="java">g2d.setRenderingHint(
    RenderingHints.KEY_ANTIALIASING,
    RenderingHints.VALUE_ANTIALIAS_ON);</code>
  1. Kira titik tengah poligon:
<code class="java">int centerX = (int) p2x.sum() / p2x.length;
int centerY = (int) p2y.sum() / p2y.length;</code>
  1. Terjemah objek Graphics2D ke tengah poligon:
<code class="java">g2d.translate(centerX - (getWidth() / 2), centerY - (getHeight() / 2));</code>
  1. Putar objek Graphics2D di sekeliling paksi-x:
<code class="java">g2d.rotate(Math.toRadians(angle), 0, getHeight() / 2);</code>
  1. Lukis poligon menggunakan objek Graphics2D yang diubah:
<code class="java">g2d.drawPolygon(p2);</code>

Dengan perubahan ini, poligon akan diputar secara menegak di sekeliling paksi-x.

Atas ialah kandungan terperinci Bagaimana untuk Memutar Poligon Secara Menegak Di Sekitar Paksi-X di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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