Advertisement
Guest User

Untitled

a guest
Mar 18th, 2019
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.95 KB | None | 0 0
  1. private void button15_Click(object sender, EventArgs e)
  2. {
  3. Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
  4. Graphics gr = Graphics.FromImage(bmp);
  5.  
  6. int x0 = pictureBox1.Width / 2, y0 = pictureBox1.Height / 2, r= (pictureBox1.Height / 2) - 20;
  7. double teta;
  8. int x1, y1;
  9. int R = (int)(pictureBox1.Width / 2.0 - 20);
  10.  
  11. Point[] punkty = new Point[r];
  12. for (int j = 0; j < 4; j++)
  13. {
  14. teta = (j*90*Math.PI)/180.0;
  15. r = (pictureBox1.Height / 2) - 20;
  16. int i = 0;
  17. while (r > 0)
  18. {
  19. x1 = (int)(r * Math.Sin(teta) + x0);
  20. y1 = (int)(r * Math.Cos(teta) + y0);
  21. punkty[i++] = new Point(x1, y1);
  22. teta -= ((5.0 * Math.PI) / 180.0);
  23. r--;
  24. }
  25. gr.DrawCurve(pen1, punkty);
  26. }
  27. gr.DrawEllipse(pen1, 20, 20, 2 * R, 2 * R);
  28.  
  29.  
  30. pictureBox1.Image = bmp;
  31. }
  32.  
  33. private void button16_Click(object sender, EventArgs e)
  34. {
  35. Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
  36. Graphics gr = Graphics.FromImage(bmp);
  37.  
  38. int x0 = pictureBox1.Width / 2, y0 = pictureBox1.Height / 2, r = (pictureBox1.Height / 2) - 20;
  39. double teta = 0;
  40. int x1, y1;
  41. int ilePkt = 20;
  42. int.TryParse(textBox1.Text, out ilePkt);
  43.  
  44. Point[] punkty = new Point[ilePkt];
  45. for (int i = 0; i < ilePkt; i++)
  46. {
  47. x1 = (int)(r * Math.Sin(teta) + x0);
  48. y1 = (int)(r * Math.Cos(teta) + y0);
  49. punkty[i] = new Point(x1, y1);
  50. teta += ((360.0/ilePkt) * Math.PI) / 180.0;
  51. }
  52.  
  53. for (int i=0; i<ilePkt; i++)
  54. {
  55. for (int j=0; j<ilePkt-1; j++)
  56. {
  57. gr.DrawLine(pen1, punkty[i], punkty[j]);
  58. }
  59. }
  60. pictureBox1.Image = bmp;
  61. }
  62.  
  63. private void button17_Click(object sender, EventArgs e)
  64. {
  65. Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
  66. Graphics gr = Graphics.FromImage(bmp);
  67.  
  68. int ile = 29;
  69. int.TryParse(textBox1.Text, out ile);
  70.  
  71. Point[][] tab = new Point[4][];
  72. tab[0] = new Point[ile];
  73. tab[1] = new Point[ile];
  74. tab[2] = new Point[ile];
  75. tab[3] = new Point[ile];
  76.  
  77. for (int i=0; i<ile; i++)
  78. {
  79. tab[0][i] = new Point(i*(pictureBox1.Width/ile), 0);
  80. tab[1][i] = new Point(pictureBox1.Width, i*(pictureBox1.Height/ile));
  81. tab[2][i] = new Point(pictureBox1.Width- i*(pictureBox1.Width/ile), pictureBox1.Height);
  82. tab[3][i] = new Point(0, pictureBox1.Height - i*(pictureBox1.Height/ile));
  83. }
  84.  
  85. int ileFib = 2, fib1=1, fib2=1, fib3=0;
  86. for (int i=0; i<ile*4; i++)
  87. {
  88. fib3 = fib1 + fib2;
  89. fib1 = fib2;
  90. fib2 = fib3;
  91. if (fib3 < ile*4) ileFib++;
  92. }
  93.  
  94. int[] tabFib = new int[ileFib];
  95. tabFib[0] = 1;
  96. tabFib[1] = 1;
  97. for (int i=2; i<ileFib; i++)
  98. tabFib[i] = tabFib[i-1] + tabFib[i-2];
  99.  
  100. bool czy = false;
  101.  
  102. ///////////////1
  103. for (int i = 0; i < ile; i++)
  104. {
  105. for (int j = 0; j < ile; j++)
  106. {
  107. for (int z = 0; z < ileFib; z++)
  108. if (ile + j - i == tabFib[z])
  109. czy = true;
  110.  
  111. if (czy) gr.DrawLine(pen1, tab[0][i], tab[1][j]);
  112. czy = false;
  113. }
  114.  
  115. for (int j = 0; j < ile; j++)
  116. {
  117. for (int z = 0; z < ileFib; z++)
  118. if (2 * ile + j - i == tabFib[z])
  119. czy = true;
  120.  
  121. if (czy) gr.DrawLine(pen1, tab[0][i], tab[2][j]);
  122. czy = false;
  123. }
  124.  
  125. for (int j = 0; j < ile; j++)
  126. {
  127. for (int z = 0; z < ileFib; z++)
  128. if (3 * ile + j - i == tabFib[z])
  129. czy = true;
  130.  
  131. if (czy) gr.DrawLine(pen1, tab[0][i], tab[3][j]);
  132. czy = false;
  133. }
  134. }
  135. //'
  136. for (int i = 0; i < ile; i++)
  137. {
  138. for (int j = 0; j < ile; j++)
  139. {
  140. for (int z = 0; z < ileFib; z++)
  141. if (ile + j - i == tabFib[z])
  142. czy = true;
  143.  
  144. if (czy) gr.DrawLine(pen1, tab[1][i], tab[2][j]);
  145. czy = false;
  146. }
  147.  
  148. for (int j = 0; j < ile; j++)
  149. {
  150. for (int z = 0; z < ileFib; z++)
  151. if (2 * ile + j - i == tabFib[z])
  152. czy = true;
  153.  
  154. if (czy) gr.DrawLine(pen1, tab[1][i], tab[3][j]);
  155. czy = false;
  156. }
  157.  
  158. for (int j = 0; j < ile; j++)
  159. {
  160. for (int z = 0; z < ileFib; z++)
  161. if (3 * ile + j - i == tabFib[z])
  162. czy = true;
  163.  
  164. if (czy) gr.DrawLine(pen1, tab[1][i], tab[0][j]);
  165. czy = false;
  166. }
  167. }
  168. //'
  169. for (int i = 0; i < ile; i++)
  170. {
  171. for (int j = 0; j < ile; j++)
  172. {
  173. for (int z = 0; z < ileFib; z++)
  174. if (ile + j - i == tabFib[z])
  175. czy = true;
  176.  
  177. if (czy) gr.DrawLine(pen1, tab[2][i], tab[3][j]);
  178. czy = false;
  179. }
  180.  
  181. for (int j = 0; j < ile; j++)
  182. {
  183. for (int z = 0; z < ileFib; z++)
  184. if (2 * ile + j - i == tabFib[z])
  185. czy = true;
  186.  
  187. if (czy) gr.DrawLine(pen1, tab[2][i], tab[0][j]);
  188. czy = false;
  189. }
  190.  
  191. for (int j = 0; j < ile; j++)
  192. {
  193. for (int z = 0; z < ileFib; z++)
  194. if (3 * ile + j - i == tabFib[z])
  195. czy = true;
  196.  
  197. if (czy) gr.DrawLine(pen1, tab[2][i], tab[1][j]);
  198. czy = false;
  199. }
  200. }
  201. //'
  202. for (int i = 0; i < ile; i++)
  203. {
  204. for (int j = 0; j < ile; j++)
  205. {
  206. for (int z = 0; z < ileFib; z++)
  207. if (ile + j - i == tabFib[z])
  208. czy = true;
  209.  
  210. if (czy) gr.DrawLine(pen1, tab[3][i], tab[0][j]);
  211. czy = false;
  212. }
  213.  
  214. for (int j = 0; j < ile; j++)
  215. {
  216. for (int z = 0; z < ileFib; z++)
  217. if (2 * ile + j - i == tabFib[z])
  218. czy = true;
  219.  
  220. if (czy) gr.DrawLine(pen1, tab[3][i], tab[1][j]);
  221. czy = false;
  222. }
  223.  
  224. for (int j = 0; j < ile; j++)
  225. {
  226. for (int z = 0; z < ileFib; z++)
  227. if (3 * ile + j - i == tabFib[z])
  228. czy = true;
  229.  
  230. if (czy) gr.DrawLine(pen1, tab[3][i], tab[2][j]);
  231. czy = false;
  232. }
  233. }
  234.  
  235. pictureBox1.Image = bmp;
  236. }
  237.  
  238. private void button22a_Click(object sender, EventArgs e)
  239. {
  240. Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
  241. Graphics gr = Graphics.FromImage(bmp);
  242.  
  243. Point p1 = new Point(0,0);
  244. Point p2 = new Point(pictureBox1.Width, 0);
  245. Point p3 = new Point(pictureBox1.Width, pictureBox1.Height);
  246. Point p4 = new Point(0, pictureBox1.Height);
  247. Point tmp = p1;
  248.  
  249. double mi = 0;
  250. Double.TryParse(textBox1.Text, out mi);
  251. for (int i=0; i<31; i++)
  252. {
  253. gr.DrawLine(pen1, p1, p2);
  254. gr.DrawLine(pen1, p2, p3);
  255. gr.DrawLine(pen1, p3, p4);
  256. gr.DrawLine(pen1, p4, p1);
  257.  
  258. p1.X = (int)((1 - mi) * p1.X + mi * p2.X);
  259. p1.Y = (int)((1 - mi) * p1.Y + mi * p2.Y);
  260.  
  261. p2.X = (int)((1 - mi) * p2.X + mi * p3.X);
  262. p2.Y = (int)((1 - mi) * p2.Y + mi * p3.Y);
  263.  
  264. p3.X = (int)((1 - mi) * p3.X + mi * p4.X);
  265. p3.Y = (int)((1 - mi) * p3.Y + mi * p4.Y);
  266.  
  267. p4.X = (int)((1 - mi) * p4.X + mi * tmp.X);
  268. p4.Y = (int)((1 - mi) * p4.Y + mi * tmp.Y);
  269.  
  270. tmp = p1;
  271. }
  272.  
  273. pictureBox1.Image = bmp;
  274. }
  275.  
  276.  
  277.  
  278. private void button1_Click(object sender, EventArgs e)
  279. {
  280. Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
  281. Graphics gr = Graphics.FromImage(bmp);
  282.  
  283. gr.DrawLine(pen3, 0, pictureBox1.Height / 2, pictureBox1.Width, pictureBox1.Height / 2);
  284. gr.DrawLine(pen3, pictureBox1.Width / 2, 0, pictureBox1.Width / 2, pictureBox1.Height);
  285.  
  286. Point[] punkty = new Point[4];
  287. int tmp = 0;
  288.  
  289. int.TryParse(textBox1.Text, out tmp);
  290. punkty[0].X = tmp;
  291. int.TryParse(textBox2.Text, out tmp);
  292. punkty[0].Y = tmp;
  293.  
  294. int.TryParse(textBox3.Text, out tmp);
  295. punkty[1].X = tmp;
  296. int.TryParse(textBox4.Text, out tmp);
  297. punkty[1].Y = tmp;
  298.  
  299. int.TryParse(textBox5.Text, out tmp);
  300. punkty[2].X = tmp;
  301. int.TryParse(textBox6.Text, out tmp);
  302. punkty[2].Y = tmp;
  303.  
  304. int.TryParse(textBox7.Text, out tmp);
  305. punkty[3].X = tmp;
  306. int.TryParse(textBox8.Text, out tmp);
  307. punkty[3].Y = tmp;
  308.  
  309. Point punkt_przeciecia = new Point();
  310.  
  311. double delta = (double)(punkty[1].X - punkty[0].X) * (double)(punkty[2].Y - punkty[3].Y) - (double)(punkty[2].X - punkty[3].X) * (double)(punkty[1].Y - punkty[0].Y);
  312. double delta_mi = 0;
  313. double mi;
  314.  
  315. gr.DrawLine(pen1, punkty[0].X + pictureBox1.Width / 2, (-1) * punkty[0].Y + pictureBox1.Height / 2, punkty[1].X + pictureBox1.Width / 2, (-1) * punkty[1].Y + pictureBox1.Height / 2);
  316. gr.DrawLine(pen2, punkty[2].X + pictureBox1.Width / 2, (-1) * punkty[2].Y + pictureBox1.Height / 2, punkty[3].X + pictureBox1.Width / 2, (-1) * punkty[3].Y + pictureBox1.Height / 2);
  317.  
  318. if (delta != 0)
  319. {
  320. delta_mi = (double)(punkty[2].X - punkty[0].X) * (double)(punkty[2].Y - punkty[3].Y) - (double)(punkty[2].X - punkty[3].X) * (double)(punkty[2].Y - punkty[0].Y);
  321. mi = delta_mi / delta;
  322. punkt_przeciecia.X = (int)((1 - mi) * punkty[0].X + mi * punkty[1].X);
  323. punkt_przeciecia.Y = (int)((1 - mi) * punkty[0].Y + mi * punkty[1].Y);
  324.  
  325. textBox9.Text = punkt_przeciecia.X.ToString();
  326. textBox10.Text = punkt_przeciecia.Y.ToString();
  327.  
  328. gr.FillEllipse(pen4, punkt_przeciecia.X + pictureBox1.Width/2 - 5, -1 *punkt_przeciecia.Y + pictureBox1.Height/2 - 5, 10, 10);
  329. }
  330. else
  331. MessageBox.Show("Proste dla podanych punktów są równoległe.");
  332.  
  333. pictureBox1.Image = bmp;
  334. }
  335. private void button2_Click(object sender, EventArgs e)
  336. {
  337. Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
  338. Graphics gr = Graphics.FromImage(bmp);
  339.  
  340. gr.DrawLine(pen3, 0, pictureBox1.Height / 2, pictureBox1.Width, pictureBox1.Height / 2);
  341. gr.DrawLine(pen3, pictureBox1.Width / 2, 0, pictureBox1.Width / 2, pictureBox1.Height);
  342.  
  343. Point po1 = new Point(), po2 = new Point();
  344. double a = 0, b = 0, c = 0, d = 0, teta = 0;
  345. double tmp = 0;
  346.  
  347. double.TryParse(textBox11.Text, out tmp);
  348. po1.X = (int)tmp;
  349. double.TryParse(textBox12.Text, out tmp);
  350. po1.Y = (int)tmp;
  351. double.TryParse(textBox13.Text, out tmp);
  352. po2.X = (int)tmp;
  353. double.TryParse(textBox14.Text, out tmp);
  354. po2.Y = (int)tmp;
  355.  
  356. double l1, l2;
  357. l1 = Math.Pow((Math.Pow(po1.X, 2) + Math.Pow(po1.Y, 2)),0.5);
  358. l2 = Math.Pow((Math.Pow(po2.X, 2) + Math.Pow(po2.Y, 2)), 0.5);
  359.  
  360. a = po1.X / l1;
  361. b = po1.Y / l1;
  362. c = po2.X / l2;
  363. d = po2.Y / l2;
  364.  
  365. double acbd = a * c + b * d;
  366. if (acbd > 0)
  367. teta = Math.Acos(acbd);
  368. else
  369. teta = Math.Acos(-1 * acbd);
  370.  
  371. gr.DrawLine(pen2, pictureBox1.Width/2, pictureBox1.Height/2, po1.X + pictureBox1.Width/2, (-1)*po1.Y + pictureBox1.Height/2);
  372. gr.DrawLine(pen1, pictureBox1.Width/2, pictureBox1.Height/2, po2.X + pictureBox1.Width/2, (-1)*po2.Y + pictureBox1.Height/2);
  373.  
  374. textBox15.Text = (teta * 180.0 / Math.PI).ToString();
  375.  
  376. pictureBox1.Image = bmp;
  377. }
  378.  
  379. private void button3_Click(object sender, EventArgs e)
  380. {
  381. Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
  382. Graphics gr = Graphics.FromImage(bmp);
  383.  
  384. gr.DrawLine( pen3, pictureBox1.Width/2, pictureBox1.Height / 2, pictureBox1.Width, pictureBox1.Height / 2 );
  385. gr.DrawLine( pen3, pictureBox1.Width / 2, 0, pictureBox1.Width / 2, pictureBox1.Height/2 );
  386. gr.DrawLine( pen3, pictureBox1.Width / 2, pictureBox1.Height/2, 0, (int)(pictureBox1.Height*(Math.Pow(3, 0.5)/2.0)) );
  387.  
  388. double p1x=0, p1y = 0, p1z = 0, p2x = 0, p2y = 0, p2z = 0, bx = 0, by = 0, bz = 0, dx = 0, dy = 0, dz = 0, nx = 0, ny = 0, nz = 0;
  389. double k = 0, mi = 0;
  390. double tmp=0;
  391.  
  392. double.TryParse(textBox16.Text, out tmp);
  393. p1x = (int)tmp;
  394. double.TryParse(textBox17.Text, out tmp);
  395. p1y = (int)tmp;
  396. double.TryParse(textBox18.Text, out tmp);
  397. p1z = (int)tmp;
  398. double.TryParse(textBox19.Text, out tmp);
  399. p2x = (int)tmp;
  400. double.TryParse(textBox20.Text, out tmp);
  401. p2y = (int)tmp;
  402. double.TryParse(textBox21.Text, out tmp);
  403. p2z = (int)tmp;
  404. double.TryParse(textBox22.Text, out tmp);
  405. nx = (int)tmp;
  406. double.TryParse(textBox23.Text, out tmp);
  407. ny = (int)tmp;
  408. double.TryParse(textBox24.Text, out tmp);
  409. nz = (int)tmp;
  410.  
  411. double.TryParse(textBox25.Text, out k);
  412.  
  413. bx = p1x;
  414. by = p1y;
  415. bz = p1z;
  416.  
  417. dx = p2x - p1x;
  418. dy = p2y - p1y;
  419. dz = p2z - p1z;
  420.  
  421. double nxb, nxd;
  422. nxb = nx * bx + ny * by + nz * bz;
  423. nxd = nx * dx + ny * dy + nz * dz;
  424.  
  425. if (nxd != 0)
  426. {
  427. mi = (k - nxb) / (nxd);
  428. textBox27.Text = ((bx + mi*dx).ToString());
  429. textBox28.Text = ((by + mi * dy).ToString());
  430. textBox29.Text = ((bz + mi * dz).ToString());
  431.  
  432. textBox26.Text = mi.ToString();
  433.  
  434. gr.DrawLine(pen1, (int)(p1x + pictureBox1.Width/2 - (Math.Pow(3, 0.5) / 2.0) * p1z), (int)(((-1)*p1y )+ pictureBox1.Height/ 2 + (Math.Pow(3, 0.5) / 2.0) * p1z), (int)(p2x + pictureBox1.Width/ 2 - (Math.Pow(3, 0.5) / 2.0) * p2z), (int)(((-1)*p2y) + pictureBox1.Height/ 2 + (Math.Pow(3, 0.5) / 2.0) * p2z));
  435.  
  436. gr.DrawLine(pen2, (int)(nx + pictureBox1.Width/2), (int)(pictureBox1.Height / 2), (int)(pictureBox1.Width / 2), (int)(-1*ny + pictureBox1.Height / 2) );
  437. gr.DrawLine(pen2, (int)(nx + pictureBox1.Width / 2), (int)(pictureBox1.Height / 2), (int)(pictureBox1.Width / 2 - (Math.Pow(3, 0.5) / 2.0) * nz), (int)(pictureBox1.Height / 2 + (Math.Pow(2, 0.5) / 2.0) * nz));
  438. gr.DrawLine(pen2, (int)(pictureBox1.Width / 2), (int)(-1 * ny + pictureBox1.Height / 2), (int)(pictureBox1.Width / 2 - (Math.Pow(3, 0.5) / 2.0) * nz), (int)(pictureBox1.Height / 2 + (Math.Pow(2, 0.5) / 2.0) * nz));
  439.  
  440. }
  441. else
  442. MessageBox.Show("b*d musi być różne 0");
  443.  
  444. pictureBox1.Image = bmp;
  445. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement