Facebook
From RafaƂ Senior Python DeveloperRC8, 6 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 260
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10.  
  11. namespace GrafikaLabki4
  12. {
  13.     public partial class Form1 : Form
  14.     {
  15.         private System.Drawing.Pen pen1 = new System.Drawing.Pen(Color.Black, 1);
  16.         private System.Drawing.Pen pen2 = new System.Drawing.Pen(Color.Orange, 1);
  17.         private System.Drawing.Pen pen3 = new System.Drawing.Pen(Color.Red, 1);
  18.         private System.Drawing.Pen pen4 = new System.Drawing.Pen(Color.Green, 1);
  19.         private System.Drawing.Brush brush1 = new System.Drawing.SolidBrush(Color.Red);
  20.         private System.Drawing.Brush brush2 = new System.Drawing.SolidBrush(Color.Blue);
  21.  
  22.         public Form1()
  23.         {
  24.             InitializeComponent();
  25.         }
  26.  
  27.         private void Zad1_Click(object sender, EventArgs e)
  28.         {
  29.             Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
  30.             Graphics gr = Graphics.FromImage(bmp);
  31.  
  32.             int srodekX = pictureBox1.Width / 2, srodekY = pictureBox1.Height / 2, maxX = pictureBox1.Width, maxY = pictureBox1.Height;
  33.             gr.DrawLine(pen1, 0, srodekY, maxX, srodekY);
  34.             gr.DrawLine(pen1, srodekX, 0, srodekX, maxY);
  35.  
  36.             int x0 = pictureBox1.Width / 2, y0 = pictureBox1.Height / 2, r = (pictureBox1.Height / 2) - 100;
  37.             double teta = 0;
  38.             int x1, y1, x2, y2;
  39.             int ilePkt = 20;
  40.             int.TryParse(textBox12.Text, out ilePkt);
  41.  
  42.             Point t = new Point();
  43.             int tmp;
  44.  
  45.             int.TryParse(textBox3.Text, out tmp);
  46.             t.X = tmp;
  47.             int.TryParse(textBox4.Text, out tmp);
  48.             t.Y = tmp;
  49.  
  50.             Point[] punkty = new Point[ilePkt];
  51.             Point[] punktyN = new Point[ilePkt];
  52.             for (int i = 0; i < ilePkt; i++)
  53.             {
  54.                 x1 = (int)(r * Math.Sin(teta) + x0);
  55.                 y1 = (int)(r * Math.Cos(teta) + y0);
  56.                 x2 = x1 + t.X;
  57.                 y2 = y1 - t.Y;
  58.                 punkty[i] = new Point(x1, y1);
  59.                 punktyN[i] = new Point(x2, y2);
  60.                 teta += ((360.0 / ilePkt) * Math.PI) / 180.0;
  61.             }
  62.  
  63.             for (int i = 0; i < ilePkt; i++)
  64.             {
  65.                 for (int j = 0; j < ilePkt - 1; j++)
  66.                 {
  67.                     gr.DrawLine(pen3, punkty[i], punkty[j]);
  68.                     gr.DrawLine(pen4, punktyN[i], punktyN[j]);
  69.                 }
  70.             }
  71.  
  72.             pictureBox1.Image = bmp;
  73.         }
  74.  
  75.         private void textBox2_TextChanged(object sender, EventArgs e)
  76.         {
  77.         }
  78.  
  79.         private void Zad2_Click(object sender, EventArgs e)
  80.         {
  81.             Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
  82.             Graphics gr = Graphics.FromImage(bmp);
  83.  
  84.             int srodekX = pictureBox1.Width / 2, srodekY = pictureBox1.Height / 2, maxX = pictureBox1.Width, maxY = pictureBox1.Height;
  85.             gr.DrawLine(pen1, 0, srodekY, maxX, srodekY);
  86.             gr.DrawLine(pen1, srodekX, 0, srodekX, maxY);
  87.  
  88.             int x0 = pictureBox1.Width / 2, y0 = pictureBox1.Height / 2, r = (pictureBox1.Height / 2) - 100;
  89.             double teta = 0;
  90.             int x1, y1, x2, y2;
  91.             int ilePkt = 20;
  92.             int.TryParse(textBox13.Text, out ilePkt);
  93.  
  94.             double Sx, Sy;
  95.  
  96.             double.TryParse(textBox7.Text, out Sx);
  97.             double.TryParse(textBox8.Text, out Sy);
  98.  
  99.             Point[] punkty = new Point[ilePkt];
  100.             Point[] punktyN = new Point[ilePkt];
  101.             for (int i = 0; i < ilePkt; i++)
  102.             {
  103.                 x1 = (int)(r * Math.Sin(teta) + x0);
  104.                 y1 = (int)(r * Math.Cos(teta) + y0);
  105.                 x2 = (int)(x1 * Sx);
  106.                 y2 = (int)(y1 * Sy);
  107.                 punkty[i] = new Point(x1, y1);
  108.                 punktyN[i] = new Point(x2, y2);
  109.                 teta += ((360.0 / ilePkt) * Math.PI) / 180.0;
  110.             }
  111.  
  112.             for (int i = 0; i < ilePkt; i++)
  113.             {
  114.                 for (int j = 0; j < ilePkt - 1; j++)
  115.                 {
  116.                     gr.DrawLine(pen3, punkty[i], punkty[j]);
  117.                     gr.DrawLine(pen4, punktyN[i], punktyN[j]);
  118.                 }
  119.             }
  120.  
  121.             pictureBox1.Image = bmp;
  122.         }
  123.  
  124.         private void Zad3_Click(object sender, EventArgs e)
  125.         {
  126.             Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
  127.             Graphics gr = Graphics.FromImage(bmp);
  128.  
  129.             int srodekX = pictureBox1.Width / 2, srodekY = pictureBox1.Height / 2, maxX = pictureBox1.Width, maxY = pictureBox1.Height;
  130.             gr.DrawLine(pen1, 0, srodekY, maxX, srodekY);
  131.             gr.DrawLine(pen1, srodekX, 0, srodekX, maxY);
  132.  
  133.             int x0 = pictureBox1.Width / 2, y0 = pictureBox1.Height / 2, r = (pictureBox1.Height / 2) - 100;
  134.             double teta = 0;
  135.             double tetaP = 0;
  136.             int tmp;
  137.             int x1, y1, x2, y2;
  138.             int ilePkt = 20;
  139.             int.TryParse(textBox10.Text, out ilePkt);
  140.  
  141.             int.TryParse(textBox11.Text, out tmp);
  142.             teta = tmp * Math.PI / 180.0;
  143.  
  144.             Point[] punkty = new Point[ilePkt];
  145.             Point[] punktyN = new Point[ilePkt];
  146.             for (int i = 0; i < ilePkt; i++)
  147.             {
  148.                 x1 = (int)(r * Math.Sin(tetaP) + x0);
  149.                 y1 = (int)(r * Math.Cos(tetaP) + y0);
  150.  
  151.                 x2 = (int)((r * Math.Sin(tetaP)) * Math.Cos(teta) - (r * Math.Cos(tetaP)) * Math.Sin(teta) + x0);
  152.                 y2 = (int)((r * Math.Cos(tetaP)) * Math.Cos(teta) + (r * Math.Sin(tetaP)) * Math.Sin(teta) + y0);
  153.  
  154.                 punkty[i] = new Point(x1, y1);
  155.                 punktyN[i] = new Point(x2, y2);
  156.                 tetaP += ((360.0 / ilePkt) * Math.PI) / 180.0;
  157.             }
  158.  
  159.             for (int i = 0; i < ilePkt; i++)
  160.             {
  161.                 for (int j = 0; j < ilePkt - 1; j++)
  162.                 {
  163.                     gr.DrawLine(pen3, punkty[i], punkty[j]);
  164.                     gr.DrawLine(pen4, punktyN[i], punktyN[j]);
  165.                 }
  166.             }
  167.  
  168.             pictureBox1.Image = bmp;
  169.         }
  170.  
  171.         private void Zad4_Click(object sender, EventArgs e)
  172.         {
  173.             Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
  174.             Graphics gr = Graphics.FromImage(bmp);
  175.  
  176.             int srodekX = pictureBox1.Width / 2, srodekY = pictureBox1.Height / 2, maxX = pictureBox1.Width, maxY = pictureBox1.Height;
  177.             gr.DrawLine(pen1, 0, srodekY, maxX, srodekY);
  178.             gr.DrawLine(pen1, srodekX, 0, srodekX, maxY);
  179.  
  180.             int x0 = pictureBox1.Width / 2, y0 = pictureBox1.Height / 2, r = (pictureBox1.Height / 2) - 100;
  181.             double teta = 0;
  182.             double tetaP = 0;
  183.             int tmp;
  184.             int x1, y1, x2, y2;
  185.             int ilePkt = 20;
  186.             int.TryParse(textBox1.Text, out ilePkt);
  187.  
  188.             int.TryParse(textBox2.Text, out tmp);
  189.             teta = tmp * Math.PI / 180.0;
  190.  
  191.             Point t = new Point();
  192.             int.TryParse(textBox5.Text, out tmp);
  193.             t.X = tmp;
  194.             int.TryParse(textBox6.Text, out tmp);
  195.             t.Y = tmp;
  196.  
  197.             Point[] punkty = new Point[ilePkt];
  198.             Point[] punktyN = new Point[ilePkt];
  199.             for (int i = 0; i < ilePkt; i++)
  200.             {
  201.                 x1 = (int)(r * Math.Sin(tetaP) + x0);
  202.                 y1 = (int)(r * Math.Cos(tetaP) + y0);
  203.  
  204.                 x2 = (int)((r * Math.Sin(tetaP)) * Math.Cos(teta) - (r * Math.Cos(tetaP)) * Math.Sin(teta) + x0 + t.X);
  205.                 y2 = (int)((r * Math.Cos(tetaP)) * Math.Cos(teta) + (r * Math.Sin(tetaP)) * Math.Sin(teta) + y0 - t.Y);
  206.  
  207.                 punkty[i] = new Point(x1, y1);
  208.                 punktyN[i] = new Point(x2, y2);
  209.                 tetaP += ((360.0 / ilePkt) * Math.PI) / 180.0;
  210.             }
  211.  
  212.             for (int i = 0; i < ilePkt; i++)
  213.             {
  214.                 for (int j = 0; j < ilePkt - 1; j++)
  215.                 {
  216.                     gr.DrawLine(pen3, punkty[i], punkty[j]);
  217.                     gr.DrawLine(pen4, punktyN[i], punktyN[j]);
  218.                 }
  219.             }
  220.  
  221.             pictureBox1.Image = bmp;
  222.         }
  223.  
  224.         private void Form1_Load(object sender, EventArgs e)
  225.         {
  226.  
  227.         }
  228.     }
  229. }
  230.