ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. 
ДСмонстрация эффСкта "Π°Π»ΡŒΡ„Π°β€“ΡΠΌΠ΅ΡˆΠ΅Π½ΠΈΡ"

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Алгоритм Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ сначала ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ массивы ΠΈΠ· Π²Π΅Ρ€ΡˆΠΈΠ½ Ρ„ΠΈΠ³ΡƒΡ€, Π·Π°Ρ‚Π΅ΠΌ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ ΠΏΠΎ Ρ‚Ρ€ΠΈ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π΅ΠΊ, образуя ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½. Π—Π°Ρ‚Π΅ΠΌ ΠŸΠΎΠ»ΠΈΠ³ΠΎΠ½Ρ‹ ΡΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΠΎ Π΄Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΈ Π½Π° Π±Π»ΠΈΠΆΠ½ΠΈΡ… ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π°Ρ… ΠΎΡ‚Ρ€ΠΈΡΠΎΠ²Ρ‹Π²Π°ΡŽΡ‚ΡΡ дальниС ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Ρ‹ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… видимости ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π° ΠΈ Ρ†Π²Π΅Ρ‚ Π΄Π°Π»ΡŒΠ½ΠΈΡ… ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½ΠΎΠ² складываСтся Π² RGBΠΌΠΎΠ΄Π΅Π»ΠΈ, получая Π½ΠΎΠ²Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚. Π—Π°Ρ‚Π΅ΠΌ ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ проСкция прСобразовываСтся Π² Π²ΠΈΠ΄ΠΎΠ²ΡƒΡŽ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ДСмонстрация эффСкта "Π°Π»ΡŒΡ„Π°β€“ΡΠΌΠ΅ΡˆΠ΅Π½ΠΈΡ" (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ прилоТСния

Π”Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ срСдство ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄Π½Ρƒ подсистСму, которая являСтся Π³Π»Π°Π²Π½ΠΎΠΉ. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Π³Π»Π°Π²Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠΎΠΉ являСтся Ρ„ΠΎΡ€ΠΌΠ° Form1. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ прСдставлСна Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 1.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Рисунок 1 — Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ — ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Ρ„ΠΎΡ€ΠΌΡ‹ «Form1.cs» — Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ интСрфСйс ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚Π°ΠΉΠΌΠ΅Ρ€ для ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π° ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹.

ΠœΠΎΠ΄ΡƒΠ»ΡŒ описания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² «Class1.cs» -содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ… ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ графичСской ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса

Главная Ρ„ΠΎΡ€ΠΌΠ° Form1. cs Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ интСрфСйс ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ элСмСнтом Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ являСтся ΠΎΠΊΠ½ΠΎ изобраТСния, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ рисуСтся Ρ‚Ρ€Ρ‘Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. Листинг Ρ„ΠΎΡ€ΠΌΡ‹ Form1. cs ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ А.

Π€ΠΎΡ€ΠΌΠ°Form1.cs прСдставлСна Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 2.

ΠžΠ±Ρ‰ΠΈΠΉ Π²ΠΈΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Рисунок 2 — ΠžΠ±Ρ‰ΠΈΠΉ Π²ΠΈΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠŸΠ ΠžΠ“Π ΠΠœΠœΠ˜Π ΠžΠ’ΠΠΠ˜Π•

БпСцификацияклассов

Π’ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ выполнСния поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ Π±Ρ‹Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ классы, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ понятия, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ:

1) structPoint — структура, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π°Ρ Ρ‚ΠΎΡ‡ΠΊΠΈ Π² ΠΏΡ€ΠΎΡΡ‚ранствС.

Поля:

  • ? poligonlist — содСрТитполигон, описанный Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌΠΈ Ρ‚ΠΎΡ‡Π΅ΠΊ;
  • ? realpointslis — содСрТитпрСобразованноС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π΅;
  • ? pointslist — ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π΅;
  • ? sdviglist — содСрТит сортированныС Π΄Ρ€ΡƒΠ³-Π·Π°-Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Ρ‹

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹:

  • ? SotrPoligons — сортируСт ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Ρ‹ для отрисовки Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… ΠΈ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ…;
  • ? SetColor — устанавливаСт ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π°.
  • 2) ClassGraphicObject — класс, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.

Поля:

  • ? x — содСрТиткоординату x ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ;
  • ? y — содСрТиткоординату y ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ;
  • ? z — содСрТиткоординату z ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ;

Бвойства:

  • ? sdvig-считаСт ΠΏΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Ρ‹, ΠΈΠ΄ΡƒΡ‰ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ Π·Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ;
  • ? viewtransformation-ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΡŽ Π² ΠΏΠ΅Ρ€ΡΠΏΠ΅ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ;
  • ? Find — Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «true» ΠΈΠ»ΠΈ «false», Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, собран ΠΊΠ»ΡŽΡ‡ ΠΈΠ³Ρ€ΠΎΠΊΠΎΠΌ ΠΈΠ»ΠΈ Π½Π΅Ρ‚;
  • 3) Scen — класс, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ пСрСрисовку изобраТСния Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ.

Поля:

? listobjects — содСрТит массив, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ для пСрСрисовки .

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹:

  • ? Clear — Π·Π°Π»ΠΈΠ²Π°Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΡƒ Π±Π΅Π»Ρ‹ΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ;
  • ? FillPolygon — заполняСт ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Ρ‹ пСрСсчитанным ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ;
  • ? DrawPolygon — рисуСт Π½Π° ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π°Ρ… Ρ‡Π΅Ρ€Π½ΡƒΡŽ Ρ€Π°ΠΌΠΊΡƒ;
  • ? FillPolygonBrush — Π·Π°Π΄Π°Ρ‘Ρ‚ кисти для закраски пСрСсчитанноС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅;
  • ? Draw () — рисуСт ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.
  • 4) ProgramΠ±Π°Π·ΠΎΠ²Ρ‹ΠΉ класс, производящий всС основныС расчёты ΠΈ ΠΎΡ‚рисовку сцСны.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹:

— Initialize () — ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ основныС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹.

ОписаниС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π½Π° Π΅ΡΡ‚СствСнном языкС

Алгоритм Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ сначала ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ массивы ΠΈΠ· Π²Π΅Ρ€ΡˆΠΈΠ½ Ρ„ΠΈΠ³ΡƒΡ€, Π·Π°Ρ‚Π΅ΠΌ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ ΠΏΠΎ Ρ‚Ρ€ΠΈ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π΅ΠΊ, образуя ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½. Π—Π°Ρ‚Π΅ΠΌ ΠŸΠΎΠ»ΠΈΠ³ΠΎΠ½Ρ‹ ΡΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΠΎ Π΄Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΈ Π½Π° Π±Π»ΠΈΠΆΠ½ΠΈΡ… ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π°Ρ… ΠΎΡ‚Ρ€ΠΈΡΠΎΠ²Ρ‹Π²Π°ΡŽΡ‚ΡΡ дальниС ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Ρ‹ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… видимости ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π° ΠΈ Ρ†Π²Π΅Ρ‚ Π΄Π°Π»ΡŒΠ½ΠΈΡ… ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½ΠΎΠ² складываСтся Π² RGBΠΌΠΎΠ΄Π΅Π»ΠΈ, получая Π½ΠΎΠ²Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚. Π—Π°Ρ‚Π΅ΠΌ ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ проСкция прСобразовываСтся Π² Π²ΠΈΠ΄ΠΎΠ²ΡƒΡŽ ΠΈ ΠΎΡ‚рисовываСтся Π½Π° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‡ΠΈΡ‰Π΅Π½Π½ΠΎΠΌ Ρ„ΠΎΠ½Π΅.

Π­Ρ„Ρ„Π΅ΠΊΡ‚ Π°Π»ΡŒΡ„Π° — смСшСния рСализуСтся Π·Π° ΡΡ‡Π΅Ρ‚ измСнСния Π°Π»ΡŒΡ„Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ RGBΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΡ€ΠΈ отрисовкС.

На Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 3 прСдставлСна Π±Π»ΠΎΠΊ-схСма Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ прилоТСния.

Рисунок 3 — Π‘Π»ΠΎΠΊ-схСмаприлоТСния На Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 4 прСдставлСна Π±Π»ΠΎΠΊ-схСма Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° рисования изобраТСния.

Π‘Π»ΠΎΠΊ-схСма Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° рисования изобраТСния.

Рисунок 4 — Π‘Π»ΠΎΠΊ-схСма Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° рисования изобраТСния.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ