Rotation d'une forme verticalement autour de l'axe x
Le code Java fourni tente de faire pivoter un polygone verticalement autour de l'axe x, mais la rotation est appliquée le long d'un axe horizontal. Pour faire pivoter le polygone verticalement, le code doit appliquer une transformation de rotation à l'objet Graphics2D du polygone au lieu de l'appliquer directement aux coordonnées du polygone.
Pour y parvenir, les modifications suivantes doivent être apportées au code :
<code class="java">Graphics2D g2d = (Graphics2D) g;</code>
<code class="java">g2d.setRenderingHint( RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);</code>
<code class="java">int centerX = (int) p2x.sum() / p2x.length; int centerY = (int) p2y.sum() / p2y.length;</code>
<code class="java">g2d.translate(centerX - (getWidth() / 2), centerY - (getHeight() / 2));</code>
<code class="java">g2d.rotate(Math.toRadians(angle), 0, getHeight() / 2);</code>
<code class="java">g2d.drawPolygon(p2);</code>
Avec ces changements, le polygone pivotera verticalement autour de l'axe des x.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!