자바 회전 행렬로 선 그리기

1947 단어 Java
자바에서 회전 행렬 사용하기
지정된 각도로 회전했습니다.

코드 여기 있습니다.
선을 사용하여 쉽게 볼 수 있습니다.
좌표만 그리면
((Graphics2D) g).
draw(new Line2D.Double(ox,oy,ox + x2, oy + y2));
부분
((Graphics2D) g).
draw(new Line2D.Double(ox + x2, oy + y2,ox + x2, oy + y2));
로 변경하십시오.
turn.java
import javax.swing.*;

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Insets;
import java.awt.geom.Line2D;
import java.awt.Color;
import java.awt.Component;

public class turn extends JPanel{
    int r = 100;
    int ox = 200,oy = 200;
    double x2,y2;

    public static void main(String[] args){
        JFrame frame = new JFrame();

        turn app = new turn();
        frame.getContentPane().add(app);

        frame.setDefaultCloseOperation
                    (JFrame.EXIT_ON_CLOSE);
        frame.setBounds(10, 10, 400, 400);
        frame.setTitle("回転行列使用");
        frame.setVisible(true);
      }

     public void paintComponent(Graphics g){
            g.setColor(Color.blue);
            g.drawLine(200,0 , 200, 400);                       
                              //中央ラインy
            g.drawLine(0,200 , 400, 200);
                              //中央ラインx
            turn(g,100);
          }
     public void turn(Graphics g ,int s){

        for(int i = 0;i <= 12; i ++){//12分割
          g.setColor(Color.red);//色を赤に
          double k = Math.toRadians(30 * i);
                               //radianに変換

          x2 = r * Math.cos(k);//x座標
          y2 = r * Math.sin(k);//y座標

          /*線の描画、上の座標位置まで
            中央から回転させた線を描画する*/
          ((Graphics2D) g).
draw(new Line2D.Double(ox,oy,ox + x2, oy + y2));


        } 
      }
}

개발 환경
Mac OSX version 10.10.5
실행 방법
Eclipse를 사용하여 가져오고 실행하십시오.

좋은 웹페이지 즐겨찾기