java 회전 매트릭스
지난번에 배역을 사용해 원을 표시했지만 이번에는 좋지 않아 배역 자체가 더블형으로 만들어지지 않았다.
다음은 실행 중인 그림입니다.
다음은 코드입니다.
Graphics2DTest1.java
import javax.swing.*;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Insets;
import java.awt.geom.Line2D;
public class Graphics2DTest1 extends JPanel{
double x = 1;
double y = 400;
double r = 100;
double cx, cy;
double rx,ry;
double movex;
double movey;
double theta = 30;
public static void main(String[] args){
JFrame frame = new JFrame();
Graphics2DTest1 app = new Graphics2DTest1();
frame.setBackground(Color.BLACK);
frame.getContentPane().add(app);
frame.setResizable(false);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(0, 0, 400, 400);
frame.setTitle("タイトル");
frame.setVisible(true);
Insets insets = frame.getInsets();
frame.setSize(400 + insets.left + insets.right, 400 + insets.top + insets.bottom);
}
public void paintComponent(Graphics g){
Graphics2D g2 = (Graphics2D)g;
g.setColor(Color.white);
g.drawLine(0,200,400,200);
g.drawLine(200,0,200,400);
//array(g);
//Circle(g);
//oval(g);
rotation(g2);
}
public void array(Graphics2D g){
for(int i = 0; i <= 400; i++){
g.draw(new Line2D.Double(x + i ,y - i,x + i,y - i));
movex += 1;
movey -= 1;
}
}
public void Circle(Graphics2D g){
for(int i = 0; i < 360; i++){
cy = (int) (200 + Math.sin(i) * r);
cx = (int) (200 + Math.cos(i) * r);
g.draw(new Line2D.Double(cx, cy, cx, cy));
}
}
public void oval(Graphics2D g){
for(int i = 0; i < 360; i++){
cy = (int) (200 + Math.sin(i) * r / 2);
cx = (int) (200 + Math.cos(i) * r);
g.draw(new Line2D.Double(cx, cy, cx, cy));
}
}
public void rotation(Graphics2D g){
g.setColor(Color.yellow);
for(int i = 0; i < 12; i++){
double rx = 200 + (r * Math.cos((theta * i) / 180 * Math.PI));
double ry = 200 + (r * Math.sin((theta * i) / 180 * Math.PI));
g.draw(new Line2D.Double(rx, ry, rx, ry));
//g2.draw(new Line2D.Double(x, y, x, y));
System.out.println(i + "回目");
System.out.println("rx" + rx);
System.out.println("ry" + ry);
}
}
}
환경 만들기터미널에서 실행할 때 다음 명령을 입력하십시오.
$ javac Graphics2DTest1.java
$ java Graphics2DTest1
Reference
이 문제에 관하여(java 회전 매트릭스), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mizugasira/items/741b20fd13b9fd29c0e2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)