diff --git a/src/praktikum11/PudeliHari.java b/src/praktikum11/PudeliHari.java new file mode 100644 index 0000000..5d2e594 --- /dev/null +++ b/src/praktikum11/PudeliHari.java @@ -0,0 +1,37 @@ +package praktikum11; + +import java.applet.Applet; +import java.awt.*; + +public class PudeliHari extends Applet { + /* + * Ringjoone võrrand parameetrilisel kujul + * x = r * cos(t) + * y = r * sin(t) + * t = -PI..PI + */ + public void paint(Graphics g) { + // Küsime kui suur aken on? + int w = getWidth(); + int h = getHeight(); + + int r = 100; // Raadius + int x0 = w/2; // Keskpunkt + int y0 = h/2; + int x, y; + double t; + + // Täidame tausta + g.setColor(Color.white); + g.fillRect(0, 0, w, h); + + // Joonistame + g.setColor(Color.black); + + for (t = -Math.PI; t < Math.PI; t = t + Math.PI / 16) { + x = (int) (r * Math.cos(t) + x0); + y = (int) (r * Math.sin(t) + y0); + g.drawLine(x0, y0, x, y); + } + } +} \ No newline at end of file diff --git a/src/praktikum11/Spiraal.java b/src/praktikum11/Spiraal.java new file mode 100644 index 0000000..a7e0ea1 --- /dev/null +++ b/src/praktikum11/Spiraal.java @@ -0,0 +1,67 @@ +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); + } + } +} \ No newline at end of file diff --git a/src/praktikum11/Yleminek.java b/src/praktikum11/Yleminek.java new file mode 100644 index 0000000..9ada7c5 --- /dev/null +++ b/src/praktikum11/Yleminek.java @@ -0,0 +1,22 @@ +package praktikum11; + +import java.applet.Applet; +import java.awt.Color; +import java.awt.Graphics; + +public class Yleminek extends Applet { + + public void paint(Graphics g) { + gradient(g, new Color(255,0,0), new Color(1,0,0)); + } + + public void gradient(Graphics g, Color c1, Color c2) { + for (int i = 0; i <= this.getHeight(); i++) { + //int red = (i*(c1.getRed()/c2.getRed()))/this.getHeight(); // jagab 255 värvi akna kõrguse peale ära + int color = (i*255/this.getHeight()); + g.setColor(new Color(color, color, color)); + g.drawLine(0, i, this.getWidth(), i); + } + } + +}