0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

java 回転行列を使用した線描画

Last updated at Posted at 2015-11-27

javaで回転行列を使用し、
指定した角度分回転させるようにしました。

スクリーンショット 2015-11-27 12.11.20.png

コードはこちらになります。
ラインを使用し、見やすいようにしていますが、
座標だけを描画する場合は
((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でインポートさせて実行してください。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?