Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package pakete;
- import java.awt.Graphics;
- import java.awt.Color;
- import static java.lang.Math.pow;
- import java.util.Random;
- public class ld4 extends javax.swing.JFrame {
- public static int WIDTH;
- public static int HEIGHT;
- private Graphics g;
- int sel;
- private float t;
- private float tStep;
- /**
- * Creates new form ld4
- */
- public ld4() {
- initComponents();
- WIDTH = jPanel1.getWidth();
- HEIGHT = jPanel1.getHeight();
- g = jPanel1.getGraphics();
- // drawPanel();
- }
- //private void drawPanel() {
- //
- // g.setColor(new Color(245, 245, 245));
- // g.fillRect(0, 0, WIDTH, HEIGHT);
- //g.setColor(new Color(200, 200, 200));
- //g.drawLine(WIDTH / 4, 0, WIDTH / 4, HEIGHT);
- //g.drawLine(WIDTH / 2, 0, WIDTH / 2, HEIGHT);
- //g.drawLine(WIDTH / 4 + WIDTH / 2, 0, WIDTH / 4 + WIDTH / 2, HEIGHT);
- //g.drawLine(0, HEIGHT / 4, WIDTH, HEIGHT / 4);
- //g.drawLine(0, HEIGHT / 2, WIDTH, HEIGHT / 2);
- //g.drawLine(0, HEIGHT / 4 + HEIGHT / 2, WIDTH, HEIGHT / 4 + HEIGHT / 2);
- //
- // }
- public int Fact(int n)
- {
- if (n == 0)
- return 1;
- else
- return n * Fact(n-1);
- }
- private void Bezje() {
- int x, y, i;
- tStep = Float.parseFloat(tTextField.getText());
- t = 0;
- //// drawPanel();
- while (t <= 1) {
- for (int j = 0; j <= sel; j++){
- P.B[j] = (float) ( ( Fact(sel)/( Fact(j)*Fact(sel-j) )) * (pow((1-t), sel - j)) * (pow(t,j)) );
- //jTextArea1.append(String.valueOf(P.B[j]) + "\n");
- }
- int xc = 0;
- int yc = 0;
- for (int c = 0; c <=sel; c++){
- xc += P.B[c] * P.x[c];
- yc += P.B[c] * P.y[c];
- }
- x = xc;
- y = yc;
- g.setColor(Color.green);
- g.drawRect(x, y, 1, 1);
- t = (float) (t + tStep);
- }
- for (i = 0; i <= sel; i++) {
- if (i < sel) {
- g.setColor(Color.blue);
- g.drawLine(P.x[i], P.y[i], P.x[i + 1], P.y[i + 1]);
- }
- g.setColor(Color.red);
- g.drawString(String.valueOf(i + 1), P.x[i], ((P.y[i]) - 6));
- g.drawOval(P.x[i], P.y[i], 3, 3);
- }
- }
- private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
- Random val = new Random();
- sel = jComboBox1.getSelectedIndex() + 2;
- for (int i = 0; i <= sel; i++) {
- P.x[i] = val.nextInt(jPanel1.getWidth());
- P.y[i] = val.nextInt(jPanel1.getHeight());
- }
- Bezje();
- }
- private void jPanel1MousePressed(java.awt.event.MouseEvent evt) {
- int n;
- n = jComboBox2.getSelectedIndex() ;
- int x = evt.getX();
- int y = evt.getY();
- P.x[n] = x;
- P.y[n] = y;
- Bezje();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement