package Sinus;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Graphics;
import java.awt.Image;
import java.util.Scanner;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JButton;
import javax.swing.JTextField;
public class Sinus extends JFrame {
private JPanel contentPane = new JPanel();
private JTextField textField;
private Graphics g2D;
private JPanel Sinuspanel = new JPanel();
private int height=240;
private int width=440;
private Sinuskonfiguration achsenWerte = new Sinuskonfiguration ();
int pixelX[] = new int [361];
int pixelY[] = new int [361];
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Sinus frame = new Sinus();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public Sinus() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(800, 500);
setLocationRelativeTo(null);
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
Sinuspanel.setBounds(50, 50, 450, 207);
contentPane.add(Sinuspanel);
Sinuspanel.setLayout(null);
textField = new JTextField();
textField.setBounds(50, 268, 86, 20);
contentPane.add(textField);
textField.setColumns(10);
contentPane.add(Sinuspanel);
for (double winkelalpha = 0; winkelalpha <= 360; winkelalpha += 1){
double sinus,udach,augenblickswert;
sinus=augenblickswert= 0;
udach=50;
int alpha = (int) winkelalpha;
sinus = Math.sin(2 * Math.PI * (winkelalpha/360));
augenblickswert = sinus * udach;
pixelX[alpha]= Math.round(Math.round((winkelalpha/360)*width));
pixelY[alpha]= Math.round(Math.round((augenblickswert/udach)*height/2));
System.out.println("Sinus von: " + sinus + " bei einem Winkel von " + winkelalpha + "° & einem Augenblickswert von: " + augenblickswert + "V" +
" --- X-Achse: " + pixelX[alpha] + " Y-Achse: " + pixelY[alpha]);
achsenWerte.setAchsenwerte(pixelX, pixelY, alpha);
}
}
public void paint (Graphics g2D){
super.paintComponents(g2D);
g2D.setColor(Color.BLUE);
g2D.fillRect(8,31,200,80);
g2D.setColor(Color.BLACK);
g2D.drawLine(250, 50, 250, 300);
g2D.drawLine(250, 175, 700, 175);
g2D.setColor(Color.BLACK);
g2D.fillRect(450, 175, 1, 1);
g2D.fillRect(650, 175, 1, 1);
for (int alpha = 0; alpha <= 360; alpha += 1){
int pixelX = achsenWerte.getpixelX(alpha);
int pixelY = achsenWerte.getpixelY(alpha);
System.out.println("Winkel: " + alpha + "° --- X-Achse: " + pixelX + " --- Y-Achse: " + pixelY);
g2D.fillRect(pixelX + 250, 175 - pixelY, 1, 1);
}
}
}