Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- namespace WindowsFormsApp7
- {
- public partial class Form1 : Form
- {
- private System.Drawing.Pen pen1 = new System.Drawing.Pen(Color.Black, 1);
- private System.Drawing.Pen pen2 = new System.Drawing.Pen(Color.Red, 1);
- private System.Drawing.Pen pen3 = new System.Drawing.Pen(Color.Green, 1);
- private System.Drawing.Pen pen4 = new System.Drawing.Pen(Color.Blue, 1);
- private System.Drawing.Graphics g;
- // private System.Drawing.Pen pen1 = new System.Drawing.Pen(Color.Blue, 3);
- private System.Drawing.SolidBrush myBrush = new System.Drawing.SolidBrush(System.Drawing.Color.Red);
- public Form1()
- {
- InitializeComponent();
- g = pictureBox1.CreateGraphics();
- }
- private void Form1_Load(object sender, EventArgs e)
- {
- }
- private void label3_Click(object sender, EventArgs e)
- {
- }
- private void textBox3_TextChanged(object sender, EventArgs e)
- {
- }
- private void label4_Click(object sender, EventArgs e)
- {
- }
- private void textBox4_TextChanged(object sender, EventArgs e)
- {
- }
- private void label1_Click(object sender, EventArgs e)
- {
- }
- private void pictureBox1_Click(object sender, EventArgs e)
- {
- }
- private void button1_Click(object sender, EventArgs e)
- {
- MessageBox.Show("daa");
- }
- private void label9_Click(object sender, EventArgs e)
- {
- }
- private void button2_Click(object sender, EventArgs e)
- {
- Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
- Graphics gr = Graphics.FromImage(bmp);
- int srodekX = pictureBox1.Width / 2, srodekY = pictureBox1.Height / 2, maxX = pictureBox1.Width, maxY = pictureBox1.Height;
- Point q = new Point();
- Point[] p = new Point[8];
- int ile_pkt, tmp;
- int.TryParse(textBox1.Text, out tmp);
- p[0].X = tmp;
- int.TryParse(textBox2.Text, out tmp);
- p[0].Y = tmp;
- int.TryParse(textBox3.Text, out tmp);
- p[1].X = tmp;
- int.TryParse(textBox4.Text, out tmp);
- p[1].Y = tmp;
- int.TryParse(textBox5.Text, out tmp);
- p[2].X = tmp;
- int.TryParse(textBox6.Text, out tmp);
- p[2].Y = tmp;
- int.TryParse(textBox7.Text, out tmp);
- p[3].X = tmp;
- int.TryParse(textBox8.Text, out tmp);
- p[3].Y = tmp;
- p[4].X = 80;
- p[4].Y = -20;
- p[5].X = 100;
- p[5].Y = 20;
- p[6].X = 120;
- p[6].Y = -20;
- p[7].X = 140;
- p[7].Y = 20;
- int.TryParse(textBox9.Text, out ile_pkt);
- Point[][] points;
- points = new Point[5][];
- for (int i = 0; i < 5; i++)
- points[i] = new Point[ile_pkt];
- double t = 0;
- for (int j = 3; j < 8; j++)
- {
- t = 0;
- for (int i = 0; i < ile_pkt; i++)
- {
- q.X = (int)(Math.Pow((1 - t), 3) / 6 * p[j - 3].X + (3 * Math.Pow(t, 3) - 6 * Math.Pow(t, 2) + 4) / 6 * p[j - 2].X + (-3 * Math.Pow(t, 3) + 3 * Math.Pow(t, 2) + 3 * t + 1) / 6 * p[j - 1].X + Math.Pow(t, 3) / 6 * p[j].X);
- q.Y = (int)(Math.Pow((1 - t), 3) / 6 * p[j - 3].Y + (3 * Math.Pow(t, 3) - 6 * Math.Pow(t, 2) + 4) / 6 * p[j - 2].Y + (-3 * Math.Pow(t, 3) + 3 * Math.Pow(t, 2) + 3 * t + 1) / 6 * p[j - 1].Y + Math.Pow(t, 3) / 6 * p[j].Y);
- t += 1.0 / ile_pkt;
- points[j - 3][i].X = srodekX + q.X;
- points[j - 3][i].Y = srodekY - q.Y;
- }
- }
- for (int i = 0; i < 5; i++)
- gr.DrawLines(pen2, points[i]);
- for (int i = 0; i < 8; i++)
- gr.DrawEllipse(pen4, srodekX + p[i].X - 3, srodekY - p[i].Y - 3, 6, 6);
- pictureBox1.Image = bmp;
- }
- private void button3_Click(object sender, EventArgs e)
- {
- Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
- Graphics gr = Graphics.FromImage(bmp);
- int srodekX = pictureBox1.Width / 2, srodekY = pictureBox1.Height / 2, maxX = pictureBox1.Width, maxY = pictureBox1.Height;
- Point p1 = new Point(), p2 = new Point(), p3 = new Point(), p4 = new Point(), q = new Point();
- int tmp;
- int.TryParse(textBox1.Text, out tmp);
- p1.X = tmp;
- int.TryParse(textBox2.Text, out tmp);
- p1.Y = tmp;
- int.TryParse(textBox3.Text, out tmp);
- p2.X = tmp;
- int.TryParse(textBox4.Text, out tmp);
- p2.Y = tmp;
- int.TryParse(textBox5.Text, out tmp);
- p3.X = tmp;
- int.TryParse(textBox6.Text, out tmp);
- p3.Y = tmp;
- int.TryParse(textBox7.Text, out tmp);
- p4.X = tmp;
- int.TryParse(textBox8.Text, out tmp);
- p4.Y = tmp;
- gr.DrawEllipse(pen4, srodekX + p1.X - 3, srodekY - p1.Y - 3, 6, 6);
- gr.DrawEllipse(pen4, srodekX + p4.X - 3, srodekY - p4.Y - 3, 6, 6);
- gr.DrawLine(pen3, srodekX + p1.X, srodekY - p1.Y, srodekX + p2.X + p1.X, srodekY - p2.Y - p1.Y);
- gr.DrawLine(pen3, srodekX + p4.X, srodekY - p4.Y, srodekX + p3.X + p4.X, srodekY - p3.Y - p4.Y);
- double t = 0.0;
- int ile_pkt;
- int.TryParse(textBox9.Text, out ile_pkt);
- Point[] points = new Point[ile_pkt];
- for (int i = 0; i < ile_pkt; i++)
- {
- q.X = (int)((2 * Math.Pow(t, 3) - 3 * Math.Pow(t, 2) + 1) * p1.X + (-2 * Math.Pow(t, 3) + 3 * Math.Pow(t, 2)) * p4.X + (Math.Pow(t, 3) - 2 * Math.Pow(t, 2) + t) * p2.X + (Math.Pow(t, 3) - Math.Pow(t, 2)) * p3.X);
- q.Y = (int)((2 * Math.Pow(t, 3) - 3 * Math.Pow(t, 2) + 1) * p1.Y + (-2 * Math.Pow(t, 3) + 3 * Math.Pow(t, 2)) * p4.Y + (Math.Pow(t, 3) - 2 * Math.Pow(t, 2) + t) * p2.Y + (Math.Pow(t, 3) - Math.Pow(t, 2)) * p3.Y);
- points[i].X = srodekX + q.X;
- points[i].Y = srodekY - q.Y;
- t += 1.0 / ile_pkt;
- }
- gr.DrawLines(pen2, points);
- pictureBox1.Image = bmp;
- }
- private void button1_Click_1(object sender, EventArgs e)
- {
- Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
- Graphics gr = Graphics.FromImage(bmp);
- int srodekX = pictureBox1.Width / 2, srodekY = pictureBox1.Height / 2, maxX = pictureBox1.Width, maxY = pictureBox1.Height;
- Point p1 = new Point(), p2 = new Point(), p3 = new Point(), p4 = new Point(), q = new Point();
- int ile_pkt, tmp;
- int.TryParse(textBox1.Text, out tmp);
- p1.X = tmp;
- int.TryParse(textBox2.Text, out tmp);
- p1.Y = tmp;
- int.TryParse(textBox3.Text, out tmp);
- p2.X = tmp;
- int.TryParse(textBox4.Text, out tmp);
- p2.Y = tmp;
- int.TryParse(textBox5.Text, out tmp);
- p3.X = tmp;
- int.TryParse(textBox6.Text, out tmp);
- p3.Y = tmp;
- int.TryParse(textBox7.Text, out tmp);
- p4.X = tmp;
- int.TryParse(textBox8.Text, out tmp);
- p4.Y = tmp;
- int.TryParse(textBox9.Text, out ile_pkt);
- Point[] points = new Point[ile_pkt];
- double t = 0;
- for (int i = 0; i < ile_pkt; i++)
- {
- q.X = (int)(Math.Pow((1 - t), 3) * p1.X + 3 * t * (Math.Pow((1 - t), 2)) * p2.X + 3 * Math.Pow(t, 2) * (1 - t) * p3.X + Math.Pow(t, 3) * p4.X);
- q.Y = (int)(Math.Pow((1 - t), 3) * p1.Y + 3 * t * (Math.Pow((1 - t), 2)) * p2.Y + 3 * Math.Pow(t, 2) * (1 - t) * p3.Y + Math.Pow(t, 3) * p4.Y);
- t += 1.0 / ile_pkt;
- points[i].X = srodekX + q.X;
- points[i].Y = srodekY - q.Y;
- }
- gr.DrawLines(pen2, points);
- gr.DrawEllipse(pen4, srodekX + p1.X - 3, srodekY - p1.Y - 3, 6, 6);
- gr.DrawEllipse(pen4, srodekX + p2.X - 3, srodekY - p2.Y - 3, 6, 6);
- gr.DrawEllipse(pen4, srodekX + p3.X - 3, srodekY - p3.Y - 3, 6, 6);
- gr.DrawEllipse(pen4, srodekX + p4.X - 3, srodekY - p4.Y - 3, 6, 6);
- pictureBox1.Image = bmp;
- }
- private void button2_Click_1(object sender, EventArgs e)
- {
- Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
- Graphics gr = Graphics.FromImage(bmp);
- int srodekX = pictureBox1.Width / 2, srodekY = pictureBox1.Height / 2, maxX = pictureBox1.Width, maxY = pictureBox1.Height;
- Point q = new Point();
- Point[] p = new Point[8];
- int ile_pkt, tmp;
- int.TryParse(textBox1.Text, out tmp);
- p[0].X = tmp;
- int.TryParse(textBox2.Text, out tmp);
- p[0].Y = tmp;
- int.TryParse(textBox3.Text, out tmp);
- p[1].X = tmp;
- int.TryParse(textBox4.Text, out tmp);
- p[1].Y = tmp;
- int.TryParse(textBox5.Text, out tmp);
- p[2].X = tmp;
- int.TryParse(textBox6.Text, out tmp);
- p[2].Y = tmp;
- int.TryParse(textBox7.Text, out tmp);
- p[3].X = tmp;
- int.TryParse(textBox8.Text, out tmp);
- p[3].Y = tmp;
- p[4].X = 80;
- p[4].Y = -20;
- p[5].X = 100;
- p[5].Y = 20;
- p[6].X = 120;
- p[6].Y = -20;
- p[7].X = 140;
- p[7].Y = 20;
- int.TryParse(textBox9.Text, out ile_pkt);
- Point[][] points;
- points = new Point[5][];
- for (int i = 0; i < 5; i++)
- points[i] = new Point[ile_pkt];
- double t = 0;
- for (int j = 3; j < 8; j++)
- {
- t = 0;
- for (int i = 0; i < ile_pkt; i++)
- {
- q.X = (int)(Math.Pow((1 - t), 3) / 6 * p[j - 3].X + (3 * Math.Pow(t, 3) - 6 * Math.Pow(t, 2) + 4) / 6 * p[j - 2].X + (-3 * Math.Pow(t, 3) + 3 * Math.Pow(t, 2) + 3 * t + 1) / 6 * p[j - 1].X + Math.Pow(t, 3) / 6 * p[j].X);
- q.Y = (int)(Math.Pow((1 - t), 3) / 6 * p[j - 3].Y + (3 * Math.Pow(t, 3) - 6 * Math.Pow(t, 2) + 4) / 6 * p[j - 2].Y + (-3 * Math.Pow(t, 3) + 3 * Math.Pow(t, 2) + 3 * t + 1) / 6 * p[j - 1].Y + Math.Pow(t, 3) / 6 * p[j].Y);
- t += 1.0 / ile_pkt;
- points[j - 3][i].X = srodekX + q.X;
- points[j - 3][i].Y = srodekY - q.Y;
- }
- }
- for (int i = 0; i < 5; i++)
- gr.DrawLines(pen2, points[i]);
- for (int i = 0; i < 8; i++)
- gr.DrawEllipse(pen4, srodekX + p[i].X - 3, srodekY - p[i].Y - 3, 6, 6);
- pictureBox1.Image = bmp;
- }
- private void button3_Click_1(object sender, EventArgs e)
- {
- double[,] tab = new double[10, 2];
- tab[0, 0] = 0;
- tab[0, 1] = 0;
- tab[1, 0] = 0;
- tab[1, 1] = 200;
- tab[2, 0] = 100;
- tab[2, 1] = 0;
- tab[3, 0] = 100;
- tab[3, 1] = 200;
- tab[4, 0] = 200;
- tab[4, 1] = 0;
- tab[5, 0] = 200;
- tab[5, 1] = 200;
- tab[6, 0] = 300;
- tab[6, 1] = 0;
- tab[7, 0] = 300;
- tab[7, 1] = 200;
- double xx, yy, x, y;
- int i = 0;
- double t = 0;
- xx = Math.Pow((1 - t), 3) * tab[i, 0] / 6 + (3 * Math.Pow(t, 3) - 6 * Math.Pow(t, 2) + 4) * tab[i + 1, 0] / 6 + (-3 * Math.Pow(t, 3) + 3 * Math.Pow(t, 2) + 3 * t + 1) * tab[i + 2, 0] / 6 + Math.Pow(t, 3) * tab[i + 3, 0] / 6;
- yy = Math.Pow((1 - t), 3) * tab[i, 1] / 6 + (3 * Math.Pow(t, 3) - 6 * Math.Pow(t, 2) + 4) * tab[i + 1, 1] / 6 + (-3 * Math.Pow(t, 3) + 3 * Math.Pow(t, 2) + 3 * t + 1) * tab[i + 2, 1] / 6 + Math.Pow(t, 3) * tab[i + 3, 1] / 6;
- for (i = 1; i < 4; i++)
- {
- for (t = 0.001; t < 1; t = t + 0.001)
- {
- x = Math.Pow((1 - t), 3) * tab[i, 0] / 6 + (3 * Math.Pow(t, 3) - 6 * Math.Pow(t, 2) + 4) * tab[i + 1, 0] / 6 + (-3 * Math.Pow(t, 3) + 3 * Math.Pow(t, 2) + 3 * t + 1) * tab[i + 2, 0] / 6 + Math.Pow(t, 3) * tab[i + 3, 0] / 6;
- y = Math.Pow((1 - t), 3) * tab[i, 1] / 6 + (3 * Math.Pow(t, 3) - 6 * Math.Pow(t, 2) + 4) * tab[i + 1, 1] / 6 + (-3 * Math.Pow(t, 3) + 3 * Math.Pow(t, 2) + 3 * t + 1) * tab[i + 2, 1] / 6 + Math.Pow(t, 3) * tab[i + 3, 1] / 6;
- g.DrawLine(pen1, (float)(xx), (float)(yy), (float)(x), (float)(y));
- xx = x;
- yy = y;
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement