67 lines
1.8 KiB
Java
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);
|
|
}
|
|
}
|
|
} |