Advertisement
przemo539

LABYGRAFIKA

Apr 25th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.65 KB | None | 0 0
  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 WindowsFormsApplication2
  12. {
  13. public partial class Form1 : Form
  14. {
  15. private System.Drawing.Graphics g;
  16. private System.Drawing.Pen pen1 = new System.Drawing.Pen(Color.Blue, 3);
  17.  
  18. public Form1()
  19. {
  20. InitializeComponent();
  21. }
  22.  
  23. double obliczWyznacznik(Point OdcinekPunkt1, Point OdcinekPunkt2, Point R)
  24. {
  25. double wyznacznik = OdcinekPunkt1.X* OdcinekPunkt2.Y*1+ OdcinekPunkt1.Y*1*R.X+1* OdcinekPunkt2.X*R.Y-1* OdcinekPunkt2.Y*R.X- OdcinekPunkt1.Y* OdcinekPunkt2.X*1- OdcinekPunkt1.X*1*R.Y;
  26. return wyznacznik;
  27. }
  28. bool PoKtorejStronie_Punkt(Point OdcinekPunkt1, Point OdcinekPunkt2, Point R)
  29. {
  30. double wyznacznik = obliczWyznacznik(OdcinekPunkt1, OdcinekPunkt2, R);
  31. if (wyznacznik < 0)
  32. return true;
  33. else
  34. return false;
  35.  
  36. }
  37. private void PoKtorejStronieClicked(object sender, EventArgs e)
  38. {
  39. Point P = new Point(int.Parse(Px.Text), int.Parse(Py.Text));
  40. Point Q = new Point(int.Parse(Qx.Text), int.Parse(Qy.Text));
  41. Point R = new Point(int.Parse(Rx.Text), int.Parse(Ry.Text));
  42. g.DrawLine(pen1, P, Q);
  43. g.DrawLine(pen1, R, R);
  44. bool lewoCzyPrawo = PoKtorejStronie_Punkt(P, Q, R);
  45. if (lewoCzyPrawo)
  46. Odpowiedz1.Text = "Po Lewej";
  47. else
  48. Odpowiedz1.Text = "Po Prawej";
  49. }
  50.  
  51. bool CzyPoTejSamejStronie(Point OdcinekPunkt1, Point OdcinekPunkt2, Point A, Point B)
  52. {
  53. bool stronaA = PoKtorejStronie_Punkt(OdcinekPunkt1, OdcinekPunkt2, A);
  54. bool stronaB = PoKtorejStronie_Punkt(OdcinekPunkt1, OdcinekPunkt2, B);
  55. if (stronaA == stronaB)
  56. return true;
  57. else
  58. return false;
  59. }
  60.  
  61. private void CzyPoTejSamejStronie_CLICKED(object sender, EventArgs e)
  62. {
  63. Point P = new Point(int.Parse(Px.Text), int.Parse(Py.Text));
  64. Point Q = new Point(int.Parse(Qx.Text), int.Parse(Qy.Text));
  65. Point R = new Point(int.Parse(Rx.Text), int.Parse(Ry.Text));
  66. Point D = new Point(int.Parse(Dx.Text), int.Parse(Dy.Text));
  67. bool sprawdzenie = CzyPoTejSamejStronie(P, Q, R, D);
  68. if (sprawdzenie)
  69. odpowiedz2.Text = "TAK";
  70. else
  71. odpowiedz2.Text = "NIE";
  72. }
  73. bool CzySiePrzecinaja(Point A, Point B, Point C, Point D)
  74. {
  75. bool sprawdzenie = CzyPoTejSamejStronie(A, B, C, D);
  76. bool sprawdzenie2 = CzyPoTejSamejStronie(C, D, A, B);
  77. if (!sprawdzenie && sprawdzenie == sprawdzenie2)
  78. return true;
  79. else
  80. return false;
  81. }
  82.  
  83. private void CzyPrzecinajaSie_CLICKED(object sender, EventArgs e)
  84. {
  85. Point P = new Point(int.Parse(Px.Text), int.Parse(Py.Text));
  86. Point Q = new Point(int.Parse(Qx.Text), int.Parse(Qy.Text));
  87. Point R = new Point(int.Parse(Rx.Text), int.Parse(Ry.Text));
  88. Point D = new Point(int.Parse(Dx.Text), int.Parse(Dy.Text));
  89. bool sprawdzenie = CzySiePrzecinaja(P, Q, R, D);
  90. if (sprawdzenie)
  91. odpowiedz3.Text = "TAK";
  92. else
  93. odpowiedz3.Text = "NIE";
  94. }
  95. }
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement