Π”ΠΈΠΏΠ»ΠΎΠΌ, курсовая, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π°
ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚

2D прСобразования

Лабораторная Ρ€Π°Π±ΠΎΡ‚Π° ΠšΡƒΠΏΠΈΡ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²ΡƒΡŽ Π£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ C# Windows Form. УстановитС элСмСнты управлСния Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ ΠΊΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ Π²Ρ‹ΡˆΠ΅. Для отрисовки Π³Ρ€Π°Ρ„ΠΈΠΊΠ° установитС Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ элСмСнт Picture. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ 2D ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ, ΠΏΠΎΠ²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Для выполнСния ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π² Π²ΠΈΠ΄Π΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

2D прСобразования (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Лабораторная Ρ€Π°Π±ΠΎΡ‚Π°

Π’Π΅ΠΌΠ° «2D прСобразования»

Π—Π°Π΄Π°Π½ΠΈΠ΅

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Windows Applications. Π’ΠΈΠ΄ прилоТСния ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π½Π° Ρ€ΠΈΡ. Π½ΠΈΠΆΠ΅.

Рис. 1

ИмСна ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ Π΄Π°ΠΉΡ‚Π΅ согласно Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ:

Командная кнопка btnName.

ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ rbName.

ВСкстовоС ΠΏΠΎΠ»Π΅ tbName.

На Ρ„ΠΎΡ€ΠΌΠ΅ размСститС элСмСнт panel, для Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ имя ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ panel1.

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ событиС Paint для элСмСнта panel.

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ класс Matrix для Π½Π΅Π³ΠΎ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρƒ:

using System.Drawing.Drawing2D;

ΠœΠ΅Ρ‚ΠΎΠ΄ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ указания:

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ C# Windows Form. УстановитС элСмСнты управлСния Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ ΠΊΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ Π²Ρ‹ΡˆΠ΅. Для отрисовки Π³Ρ€Π°Ρ„ΠΈΠΊΠ° установитС Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ элСмСнт Picture. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ 2D ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ, ΠΏΠΎΠ²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Для выполнСния ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π² Π²ΠΈΠ΄Π΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅ с ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ.

ΠšΡ€Π°Ρ‚ΠΊΠΈΠ΅ тСорСтичСскиС свСдСния для выполнСния Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ GDI+ позволяСт Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π°Ρ„Ρ„ΠΈΠ½Π½Ρ‹Π΅ прСобразования Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ Matrix. Π’Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ столбСц ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, Π·Π°Π΄Π°ΡŽΡ‰Π΅ΠΉ Π°Ρ„Ρ„ΠΈΠ½Π½ΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅, всСгда Ρ€Π°Π²Π΅Π½ (0, 0, 1), ΠΏΡ€ΠΈ создании ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Matrix Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡˆΠ΅ΡΡ‚ΡŒ чисСл Π² ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π΄Π²ΡƒΡ… столбцах. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ Matrix myMatrix = new Matrix (0, 1, -1, 0, 3, 4) создаСт ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ, ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π½ΡƒΡŽ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ рисункС.

язык ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Рис. 2

Класс инкапсулируСт ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ 3 Π½Π° 3 Π°Ρ„Ρ„ΠΈΠ½Π½ΠΎΠ³ΠΎ прСобразования, которая прСдставляСт гСомСтричСскоС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅. Π”Π°Π½Π½Ρ‹ΠΉ класс Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒΡΡ.

1. ΠšΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΡ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ ΠΈΠ»ΠΈ составныС прСобразования

Боставным ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ называСтся сСрия ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ примСняСмых ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ. Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡ:

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° A ΠŸΠΎΠ²ΠΎΡ€ΠΎΡ‚ Π½Π° 90 градусов.

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° B ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΠΎΡΠΈ X Ρ ΠΊΠΎΡΡ„Ρ„ΠΈΡ†ΠΈΠ΅Π½Ρ‚ΠΎΠΌ 2.

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° C Π‘Π΄Π²ΠΈΠ³ Π½Π° Ρ‚Ρ€ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ ΠΏΠΎ ΠΎΡΠΈ Y.

Если Π²Π·ΡΡ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½ΠΎΠ΅ прСдставлСниС для Ρ‚ΠΎΡ‡ΠΊΠΈ с ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ (2, 1) — [2 1 1] — ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ A, Π·Π°Ρ‚Π΅ΠΌ Π½Π° B, Π° Π·Π°Ρ‚Π΅ΠΌ Π½Π° C, Ρ‚ΠΎΡ‡ΠΊΠ° (2, 1) ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ подвСргнСтся Ρ‚Ρ€Π΅ΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ прСобразованиям.

[2 1 1]ABC = [-2 5 1]

ВмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ‚Ρ€ΠΈ части составного прСобразования Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°Ρ…, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ A, B ΠΈ C ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 3Π§3, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ всС составноС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ ABC = D. Π’ΠΎΠ³Π΄Π° ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‚ΠΎΡ‡ΠΊΠΈ Π½Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ D ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ, Ρ‡Ρ‚ΠΎ ΠΈ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‚ΠΎΡ‡ΠΊΠΈ Π½Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ A, B ΠΈ C.

[2 1 1]D = [-2 5 1]

На ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ рисункС ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ A, B, C ΠΈ D.

Класс Matrix содСрТит нСсколько ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² для составных ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ: Multiply, Rotate, RotateAt, Scale, Shear ΠΈ Translate. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ дСмонстрируСтся созданиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ составного прСобразования, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ Π½Π° 30 градусов, Π·Π°Ρ‚Π΅ΠΌ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ вдоль оси Y Ρ ΠΊΠΎΡΡ„Ρ„ΠΈΡ†ΠΈΠ΅Π½Ρ‚ΠΎΠΌ 2 ΠΈ ΡΠ΄Π²ΠΈΠ³ Π½Π° 5 Π΅Π΄ΠΈΠ½ΠΈΡ† вдоль оси X.

Matrix myMatrix = new Matrix ();

myMatrix.Rotate (30);

myMatrix.Scale (1, 2, MatrixOrder. Append);

myMatrix.Translate (5, 0, MatrixOrder. Append);

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€Ρ‹ Имя ОписаниС

Matrix () Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ экзСмпляр класса Matrix Π² Π²ΠΈΠ΄Π΅ Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹.

Matrix (Rectangle, Point[]) Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ экзСмпляр класса Matrix для гСомСтричСского прСобразования, опрСдСляСмого ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠΌ ΠΈ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ Ρ‚ΠΎΡ‡Π΅ΠΊ.

Matrix (RectangleF, PointF[]) Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ экзСмпляр класса Matrix для гСомСтричСского прСобразования, опрСдСляСмого ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠΌ ΠΈ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ Ρ‚ΠΎΡ‡Π΅ΠΊ.

Matrix (Single, Single, Single, Single, Single, Single) Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ экзСмпляр класса Matrix с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌΠΈ элСмСнтами.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Имя ОписаниС

Clone Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ Ρ‚ΠΎΡ‡Π½ΡƒΡŽ копию этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Matrix.

CreateObjRef Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит всю Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ для создания прокси-сСрвСра, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ для взаимодСйствия с ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ. (УнаслСдовано ΠΎΡ‚ MarshalByRefObject.)

Dispose ΠžΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ‚ всС рСсурсы, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Matrix.

Equals ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, являСтся Π»ΠΈ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Matrix ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π΅Π½ Π»ΠΈ ΠΎΠ½ ΡΡ‚ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Matrix. (ΠŸΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ Object. Equals (Object).)

Finalize ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Object ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ рСсурсы ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ очистки, ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Object Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡ‚ΠΈΠ»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ сборки мусора. (УнаслСдовано ΠΎΡ‚ Object.)

GetHashCode Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ…ΡΡˆ-ΠΊΠΎΠ΄. (ΠŸΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ Object. GetHashCode ().)

GetLifetimeService Π˜Π·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ обслуТивания Π²ΠΎ Π²Ρ€Π΅ΠΌΡ сущСствования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ управляСт ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΎΠΉ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ сущСствования Π΄Π°Π½Π½ΠΎΠ³ΠΎ экзСмпляра. (УнаслСдовано ΠΎΡ‚ MarshalByRefObject.)

GetType Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Type для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ экзСмпляра. (УнаслСдовано ΠΎΡ‚ Object.)

InitializeLifetimeService Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ обслуТивания Π²ΠΎ Π²Ρ€Π΅ΠΌΡ сущСствования для управлСния ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΎΠΉ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ сущСствования Π΄Π°Π½Π½ΠΎΠ³ΠΎ экзСмпляра. (УнаслСдовано ΠΎΡ‚ MarshalByRefObject.)

Invert ΠžΠ±Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ Matrix, Ссли ΠΎΠ½Π° ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠΌΠ°.

MemberwiseClone Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ Π½Π΅ΠΏΠΎΠ»Π½ΡƒΡŽ копию Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Object. (УнаслСдовано ΠΎΡ‚ Object.)

MemberwiseClone (Boolean) Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ Π½Π΅ΠΏΠΎΠ»Π½ΡƒΡŽ копию Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° MarshalByRefObject. (УнаслСдовано ΠΎΡ‚ MarshalByRefObject.)

Multiply (Matrix) Π£ΠΌΠ½ΠΎΠΆΠ°Π΅Ρ‚ эту ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ Matrix Π½Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ, ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ matrix, ΠΏΡƒΡ‚Π΅ΠΌ добавлСния ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Matrix.

Multiply (Matrix, MatrixOrder) Π£ΠΌΠ½ΠΎΠΆΠ°Π΅Ρ‚ этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Matrix Π½Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ, ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ matrix, Π² ΠΏΠΎΡ€ΡΠ΄ΠΊΠ΅, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΠΎΠΌ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ order.

Reset БбрасываСт этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Matrix, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ элСмСнты Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹.

Rotate (Single) ДобавляСт Π² ΡΡ‚ΠΎΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Matrix ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ ΠΏΠΎ Ρ‡Π°ΡΠΎΠ²ΠΎΠΉ стрСлкС Π²ΠΎΠΊΡ€ΡƒΠ³ Π½Π°Ρ‡Π°Π»Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΡƒΠ³ΠΎΠ».

Rotate (Single, MatrixOrder) ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ ΠΏΠΎ Ρ‡Π°ΡΠΎΠ²ΠΎΠΉ стрСлкС Π²ΠΎΠΊΡ€ΡƒΠ³ Π½Π°Ρ‡Π°Π»Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ (Π½ΡƒΠ»Π΅Π²Ρ‹Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ x ΠΈ y) Π½Π° Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ, ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ angle, ΠΊ ΡΡ‚ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Matrix.

RotateAt (Single, PointF) ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ ΠΏΠΎ Ρ‡Π°ΡΠΎΠ²ΠΎΠΉ стрСлкС ΠΊ ΡΡ‚ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΡƒMatrix; ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ производится Π²ΠΎΠΊΡ€ΡƒΠ³ Ρ‚ΠΎΡ‡ΠΊΠΈ, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ point, ΠΈ ΠΏΡƒΡ‚Π΅ΠΌ добавлСния ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π° Π² Π½Π°Ρ‡Π°Π»ΠΎ.

RotateAt (Single, PointF, MatrixOrder) ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ ΠΏΠΎ Ρ‡Π°ΡΠΎΠ²ΠΎΠΉ стрСлкС Π²ΠΎΠΊΡ€ΡƒΠ³ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Matrix Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ порядкС.

Scale (Single, Single) ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π²Π΅ΠΊΡ‚ΠΎΡ€ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΡΡ‚ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Matrix, добавляя Π²Π΅ΠΊΡ‚ΠΎΡ€ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π² Π½Π°Ρ‡Π°Π»ΠΎ.

Scale (Single, Single, MatrixOrder) ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π²Π΅ΠΊΡ‚ΠΎΡ€ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ (scaleX ΠΈ scaleY) ΠΊ ΡΡ‚ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Matrix Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ порядкС.

Shear (Single, Single) ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π²Π΅ΠΊΡ‚ΠΎΡ€ сдвига ΠΊ ΡΡ‚ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Matrix, добавляя ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ сдвига Π² Π½Π°Ρ‡Π°Π»ΠΎ.

Shear (Single, Single, MatrixOrder) ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π²Π΅ΠΊΡ‚ΠΎΡ€ сдвига ΠΊ ΡΡ‚ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Matrix Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ порядкС.

ToString Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ String, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставляСт Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Object. (УнаслСдовано ΠΎΡ‚ Object.)

TransformPoints (Point[]) ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ гСомСтричСскоС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅, прСдставляСмоС этим ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Matrix, ΠΊ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ массиву Ρ‚ΠΎΡ‡Π΅ΠΊ.

TransformPoints (PointF[]) ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ гСомСтричСскоС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅, прСдставляСмоС этим ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Matrix, ΠΊ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ массиву Ρ‚ΠΎΡ‡Π΅ΠΊ.

TransformVectors (Point[]) ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π° этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Matrix ΠΊ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ массиву Ρ‚ΠΎΡ‡Π΅ΠΊ.

TransformVectors (PointF[]) Π£ΠΌΠ½ΠΎΠΆΠ°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π²Π΅ΠΊΡ‚ΠΎΡ€ массива Π½Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ смСщСния Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ (Ρ‚Ρ€Π΅Ρ‚ΡŒΡ строка) ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ.

Translate (Single, Single) ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π²Π΅ΠΊΡ‚ΠΎΡ€ смСщСния (offsetX ΠΈ offsetY) ΠΊ ΡΡ‚ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Matrix, добавляя Π²Π΅ΠΊΡ‚ΠΎΡ€ смСщСния Π² Π½Π°Ρ‡Π°Π»ΠΎ.

Translate (Single, Single, MatrixOrder) ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π²Π΅ΠΊΡ‚ΠΎΡ€ ссмСщСния ΠΊ ΡΡ‚ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Matrix Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ порядкС.

VectorTransformPoints Π£ΠΌΠ½ΠΎΠΆΠ°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π²Π΅ΠΊΡ‚ΠΎΡ€ массива Π½Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ смСщСния Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ (Ρ‚Ρ€Π΅Ρ‚ΡŒΡ строка) ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ.

Бвойства Имя ОписаниС

Elements ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ массив Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ элСмСнты этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Matrix.

IsIdentity ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π΅, являСтся Π»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Matrix Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ΠΉ.

IsInvertible Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅, являСтся Π»ΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° Matrix ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠΌΠΎΠΉ.

OffsetX ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ смСщСния ΠΏΠΎ ΠΎΡΠΈ x (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ dx, ΠΈΠ»ΠΈ элСмСнт Π½Π° ΠΏΠ΅Ρ€Π΅ΡΠ΅Ρ‡Π΅Π½ΠΈΠΈ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ строки ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ столбца) ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Matrix.

OffsetY ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ смСщСния ΠΏΠΎ ΠΎΡΠΈ y (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ dy, ΠΈΠ»ΠΈ элСмСнт Π½Π° ΠΏΠ΅Ρ€Π΅ΡΠ΅Ρ‡Π΅Π½ΠΈΠΈ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ строки ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ столбца) для этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Matrix.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для использования совмСстно с Windows Forms; для Π½Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ PaintEventArgse ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события Paint. Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ выполняСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ массив Ρ‚ΠΎΡ‡Π΅ΠΊ, Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ.

Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹ΠΉ массив Ρ‚ΠΎΡ‡Π΅ΠΊ Π½Π° ΡΠΊΡ€Π°Π½ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ прСобразования измСнСния ΠΌΠ°ΡΡˆΡ‚Π°Π±Π° (синий ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ).

Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ, измСняСт Π΅Π΅ ΠΌΠ°ΡΡˆΡ‚Π°Π± Π² 3 Ρ€Π°Π·Π° ΠΏΠΎ ΠΎΡΠΈ X ΠΈ Π² 2 Ρ€Π°Π·Π° ΠΏΠΎ ΠΎΡΠΈ Y ΠΈ ΡΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π΅Π΅ Π½Π° 100 ΠΏΠΎ ΠΎΠ±Π΅ΠΈΠΌ осям.

Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ элСмСнты ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π½Π° ΡΠΊΡ€Π°Π½.

ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ Π΄Π°Π½Π½ΠΎΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½ΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊ ΠΌΠ°ΡΡΠΈΠ²Ρƒ Ρ‚ΠΎΡ‡Π΅ΠΊ.

Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ массив Π½Π° ΡΠΊΡ€Π°Π½ (красный ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ).

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ красный ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ Π±Ρ‹Π» ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ Π² 3 Ρ€Π°Π·Π° ΠΏΠΎ ΠΎΡΠΈ X ΠΈ Π² 2 Ρ€Π°Π·Π° ΠΏΠΎ ΠΎΡΠΈ Y, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π»Π΅Π²Ρ‹ΠΉ Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ ΡƒΠ³ΠΎΠ» (Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°), Π½ΠΎ Π²Π΅ΠΊΡ‚ΠΎΡ€ смСщСния (послСдниС Π΄Π²Π° элСмСнта ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹) игнорируСтся.

public void TransformVectors (

Point[] pts

)

public void TransformVectorsExample (PaintEventArgs e)

{

Pen myPen = new Pen (Color.Blue, 1);

Pen myPen2 = new Pen (Color.Red, 1);

// Create an array of points.

Point[] myArray =

{

new Point (20, 20),

new Point (120, 20),

new Point (120, 120),

new Point (20, 120),

new Point (20,20)

};

// Draw the Points to the screen before applying the

// transform.

e.Graphics.DrawLines (myPen, myArray);

// Create a matrix, scale it, and translate it.

Matrix myMatrix = new Matrix ();

myMatrix.Scale (3, 2, MatrixOrder. Append);

myMatrix.Translate (100, 100, MatrixOrder. Append);

// List the matrix elements to the screen.

ListMatrixElements (e,

myMatrix,

" Scaled and Translated Matrix", 6, 20);

// Apply the transform to the array.

myMatrix.TransformVectors (myArray);

// Draw the Points to the screen again after applying the

// transform.

e.Graphics.DrawLines (myPen2, myArray);

}

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ вопросы:

КакиС прСобразования Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π°Ρ„Ρ„ΠΈΠ½Π½Ρ‹ΠΌΠΈ?

НазовитС Ρ‚Ρ€ΠΈ основных Π²ΠΈΠ΄Π° Π°Ρ„Ρ„ΠΈΠ½Π½Ρ‹Ρ… ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ.

КакиС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ?

ΠŸΡ€ΠΈΠ²Π΅Π΄ΠΈΡ‚Π΅ Π²ΠΈΠ΄ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΌΠ°Ρ‚Ρ€ΠΈΡ†:

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° вращСния.

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° растяТСния.

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° отраТСния.

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° пСрСноса.

Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ строки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ прСобразования:

вращСния, пСрСноса, растяТСния.

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

Π˜Π›Π˜