Kelas proses :
import java.awt.Graphics;
import java.awt.Point;
import javax.swing.JPanel;
public class Sierpinski extends JPanel {
private int level;
@Override
protected void paintComponent(Graphics t) {
super.paintComponent(t);
Point t1 = new Point(getWidth() / 2, 10);
Point t2 = new Point(10, getHeight() - 10);
Point t3 = new Point(getWidth() - 10, getHeight() - 10);
TampilkanSegitiga(t, level, t1, t2, t3);
}
private static void TampilkanSegitiga(Graphics t, int level, Point t1, Point t2, Point t3) {
if (level >= 0) {
t.drawLine(t1.x, t1.y, t2.x, t2.y);
t.drawLine(t1.x, t1.y, t3.x, t3.y);
t.drawLine(t2.x, t2.y, t3.x, t3.y);
Point t12 = titikTengah(t1, t2);
Point t23 = titikTengah(t2, t3);
Point t31 = titikTengah(t1, t3);
TampilkanSegitiga(t, level - 1, t1, t12, t31);
TampilkanSegitiga(t, level - 1, t12, t2, t23);
TampilkanSegitiga(t, level - 1, t31, t23, t3);
}
}
private static Point titikTengah(Point t1, Point t2) {
return new Point((t1.x + t2.x) / 2, (t1.y + t2.y) /2 );
}
Sierpinski(int x) {
level = x;
}
}
Kelas Output :
import java.awt.Color;
import java.util.Scanner;
import javax.swing.JFrame;
/**
*
* @author iqbal
*/
public class Output {
// static int TingkatLevel;
public static void main(String[] args) {
System.out.println("masukkan level Segitiga Sierpinski");
Scanner sc = new Scanner(System.in);
int TingkatLevel;
TingkatLevel = sc.nextInt();
Sierpinski F = new Sierpinski(TingkatLevel);
JFrame kk = new JFrame("Inilah Segitiga Sierpinski,terima kasih");
kk.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
kk.add(F);
kk.setVisible(true);
kk.setSize(340, 340);
}
}
Minggu, 26 Desember 2010
Sierpinski Triangle Java 2
The Source :
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Point;
import javax.swing.JFrame;
import javax.swing.JPanel;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author FHR93
*/
public class segi3 extends JPanel {
private int order = 3;
// public void setOrder(int order) {
// this.order = order;
// //repaint();
// }
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Point p1 = new Point(getWidth() / 2, 10);
Point p2 = new Point(10, getHeight() - 10);
Point p3 = new Point(getWidth() - 10, getHeight() - 10);
displayTriangles(g, order, p1, p2, p3);
}
private static void displayTriangles(Graphics g, int order, Point p1, Point p2, Point p3) {
if (order >= 0) {
g.drawLine(p1.x, p1.y, p2.x, p2.y);
g.drawLine(p1.x, p1.y, p3.x, p3.y);
g.drawLine(p2.x, p2.y, p3.x, p3.y);
Point p12 = midpoint(p1, p2);
Point p23 = midpoint(p2, p3);
Point p31 = midpoint(p1, p3);
displayTriangles(g, order - 1, p1, p12, p31);
displayTriangles(g, order - 1, p12, p2, p23);
displayTriangles(g, order - 1, p31, p23, p3);
}
}
private static Point midpoint(Point p1, Point p2) {
return new Point((p1.x + p2.x) / 2, (p1.y + p2.y) / 2);
}
public static void main(String[] args){
JFrame FF = new JFrame("Drawing a recursive triangles");
FF.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
segi3 F = new segi3();
FF.setBackground(Color.YELLOW);
FF.add(F);
FF.pack();
FF.setVisible(true);
FF.setSize(500, 500);
}
}
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Point;
import javax.swing.JFrame;
import javax.swing.JPanel;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author FHR93
*/
public class segi3 extends JPanel {
private int order = 3;
// public void setOrder(int order) {
// this.order = order;
// //repaint();
// }
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Point p1 = new Point(getWidth() / 2, 10);
Point p2 = new Point(10, getHeight() - 10);
Point p3 = new Point(getWidth() - 10, getHeight() - 10);
displayTriangles(g, order, p1, p2, p3);
}
private static void displayTriangles(Graphics g, int order, Point p1, Point p2, Point p3) {
if (order >= 0) {
g.drawLine(p1.x, p1.y, p2.x, p2.y);
g.drawLine(p1.x, p1.y, p3.x, p3.y);
g.drawLine(p2.x, p2.y, p3.x, p3.y);
Point p12 = midpoint(p1, p2);
Point p23 = midpoint(p2, p3);
Point p31 = midpoint(p1, p3);
displayTriangles(g, order - 1, p1, p12, p31);
displayTriangles(g, order - 1, p12, p2, p23);
displayTriangles(g, order - 1, p31, p23, p3);
}
}
private static Point midpoint(Point p1, Point p2) {
return new Point((p1.x + p2.x) / 2, (p1.y + p2.y) / 2);
}
public static void main(String[] args){
JFrame FF = new JFrame("Drawing a recursive triangles");
FF.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
segi3 F = new segi3();
FF.setBackground(Color.YELLOW);
FF.add(F);
FF.pack();
FF.setVisible(true);
FF.setSize(500, 500);
}
}
Sierpinski Triangle Java 2 OOP
The Source :
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Point;
import javax.swing.JFrame;
import javax.swing.JPanel;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author FHR93
*/
public class segi3 extends JPanel {
private int order = 3;
// public void setOrder(int order) {
// this.order = order;
// //repaint();
// }
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Point p1 = new Point(getWidth() / 2, 10);
Point p2 = new Point(10, getHeight() - 10);
Point p3 = new Point(getWidth() - 10, getHeight() - 10);
displayTriangles(g, order, p1, p2, p3);
}
private static void displayTriangles(Graphics g, int order, Point p1, Point p2, Point p3) {
if (order >= 0) {
g.drawLine(p1.x, p1.y, p2.x, p2.y);
g.drawLine(p1.x, p1.y, p3.x, p3.y);
g.drawLine(p2.x, p2.y, p3.x, p3.y);
Point p12 = midpoint(p1, p2);
Point p23 = midpoint(p2, p3);
Point p31 = midpoint(p1, p3);
displayTriangles(g, order - 1, p1, p12, p31);
displayTriangles(g, order - 1, p12, p2, p23);
displayTriangles(g, order - 1, p31, p23, p3);
}
}
private static Point midpoint(Point p1, Point p2) {
return new Point((p1.x + p2.x) / 2, (p1.y + p2.y) / 2);
}
public static void main(String[] args){
JFrame FF = new JFrame("Drawing a recursive triangles");
FF.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
segi3 F = new segi3();
FF.setBackground(Color.YELLOW);
FF.add(F);
FF.pack();
FF.setVisible(true);
FF.setSize(500, 500);
}
}
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Point;
import javax.swing.JFrame;
import javax.swing.JPanel;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author FHR93
*/
public class segi3 extends JPanel {
private int order = 3;
// public void setOrder(int order) {
// this.order = order;
// //repaint();
// }
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Point p1 = new Point(getWidth() / 2, 10);
Point p2 = new Point(10, getHeight() - 10);
Point p3 = new Point(getWidth() - 10, getHeight() - 10);
displayTriangles(g, order, p1, p2, p3);
}
private static void displayTriangles(Graphics g, int order, Point p1, Point p2, Point p3) {
if (order >= 0) {
g.drawLine(p1.x, p1.y, p2.x, p2.y);
g.drawLine(p1.x, p1.y, p3.x, p3.y);
g.drawLine(p2.x, p2.y, p3.x, p3.y);
Point p12 = midpoint(p1, p2);
Point p23 = midpoint(p2, p3);
Point p31 = midpoint(p1, p3);
displayTriangles(g, order - 1, p1, p12, p31);
displayTriangles(g, order - 1, p12, p2, p23);
displayTriangles(g, order - 1, p31, p23, p3);
}
}
private static Point midpoint(Point p1, Point p2) {
return new Point((p1.x + p2.x) / 2, (p1.y + p2.y) / 2);
}
public static void main(String[] args){
JFrame FF = new JFrame("Drawing a recursive triangles");
FF.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
segi3 F = new segi3();
FF.setBackground(Color.YELLOW);
FF.add(F);
FF.pack();
FF.setVisible(true);
FF.setSize(500, 500);
}
}
Langganan:
Komentar (Atom)