Files
i200/src/praktikum11/Spiraal.java
2015-11-11 13:31:30 +02:00

67 lines
1.8 KiB
Java

package praktikum11;
import java.applet.Applet;
import java.awt.Color;
import java.awt.Graphics;
/**
* Ringjoone valemi järgi ringi joonistamise näide
* @author Mikk Mangus
*/
@SuppressWarnings("serial")
public class Spiraal extends Applet {
private Graphics g;
public void paint(Graphics g) {
this.g = g;
joonistaTaust();
joonistaSpiraal();
}
public void joonistaSpiraal() {
g.setColor(Color.black);
int keskkohtX = getWidth() / 2;
int keskkohtY = getHeight() / 2;
int raadius = 50;
double pikkus = 30;
double tihedus = 30;
int lastX = keskkohtX;
int lastY = keskkohtY;
for (double nurk = 0; nurk <= Math.PI * pikkus; nurk = nurk + .03) {
int x = (int) (raadius * Math.cos(nurk)*(nurk/tihedus));
int y = (int) (raadius * Math.sin(nurk)*(nurk/tihedus));
//g.fillRect(keskkohtX + x, keskkohtY + y, 2, 2);
g.drawLine(lastX, lastY, keskkohtX + x, keskkohtY + y);
lastX = keskkohtX + x;
lastY = keskkohtY + y;
}
}
/**
* Katab tausta valgega
*/
public void joonistaTaust() {
int w = getWidth();
int h = getHeight();
g.setColor(Color.white);
g.fillRect(0, 0, w, h);
}
/**
* Joonistab ringi
*/
public void joonistaRing() {
g.setColor(Color.black);
int keskkohtX = getWidth() / 2;
int keskkohtY = getHeight() / 2;
int raadius = 50;
for (double nurk = 0; nurk <= Math.PI * 2; nurk = nurk + .03) {
int x = (int) (raadius * Math.cos(nurk));
int y = (int) (raadius * Math.sin(nurk));
g.fillRect(keskkohtX + x, keskkohtY + y, 2, 2);
}
}
}