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

ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°

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

ΠŸΡ€ΠΎΠ΅ΠΊΡ†ΠΈΡ КабинС (рис. 3.) ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ проСцирования, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ составляСт с ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΡŒΡŽ ΡƒΠ³ΠΎΠ» = arctg (?) (?26,5Β°). ΠŸΡ€ΠΈ этом ΠΎΡ‚Ρ€Π΅Π·ΠΊΠΈ, пСрпСндикулярныС ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΎΠ½Π½ΠΎΠΉ плоскости, послС проСцирования ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚? ΠΈΡ… Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹. ΠŸΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΈ КабинС ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π±ΠΎΠ»Π΅Π΅ рСалистичСскими, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΈ КавальС, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΡƒΠΊΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π½ΠΈΠ΅ с ΠΊΠΎΡΡ„Ρ„ΠΈΡ†ΠΈΠ΅Π½Ρ‚ΠΎΠΌ? большС согласуСтся с Π½Π°ΡˆΠΈΠΌ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ. Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π°

ΠΏΠΎ Π΄ΠΈΡΡ†ΠΈΠΏΠ»ΠΈΠ½Π΅ ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°

1. ДСловая Π³Ρ€Π°Ρ„ΠΈΠΊΠ°

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅, наглядноС ΠΈ ΠΊΡ€Π°ΡΠΈΠ²ΠΎΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ статистичСских Π΄Π°Π½Π½Ρ‹Ρ…, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ MS Excel.

Excel создаСт Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ ΠΈ ΠΎΡ‡Π΅Π½ΡŒ быстро Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π΄Π°Π½Π½Ρ‹Ρ… листа. Π₯отя ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π² Excel «Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ», Π½ΠΎ ΠΌΠ°ΡΡ‚Π΅Ρ€ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ справляСтся с ΡΡ‚ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ. Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ описаны всС Ρ‚ΠΈΠΏΡ‹ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ создаСт Excel.

Π’Π°Π±Π»ΠΈΡ†Π°. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Excel

Π’ΠΈΠΏ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹

ОписаниС

Гистограмма (Column)

ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π·Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Ρ….

ЛинСйчатая (Bar)

ΠžΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ².

Π“Ρ€Π°Ρ„ΠΈΠΊ (Line)

ΠžΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΠΈ измСнСния Π΄Π°Π½Π½Ρ‹Ρ… Π·Π° Ρ€Π°Π²Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

ΠšΡ€ΡƒΠ³ΠΎΠ²Π°Ρ (Pie)

Π˜Π»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ значСния элСмСнтов ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ряда.

ВочСчная (XY (scatter))

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ взаимосвязь ΠΌΠ΅ΠΆΠ΄Ρƒ числовыми значСниями Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… рядах.

Π‘ ΠΎΠ±Π»Π°ΡΡ‚ями (Area)

ΠŸΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π΅Ρ‚ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ измСнСния Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

ΠšΠΎΠ»ΡŒΡ†Π΅Π²Π°Ρ (Doughnut)

ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π²ΠΊΠ»Π°Π΄ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π² ΠΎΠ±Ρ‰ΡƒΡŽ сумму.

ЛСпСстковая (Radar)

КаТдая катСгория ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ ось ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚, ΠΈΡΡ…ΠΎΠ΄ΡΡ‰ΡƒΡŽ ΠΈΠ· Π½Π°Ρ‡Π°Π»Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ (позволяСт ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠ΅ значСния ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π½Π°Π±ΠΎΡ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ статистичСском исслСдовании спроса).

ΠŸΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ (Surface)

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для поиска Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ сочСтания Π΄Π²ΡƒΡ… Π½Π°Π±ΠΎΡ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²Π°Ρ (Bubble)

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ взаимосвязь ΠΌΠ΅ΠΆΠ΄Ρƒ числовыми значСниями Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… рядах (ΠΏΠΎ Π΄Π²ΡƒΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ), Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ (с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΡ€ΡƒΠ³ΠΎΠ², ΠΈΠ»ΠΈ ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ², Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ²) ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

БирТСвая (Stock)

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для дСмонстрации ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ†Π΅Π½ Π½Π° Π°ΠΊΡ†ΠΈΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ†Π΅Π½ закрытия.

ЦилиндричСская, коничСская, ΠΏΠΈΡ€Π°ΠΌΠΈΠ΄Π°Π»ΡŒΠ½Π°Ρ (Cone, Cylinder. Pyramid)

Π˜Π»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΠΈ измСнСния ΠΈ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±ΡŠΠ΅ΠΌΠ½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ конуса, Ρ†ΠΈΠ»ΠΈΠ½Π΄Ρ€Π° ΠΈΠ»ΠΈ ΠΏΠΈΡ€Π°ΠΌΠΈΠ΄Ρ‹.

Ряд Π΄Π°Π½Π½Ρ‹Ρ… это ΠΎΠ΄ΠΈΠ½ столбСц, ΠΎΠ΄Π½Π° строка ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ€ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² ΠΊΠ°Ρ…, сгруппированных вмСстС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Ρ€ΡƒΡ‡ΠΊΠ° дСлю, Π·Π° ΠΌΠ΅ΡΡΡ†, Π·Π° Π³ΠΎΠ΄ ΠΈΠ»ΠΈ Π²Ρ‹Ρ€ΡƒΡ‡ΠΊΠ° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†Π° Π² ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅.

Ось это Π³Ρ€Π°Π½ΠΈΡ†Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π°Ρ Ρ‚ΠΈΠΏ ряда, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, врСмя ΠΈΠ»ΠΈ Π΄Π΅Π½Π΅ΠΆΠ½Ρ‹Π΅ суммы.

Π›Π΅Π³Π΅Π½Π΄Π° это описаниС рядов Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΎΡΠ΅ΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹.

Π’Π°Π±Π»ΠΈΡ†Π° Π΄Π°Π½Π½Ρ‹Ρ… это ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ вашСго листа с Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ для построСния Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ располагаСтся ΠΏΠΎΠ΄ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠΎΠΉ.

ΠœΠ°Ρ€ΠΊΠ΅Ρ€Ρ‹ измСнСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° это восСмь Ρ‡Π΅Ρ€Π½Ρ‹Ρ… ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΈΠΊΠΎΠ², располоТСнных Π²ΠΎΠΊΡ€ΡƒΠ³ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ) пСрСтаскивая ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, Π²Ρ‹ ΡΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹.

Π’Π°Π±Π»ΠΈΡ†Π° 1. БтатистичСскиС Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΄Π°ΠΆ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ.

Аукционная статистика ΠΏΡ€ΠΎΠ΄Π°ΠΆ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ ΠΌΠ°Ρ€ΠΊΠΈ Toyota Cedan

Toyota Allion

ΠšΡƒΠ·ΠΎΠ²

ОбъСм

Π¨Ρ‚.

Π¦Π΅Π½Π° ΠΏΡ€ΠΈΠΌ.

Π‘Ρ€Π΅Π΄Π½.

Максимальн.

Π”ΠΎ 3 Π»Π΅Ρ‚

2008 — 2010 Π³Π³.

NTZ260

1500

$ 19 605

$ 19 605

NZT260

1500-Π‘-ΠΏΠ΅Ρ€

$ 19 502

$ 32 727

ZRT260

1800-Π‘-ΠΏΠ΅Ρ€

$ 14 021

$ 21 115

ZRT261

2000;Π‘-ΠΏΠ΅Ρ€

$ 15 100

$ 18 420

ZRT265

1800-Π‘-4wd

$ 13 915

$ 17 587

ΠžΡ‚ 3 Π΄ΠΎ 5 Π»Π΅Ρ‚

2005 — 2007 Π³Π³.

AZT240

2000;Π‘-ΠΏΠ΅Ρ€

$ 5 156

$ 10 245

NZT240

1500-Π‘-ΠΏΠ΅Ρ€

$ 10 718

$ 23 575

NZT260

1500-Π‘-ΠΏΠ΅Ρ€

$ 17 705

$ 26 075

ZPT260

1800

$ 13 857

$ 15 804

ZRT260

1800-Π‘-ΠΏΠ΅Ρ€

$ 12 845

$ 16 858

ZRT265

1800-Π‘-4wd

$ 12 578

$ 15 504

ZZT240

1800-Π‘-ΠΏΠ΅Ρ€

$ 6 553

$ 20 282

ZZT245

1800-Π‘-4wd

$ 6 041

$ 15 869

Для выполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ задания Π±Ρ‹Π»ΠΈ взяты статистичСскиС Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ΠΈΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠ° «ΠΠ²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ. Π‘ΠΏΠ΅Ρ†Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ°. Запчасти» :

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ:

Рис. 1. Бтатистика ΠΏΡ€ΠΎΠ΄Π°ΠΆ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ

Π’Ρ‹Π²ΠΎΠ΄:

БрСдствами ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ MS Excel создана объСмная круговая Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°, ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ статистичСскиС Π΄Π°Π½Π½Ρ‹Π΅.

2. Π’Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Π΅ прСобразования

ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ: ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΡƒΡŽ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ с Ρ„ΠΈΠ³ΡƒΡ€ΠΎΠΉ октаэдр Π² ΠΊΠΎΠ½Ρ‚ΡƒΡ€Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅, Π±Π΅Π· удалСния Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… Π»ΠΈΠ½ΠΈΠΉ. Π€ΠΈΠ³ΡƒΡ€Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ Π²ΠΎΠΊΡ€ΡƒΠ³ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΉ оси. Π’Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ управляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ дСвяти клавишь (1…9) Π½Π° Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅.

ΠžΠΊΡ‚Π°ΠΌΡΠ΄Ρ€ (Π³Ρ€Π΅Ρ‡. пкфЬСдспн, ΠΎΡ‚ Π³Ρ€Π΅Ρ‡. ΠΏΠΊΡ„ΡŽ, «Π²ΠΎΡΠ΅ΠΌΡŒ» ΠΈ Π³Ρ€Π΅Ρ‡. Эдсб — «ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅») — ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡΡ‚ΠΈ Π²Ρ‹ΠΏΡƒΠΊΠ»Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠΎΠ², Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ…, ΠŸΠ»Π°Ρ‚ΠΎΠ½ΠΎΠ²Ρ‹Ρ… Ρ‚Π΅Π».

ΠžΠΊΡ‚Π°ΡΠ΄Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ 8 Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Π³Ρ€Π°Π½Π΅ΠΉ, 12 Ρ€Ρ‘Π±Π΅Ρ€, 6 Π²Π΅Ρ€ΡˆΠΈΠ½, Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π΅Π³ΠΎ Π²Π΅Ρ€ΡˆΠΈΠ½Π΅ сходятся 4 Ρ€Π΅Π±Ρ€Π°.

Рис. 2. ΠžΠΊΡ‚Π°ΡΠ΄Ρ€.

Если Π΄Π»ΠΈΠ½Π° Ρ€Π΅Π±Ρ€Π° октаэдра Ρ€Π°Π²Π½Π° Π°, Ρ‚ΠΎ ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ Π΅Π³ΠΎ ΠΏΠΎΠ»Π½ΠΎΠΉ повСрхности (S) ΠΈ ΠΎΠ±ΡŠΡ‘ΠΌ октаэдра (V) Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°ΠΌ:

Радиус сфСры, описанной Π²ΠΎΠΊΡ€ΡƒΠ³ октаэдра, Ρ€Π°Π²Π΅Π½:

радиус вписанной Π² ΠΎΠΊΡ‚аэдр сфСры ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ вычислСн ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅:

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ октаэдр ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠΈΠΌΠΌΠ΅Ρ‚Ρ€ΠΈΡŽ Oh, ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰ΡƒΡŽ с ΡΠΈΠΌΠΌΠ΅Ρ‚Ρ€ΠΈΠ΅ΠΉ ΠΊΡƒΠ±Π°.

Подобно Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ прСобразования ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ, Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Π΅ прСобразования ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСны ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ. Π’ΠΎΠ³Π΄Π° трСхмСрная Ρ‚ΠΎΡ‡ΠΊΠ° записываСтся Π² ΠΎΠ΄Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹Ρ… ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°Ρ… ΠΊΠ°ΠΊ, Π³Π΄Π΅. Для получСния Π΄Π΅ΠΊΠ°Ρ€Ρ‚ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Π½Π°Π΄ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Ρ‚Ρ€ΠΈ ΠΎΠ΄Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π°. Π”Π²Π° ΠΎΠ΄Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹Ρ… Π²Π΅ΠΊΡ‚ΠΎΡ€Π° ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ ΠΎΠ΄Π½Ρƒ Π΄Π΅ΠΊΠ°Ρ€Ρ‚ΠΎΠ²Ρƒ Ρ‚ΠΎΡ‡ΠΊΡƒ Π² Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠΌ пространствС, Ссли, Π³Π΄Π΅ ΠΈ — Π²Π΅ΠΊΡ‚ΠΎΡ€Ρ‹, записанныС Π² ΠΎΠ΄Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹Ρ… ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°Ρ….

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ Π±ΡƒΠ΄Π΅ΠΌ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π² ΠΏΡ€Π°Π²ΠΎΡΡ‚ΠΎΡ€ΠΎΠ½Π½Π΅ΠΉ систСмС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚. ΠŸΡ€ΠΈ этом ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ опрСдСляСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Если ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈΠ· ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ части оси вращСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, оси) Π² Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ Π½Π°Ρ‡Π°Π»Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚, Ρ‚ΠΎ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ Π½Π° ΠΏΡ€ΠΎΡ‚ΠΈΠ² часовой стрСлки Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΠ»ΡƒΠΎΡΡŒ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ (ось Π², Π² ΡΠΎΠΎΡ‚вСтствии с ΠΏΡ€Π°Π²ΠΈΠ»ΠΎΠΌ цикличСской пСрСстановки).

Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π»Π΅Π²ΠΎΡΡ‚ΠΎΡ€ΠΎΠ½Π½ΡŽΡŽ систСму ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² ΡΡ‚ΠΎΠΌ случаС ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΡ‡ΠΊΠΈ с Π±ΠΎΠ»ΡŒΡˆΠΈΠΌΠΈ значСниями находятся дальшС ΠΎΡ‚ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚Сля.

Π—Π°ΠΏΠΈΡˆΠ΅ΠΌ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ пСрСноса. Аналогично Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠΌΡƒ ΡΠ»ΡƒΡ‡Π°ΡŽ.

ΠΏΡ€ΠΈ этом

.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ:

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π°, с Π½Π΅ΠΉ Π² Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠΌ случаС придСтся Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ Ρ‡ΡƒΡ‚ΡŒ побольшС Ρ‡Π΅ΠΌ Π² Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠΌ. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠΌ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π΅ Π² ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΠΈ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ, Ρ‚ΠΎ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ Π²ΠΎΠΊΡ€ΡƒΠ³ оси записываСтся Ρ‚Π°ΠΊ:

.

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π° Π²ΠΎΠΊΡ€ΡƒΠ³ оси ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄:

ΠΈ Π²ΠΎΠΊΡ€ΡƒΠ³ оси :

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΌΠ΅Π½Ρƒ полоТСния синуса ΡƒΠ³Π»Π° с ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°ΠΊΠΎΠΌ Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π° Π²ΠΎΠΊΡ€ΡƒΠ³ оси. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ этих ΠΌΠ°Ρ‚Ρ€ΠΈΡ† Π»Π΅Π³ΠΊΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ΠΎΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΎΡ€Ρ‚ΠΎΠ² Π½Π°, ΠΏΡ€ΠΈ этом ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΠΎ ΠΏΠΎΡ€ΡΠ΄ΠΊΡƒ ΠΎΡ€Ρ‚ Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π½ΠΎΠΉ оси.

ΠžΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ прСобразования Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ. Для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ пСрСноса Π½Π°Π΄ΠΎ лишь Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π·Π½Π°ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° пСрСноса Π½Π° ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Ρ‹Π΅:

;

для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ — Π½Π° ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ значСния:

для ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π° — Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΡƒΠ³Π»Π° ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π°:

.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°

.

Π—Π΄Π΅ΡΡŒ вСрхняя ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ называСтся ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ. Π’Π°ΠΆΠ½Ρ‹ΠΌ Π΅Π΅ ΡΠ²ΠΎΠΉΡΡ‚Π²ΠΎΠΌ являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ обратная ΠΊ Π½Π΅ΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° являСтся транспонированной:. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ вычислСниях достаточно ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ индСксы мСстами ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ получаСтся автоматичСски.

ПослС пСрСмноТСния любого числа ΠΌΠ°Ρ‚Ρ€ΠΈΡ† Π²ΠΈΠ΄Π° ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° всСгда Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΈΠ΄:

.

Π—Π΄Π΅ΡΡŒ вСрхняя Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ опрСдСляСт суммарный ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π° Ρ‚Ρ€ΠΈ коэффициСнта послСднСй строки — суммарный пСрСнос.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π²Ρ‹ΡˆΠ΅ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ матСматичСский Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ программирования Turbo Pascal.

Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

Uses Graph, Crt; {ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ графичСского ΠΈ Ρ‚Скстового модуля}

Const N=8; {постоянныС 8 Π³Ρ€Π°Π½Π΅ΠΉ, 12 Ρ€Π΅Π±Π΅Ρ€}

M=12;

Type Coord = record {описаниС Ρ‚ΠΈΠΏΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ}

X, Y, Z: Real;

End;

Rebro = record

B, E, C, d: Word;

End;

Var {Π Π΅Π·Π΄Π΅Π» описания ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…}

grDriver: Integer; {ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Π³Ρ€Π°Ρ„ичСском Ρ€Π΅ΠΆΠΈΠΌΠ΅}

grMode: Integer;

A: Array [1.N] of Coord;

B: Array [1.M] of Rebro;

Key: Char;

I: Byte;

L, C: Coord;

Ux, Uy, Uz: Real;

Procedure Tr3d (P, T: Coord; Var R: Coord); {ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° расчСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ 3-Ρ… Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² }

Type Matrix = Array [1.4,1.4] Of Real;

Var I, J: Byte;

O: Matrix;

Begin

For I := 1 To 4 Do For J := 1 To 4 Do If I = J Then O[I, J] := 1

Else O[I, J] := 0;

O[1,4] := T. X;

O[2,4] := T. Y;

O[3,4] := T. Z;

R.X := O[1,1] * P. X + O[1,2] * P. Y + O[1,3] * P. Z + O[1,4];

R.Y := O[2,1] * P. X + O[2,2] * P. Y + O[2,3] * P. Z + O[2,4];

R.Z := O[3,1] * P. X + O[3,2] * P. Y + O[3,3] * P. Z + O[3,4];

End;

Procedure Sr3d (P, S: Coord; Var R: Coord); {расчСт измСнСния ΠΌΠ°ΡΡˆΡ‚Π°Π±Π° }

Type Matrix = Array [1.4,1.4] Of Real;

Var I, J: Byte;

O: Matrix;

Begin

For I := 1 To 4 Do For J := 1 To 4 Do If I = J Then O[I, J] := 1

Else O[I, J] := 0;

O[1,1] := S. X;

O[2,2] := S. Y;

O[3,3] := S. Z;

R.X := O[1,1] * P. X + O[1,2] * P. Y + O[1,3] * P. Z + O[1,4];

R.Y := O[2,1] * P. X + O[2,2] * P. Y + O[2,3] * P. Z + O[2,4];

R.Z := O[3,1] * P. X + O[3,2] * P. Y + O[3,3] * P. Z + O[3,4];

End;

Procedure UX3d (P:Coord; Teta: Real; Var R: Coord); {расчСт вращСния Π²ΠΎΠΊΡ€ΡƒΠ³ оси x}

Type Matrix = Array [1.4,1.4] Of Real;

Var I, J: Byte;

O: Matrix;

Begin

For I := 1 To 4 Do For J := 1 To 4 Do If I = J Then O[I, J] := 1

Else O[I, J] := 0;

O[2,2] := COS (Teta);

O[2,3] := -SIN (Teta);

O[3,2] := SIN (Teta);

O[3,3] := COS (Teta);

R.X := O[1,1] * P. X + O[1,2] * P. Y + O[1,3] * P. Z + O[1,4];

R.Y := O[2,1] * P. X + O[2,2] * P. Y + O[2,3] * P. Z + O[2,4];

R.Z := O[3,1] * P. X + O[3,2] * P. Y + O[3,3] * P. Z + O[3,4];

End;

Procedure UY3d (P:Coord; Teta: Real; Var R: Coord); {расчСт вращСния Π²ΠΎΠΊΡ€ΡƒΠ³ оси y}

Type Matrix = Array [1.4,1.4] Of Real;

Var I, J: Byte;

O: Matrix;

Begin

For I := 1 To 4 Do For J := 1 To 4 Do If I = J Then O[I, J] := 1

Else O[I, J] := 0;

O[1,1] := COS (Teta);

O[1,3] := -SIN (Teta);

O[3,1] := SIN (Teta);

O[3,3] := COS (Teta);

R.X := O[1,1] * P. X + O[1,2] * P. Y + O[1,3] * P. Z + O[1,4];

R.Y := O[2,1] * P. X + O[2,2] * P. Y + O[2,3] * P. Z + O[2,4];

R.Z := O[3,1] * P. X + O[3,2] * P. Y + O[3,3] * P. Z + O[3,4];

End;

Procedure UZ3d (P:Coord; Teta: Real; Var R: Coord); {расчСт вращСния Π²ΠΎΠΊΡ€ΡƒΠ³ оси z}

Type Matrix = Array [1.4,1.4] Of Real;

Var I, J: Byte;

O: Matrix;

Begin

For I := 1 To 4 Do For J := 1 To 4 Do If I = J Then O[I, J] := 1

Else O[I, J] := 0;

O[1,1] := COS (Teta);

O[1,2] := -SIN (Teta);

O[2,1] := SIN (Teta);

O[2,2] := COS (Teta);

R.X := O[1,1] * P. X + O[1,2] * P. Y + O[1,3] * P. Z + O[1,4];

R.Y := O[2,1] * P. X + O[2,2] * P. Y + O[2,3] * P. Z + O[2,4];

R.Z := O[3,1] * P. X + O[3,2] * P. Y + O[3,3] * P. Z + O[3,4];

End;

Procedure Fig; {расчСт Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ для октаэдра}

Begin

A[ 1]. X := 10; A[ 1]. Y := 10; A[ 1]. Z := 10; {ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ 6 Π²Π΅Ρ€ΡˆΠΈΠ½}

A[ 2]. X :=10; A[ 2]. Y := 10; A[ 2]. Z :=-10;

A[ 3]. X := -10; A[ 3]. Y := 10; A[ 3]. Z := -10;

A[ 4]. X := -10; A[ 4]. Y := 10; A[ 4]. Z := 10;

A[ 5]. X := 0; A[ 5]. Y := -10;A[ 5]. Z := 0;

A[ 6]. X := 0; A[ 6]. Y := 30; A[ 6]. Z := 0;

B[ 1]. B := 1; B[ 1]. E := 2; B[ 1]. C := 4;{ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ соСдиняСмых Π²Π΅Ρ€ΡˆΠΈΠ½, Ρ†Π²Π΅Ρ‚ Ρ€Π΅Π±Π΅Ρ€}

B[ 2]. B := 2; B[ 2]. E := 3; B[ 2]. C := 4;

B[ 3]. B := 3; B[ 3]. E := 4; B[ 3]. C := 4;

B[ 4]. B := 5; B[ 4]. E := 1; B[ 4]. C := 14;

B[ 5]. B := 5; B[ 5]. E := 2; B[ 5]. C := 14;

B[ 6]. B := 5; B[ 6]. E := 3; B[ 6]. C := 14;

B[ 7]. B := 5; B[ 7]. E := 4; B[ 7]. C := 14;

B[ 8]. B := 6; B[ 8]. E := 1; B[ 8]. C := 12;

B[ 9]. B := 6; B[ 9]. E := 2; b[ 9]. C := 12;

B[10]. B := 6; B[10]. E := 3; b[10]. C := 12;

B[11]. B := 6; B[11]. E := 4; b[11]. C := 12;

B[12]. B := 4; B[12]. E := 1; b[12]. C := 4;

End;

Procedure Draw3D; {Π²Π²ΠΎΠ΄ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ для Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° ΡΠΊΡ€Π°Π½ Ρ„ΠΈΠ³ΡƒΡ€Ρ‹}

Var I: Byte;

XB, YB, XE, YE: Real;

Begin

For I := 1 To M Do Begin

SetColor (B[I]. C);

XB := A[B[I]. B].X;

YB := A[B[I]. B].Y;

XE := A[B[I]. E].X;

YE := A[B[I]. E].Y;

Line (Trunc (XB), Trunc (YB), Trunc (XE), Trunc (YE));

End;

End;

Procedure Hide3D; {стираниС Ρ„ΠΈΠ³ΡƒΡ€Ρ‹}

Var I: Byte;

XB, YB, XE, YE: Real;

Begin

SetColor (Black);

For I := 1 To M Do Begin

XB := A[B[I]. B].X;

YB := A[B[I]. B].Y;

XE := A[B[I]. E].X;

YE := A[B[I]. E].Y;

Line (Trunc (XB), Trunc (YB), Trunc (XE), Trunc (YE));

End;

End;

Begin

ClrScr; {очистка экрана, ΠΌΠΎΠ΄ΡƒΠ»ΡŒ crt }

WriteLn ('1−2 β€šΠ²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΎΡΠΈ OZ'); {Π²Ρ‹Π²ΠΎΠ΄ Π½Π° ΡΠΊΡ€Π°Π½ мСню — пояснСниС ΠΊ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΌ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌ}

WriteLn ('3−4 β€š Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΎΡΠΈ OY');

WriteLn ('5−6 β€š Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΎΡΠΈ OX');

WriteLn ('7−9 ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ — ΠΎΡ‚Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚);

WriteLn ('esc для Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹);

ReadLn; {ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ наТатия клавиши enter}

Fig; {Π²Π²ΠΎΠ΄ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ рисования Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ }

C.X := 5; C. Y := 5; C. Z := 5; { ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° ΡΠΊΡ€Π°Π½}

For I := 1 To N Do Sr3d (A[I], C, A[I]);

L.X := 200; L. Y := 200; L. Z := 200;

For I := 1 To N Do Tr3d (A[I], L, A[I]);

grDriver := Detect;

InitGraph (grDriver, grMode,'c:tpbgi'); {инициализация графичСского Ρ€Π΅ΠΆΠΈΠΌΠ°}

Draw3D; { Π²Ρ‹Π²ΠΎΠ΄ Π½Π° ΡΠΊΡ€Π°Π½ Ρ„ΠΈΠ³ΡƒΡ€Ρ‹}

Key := ' ';

While Key <> #27 Do Begin {Ссли Π½Π°ΠΆΠ°Ρ‚Π° клавиша enter ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ значСния для клавиши (ΠΎΡ‚ 1 Π΄ΠΎ 8)}

Key := ReadKey;

If Key = '1' Then Begin

Hide3D;

L.X := -L.X; L. Y := -L.Y; L. Z := -L.Z;

For I := 1 To N Do Tr3d (A[I], L, A[I]);

Uz := Pi/120; For I := 1 To N Do Uz3d (A[i], Uz, A[i]);

L.X := -L.X; L. Y := -L.Y; L. Z := -L.Z;

For I := 1 To N Do Tr3d (A[I], L, A[I]); {смСщСниС Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ оси z ΠΏΠΎ Ρ‡Π°ΡΠΎΠ²ΠΎΠΉ стрСлкС}

Draw3D;

End;

If Key = '2' Then Begin

Hide3D;

L.X := -L.X; L. Y := -L.Y; L. Z := -L.Z;

For I := 1 To N Do Tr3d (A[I], L, A[I]);

Uz := -Pi/120; For I := 1 To N Do Uz3d (A[i], Uz, A[i]);

L.X := -L.X; L. Y := -L.Y; L. Z := -L.Z;

For I := 1 To N Do Tr3d (A[I], L, A[I]); {смСщСниС Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ оси z ΠΏΡ€ΠΎΡ‚ΠΈΠ² часовой стрСлки}

Draw3D;

End;

If Key = '3' Then Begin

Hide3D;

L.X := -L.X; L. Y := -L.Y; L. Z := -L.Z;

For I := 1 To N Do Tr3d (A[I], L, A[I]);

Uy := Pi/120; For I := 1 To N Do Uy3d (A[i], Uy, A[i]);

L.X := -L.X; L. Y := -L.Y; L. Z := -L.Z;

For I := 1 To N Do Tr3d (A[I], L, A[I]); {смСщСниС Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ оси y Π²ΠΏΡ€Π°Π²ΠΎ}

Draw3D;

End;

If Key = '4' Then Begin

Hide3D;

L.X := -L.X; L. Y := -L.Y; L. Z := -L.Z;

For I := 1 To N Do Tr3d (A[I], L, A[I]);

Uy := -Pi/120; For I := 1 To N Do Uy3d (A[i], Uy, A[i]);

L.X := -L.X; L. Y := -L.Y; L. Z := -L.Z;

For I := 1 To N Do Tr3d (A[I], L, A[I]); {смСщСниС Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ оси y Π²Π»Π΅Π²ΠΎ}

Draw3D;

End;

If Key = '5' Then Begin

Hide3D;

L.X := -L.X; L. Y := -L.Y; L. Z := -L.Z;

For I := 1 To N Do Tr3d (A[I], L, A[I]);

Ux := Pi/120; For I := 1 To N Do Ux3d (A[i], Ux, A[i]);

L.X := -L.X; L. Y := -L.Y; L. Z := -L.Z;

For I := 1 To N Do Tr3d (A[I], L, A[I]); {смСщСниС Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ оси Ρ… Π²Π²Π΅Ρ€Ρ…}

Draw3D;

End;

If Key = '6' Then Begin

Hide3D;

L.X := -L.X; L. Y := -L.Y; L. Z := -L.Z;

For I := 1 To N Do Tr3d (A[I], L, A[I]);

Ux := -Pi/120; For I := 1 To N Do Ux3d (A[i], Ux, A[i]);

L.X := -L.X; L. Y := -L.Y; L. Z := -L.Z;

For I := 1 To N Do Tr3d (A[I], L, A[I]); {смСщСниС Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ оси Ρ… Π²Π½ΠΈΠ·}

Draw3D;

End;

If Key = '7' Then Begin

Hide3D;

L.X := -L.X; L. Y := -L.Y; L. Z := -L.Z;

For I := 1 To N Do Tr3d (A[I], L, A[I]);

C.X := 1.1; C. Y := 1.1; C. Z := 1.1;

For I := 1 To N Do Sr3d (A[I], C, A[I]);

L.X := -L.X; L. Y := -L.Y; L. Z := -L.Z;

For I := 1 To N Do Tr3d (A[I], L, A[I]); {ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ — ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚ΡŒ}

Draw3D;

End;

If Key = '9' Then Begin

Hide3D;

L.X := -L.X; L. Y := -L.Y; L. Z := -L.Z;

For I := 1 To N Do Tr3d (A[I], L, A[I]);

C.X := 0.9; C. Y := 0.9; C. Z := 0.9;

For I := 1 To N Do Sr3d (A[I], C, A[I]);

L.X := -L.X; L. Y := -L.Y; L. Z := -L.Z;

For I := 1 To N Do Tr3d (A[I], L, A[I]); {ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ — ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ}

Draw3D;

End;

End;

Hide3D;

CloseGraph; {Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ графичСский Ρ€Π΅ΠΆΠΈΠΌ}

End.

Π’Ρ‹Π²ΠΎΠ΄:

ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ языка программирования Turbo Pascal создана ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π°Ρ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Π΅ прСобразования с ΠΎΠΊΡ‚аэдром. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° составлСна с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ для отобраТСния ΠΈ Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΡ Π²ΠΎΠΊΡ€ΡƒΠ³ осСй x, y, z. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ клавиш <1>.<9> Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅.

3. ΠŸΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΈ

ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ: ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для изобраТСния гСксаэдра, Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ Π²ΠΎΠΊΡ€ΡƒΠ³ оси Y. Ось Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ с ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΠΉ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ осью Ρ„ΠΈΠ³ΡƒΡ€Ρ‹. ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ задания Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ удалСния Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… Π»ΠΈΠ½ΠΈΠΉ. ВсС Π³Ρ€Π°Π½ΠΈ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Π·Π°ΠΊΡ€Π°ΡˆΠ΅Π½Π½Ρ‹ΠΌΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Ρ†Π²Π΅Ρ‚Π°ΠΌΠΈ.

ΠŸΡ€ΠΎΠ΅ΠΊΡ†ΠΈΡ КабинС (рис. 3.) ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ проСцирования, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ составляСт с ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΡŒΡŽ ΡƒΠ³ΠΎΠ» = arctg (?) (?26,5Β°). ΠŸΡ€ΠΈ этом ΠΎΡ‚Ρ€Π΅Π·ΠΊΠΈ, пСрпСндикулярныС ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΎΠ½Π½ΠΎΠΉ плоскости, послС проСцирования ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚? ΠΈΡ… Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹. ΠŸΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΈ КабинС ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π±ΠΎΠ»Π΅Π΅ рСалистичСскими, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΈ КавальС, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΡƒΠΊΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π½ΠΈΠ΅ с ΠΊΠΎΡΡ„Ρ„ΠΈΡ†ΠΈΠ΅Π½Ρ‚ΠΎΠΌ? большС согласуСтся с Π½Π°ΡˆΠΈΠΌ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ.

Рис. 3. ΠŸΡ€ΠΎΠ΅ΠΊΡ†ΠΈΡ КабинС Π—Π°Π΄Π°Ρ‡Π° удалСния Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… Π»ΠΈΠ½ΠΈΠΉ ΠΈ ΠΏΠΎΠ²Π΅Ρ€Ρ…ностСй являСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ слоТных Π·Π°Π΄Π°Ρ‡ Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅. Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ Π±Ρ‹Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, Ρ†Π΅Π»ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… являСтся ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ‚Π΅Ρ… Π»ΠΈΠ½ΠΈΠΉ Ρ€Π΅Π±Π΅Ρ€, повСрхностСй, Π³Ρ€Π°Π½Π΅ΠΉ ΠΈΠ»ΠΈ объСмов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅Π²ΠΈΠ΄Π½Ρ‹ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»ΡŽ. ИдСя Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² удалСния Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… Π»ΠΈΠ½ΠΈΠΉ ΠΈ ΠΏΠΎΠ²Π΅Ρ€Ρ…ностСй Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ: Ρ‡Π΅ΠΌ дальшС располоТСн ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΎΡ‚ Ρ‚ΠΎΡ‡ΠΊΠΈ наблюдСния, Ρ‚Π΅ΠΌ большС Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ»ΠΈ частично заслонСн Π΄Ρ€ΡƒΠ³ΠΈΠΌ, Π±ΠΎΠ»Π΅Π΅ Π±Π»ΠΈΠ·ΠΊΠΈΠΌ ΠΊ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»ΡŽ, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ. ПослС опрСдСлСния расстояний ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠ² ΠΏΠΎ Π³Π»ΡƒΠ±ΠΈΠ½Π΅ проводится сортировка ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ ΠΈ ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ, для выяснСния, Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ рассматриваСмый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ заслонСн ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, располоТСнным Π±Π»ΠΈΠΆΠ΅ ΠΊ Ρ‚ΠΎΡ‡ΠΊΠ΅ наблюдСния.

Π’Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ Ρ‚Ρ€ΠΈ класса Ρ‚Π°ΠΊΠΈΡ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ²:

1. Алгоритмы, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Π² ΠΏΡ€ΠΎΡΡ‚ранствС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Для опрСдСлСния видимости Π΄Π°Π½Π½ΠΎΠΉ повСрхности сравниваСтся Π΅Π΅ Π²Π·Π°ΠΈΠΌΠ½ΠΎΠ΅ располоТСниС с ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ повСрхностями ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠΉ сцСнС.

* Алгоритм РобСртса.

2. Алгоритмы, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Π² ΠΏΡ€ΠΎΡΡ‚ранствС изобраТСния (экрана). Они основаны Π½Π° Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ блиТайшСй повСрхности, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ пСрСсСкаСт Π»ΡƒΡ‡ зрСния, проходящий Ρ‡Π΅Ρ€Π΅Π· Π·Π°Π΄Π°Π½Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ Π½Π° Ρ€Π°ΡΡ‚Ρ€Π΅.

* Алгоритм ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅Π³ΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°;

* Алгоритм Коэна? Π‘Π°Π·Π΅Ρ€Π»Π΅Π½Π΄Π°;

* ΠœΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Коэна? Π‘Π°Π·Π°Ρ€Π»Π΅Π½Π΄Π°;

* Алгоритм с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ z-Π±ΡƒΡ„Π΅Ρ€Π°;

* ΠœΠ΅Ρ‚ΠΎΠ΄ трассировки Π»ΡƒΡ‡Π΅ΠΉ;

* Алгоритм Π’Π°Ρ€Π½ΠΎΠΊΠ°;

* Алгоритм Π’Π΅ΠΉΠ»Π΅Ρ€Π°? АзСртона.

3. Алгоритмы, Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ список ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠ², Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΠΎΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π² ΠΎΠ±Π΅ΠΈΡ… систСмах ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ (ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ).

* Алгоритм Ньюэла? Ньюэла? Π‘Π°Π½Ρ‡Π° (Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ удалСния Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… Π³Ρ€Π°Π½Π΅ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ сортировки ΠΏΠΎ Π³Π»ΡƒΠ±ΠΈΠ½Π΅;)

Рассмотрим Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ удалСния Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… Π»ΠΈΠ½ΠΈΠΉ ΠΈ ΠΏΠΎΠ²Π΅Ρ€Ρ…ностСй.

Алгоритм РобСртса

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

Алгоритм ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅Π³ΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°

Алгоритм ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅Π³ΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π° Ρ‡Π°ΡˆΠ΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для удалСния Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… Π»ΠΈΠ½ΠΈΠΉ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ прСдставлСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ F (x, Ρƒ, z) = 0.

ИдСя ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΊ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠΉ ΠΏΡƒΡ‚Π΅ΠΌ пСрСсСчСния исходной повСрхности ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… сСкущих плоскостСй, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… постоянныС значСния ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ z. Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ октаэдр гСксаэдр ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Алгоритм сначала упорядочиваСт плоскости z = const ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ расстояния Π΄ΠΎ Π½ΠΈΡ… ΠΎΡ‚ Ρ‚ΠΎΡ‡ΠΊΠΈ наблюдСния. Π—Π°Ρ‚Π΅ΠΌ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ плоскости, начиная с Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠ΅ΠΉ ΠΊ Ρ‚ΠΎΡ‡ΠΊΠ΅ наблюдСния, строится кривая, лСТащая Π½Π° Π½Π΅ΠΉ, Ρ‚. Π΅. для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ значСния ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ… Π² ΠΏΡ€ΠΎΡΡ‚ранствС изобраТСния опрСдСляСтся ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ y.

Если Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ плоскости ΠΏΡ€ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π·Π°Π΄Π°Π½Π½ΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ x ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρƒ Π½Π° ΠΊΡ€ΠΈΠ²ΠΎΠΉ большС значСния y для всСх ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΊΡ€ΠΈΠ²Ρ‹Ρ… ΠΏΡ€ΠΈ этом Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ x, Ρ‚ΠΎ Ρ‚Скущая кривая Π²ΠΈΠ΄ΠΈΠΌΠ° Π² ΡΡ‚ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅; Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΎΠ½Π° Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΠ°.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π²Ρ‹ΡˆΠ΅ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ матСматичСский Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ программирования Turbo Pascal.

Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

ROGRAM HEXAEDR;

USES Crt, Graph;

VAR Gd, Gm: Integer; {ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Π³Ρ€Π°Ρ„ичСском Ρ€Π΅ΠΆΠΈΠΌΠ΅}

hex: array[1.8, 1.3] of real; {Массив с ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ Π²Π΅Ρ€ΡˆΠΈΠ½}

hex2: array[1.8, 1.2] of integer; {Массив с ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ Π²Π΅Ρ€ΡˆΠΈΠ½ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΈ}

grani: array[1.6, 1.4] of integer; {Массив Π³Ρ€Π°Π½Π΅ΠΉ гСксаэдра}

i, j: integer; {Π¦ΠΈΠΊΠ»ΠΎΠ²Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅}

ch: char; {Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π°ΠΆΠ°Ρ‚ΠΎΠΉ клавиши}

PROCEDURE Projectiya; {РасчСт ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΈ}

CONST UgolX=26.5*Pi/180; {Π£Π³ΠΎΠ» вращСния Π²ΠΎΠΊΡ€ΡƒΠ³ оси X}

UgolY=26.5*Pi/180; {Π£Π³ΠΎΠ» вращСния Π²ΠΎΠΊΡ€ΡƒΠ³ оси Y}

BEGIN

For i:=1 To 8 Do Begin

hex2[i, 1]: =round (hex[i, 1]*cos (UgolY)+hex[i, 3]*sin (UgolY))+320;

hex2[i, 2]:=290-round (hex[i, 1]*sin (UgolY)*sin (UgolX)+hex[i, 2]*cos (UgolX)-hex[i, 3]*cos (UgolY)*sin (UgolX));

End;

END;

FUNCTION VidimayaGran (i:integer): boolean; {ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ видимости i-ΠΉ Π³Ρ€Π°Π½ΠΈ}

VAR V1, V2,N: array[1.3] of real;

scalar: real;

BEGIN

{РасчСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ 2-Ρ… Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ², Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… Π² ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΠΈ Π³Ρ€Π°Π½ΠΈ}

For j:=1 To 3 Do Begin

V1[j]: =hex[grani[i, 2], j]-hex[grani[i, 1], j];

V2[j]:=hex[grani[i, 3], j]-hex[grani[i, 1], j];

End;

{ВычислСниС Π²Π΅ΠΊΡ‚ΠΎΡ€Π° Π½ΠΎΡ€ΠΌΠ°Π»ΠΈ Π³Ρ€Π°Π½ΠΈ}

N[1]: =V1[2]*V2[3]-V2[2]*V1[3];

N[2]:=V1[3]*V2[1]-V2[3]*V1[1];

N[3]:=V1[1]*V2[2]-V2[1]*V1[2];

{ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ видимости Π³Ρ€Π°Π½ΠΈ}

scalar:=N[1]-N[2]-N[3];

If scalar>0 Then

VidimayaGran:=true

Else

VidimayaGran:=false;

END;

PROCEDURE Draw; {Π’Ρ‹Π²ΠΎΠ΄ Π½Π° ΡΠΊΡ€Π°Π½}

VAR gran: array[1.4] of PointType;

BEGIN

Projectiya;

For i:=1 To 6 Do Begin

If VidimayaGran (i) Then Begin {Если Π³Ρ€Π°Π½ΡŒ Π²ΠΈΠ΄ΠΈΠΌΠ°, Ρ‚ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Π΅Π΅ Π½Π° ΡΠΊΡ€Π°Π½}

For j:=1 To 4 Do Begin

gran[j]. x:=hex2[grani[i, j], 1];

gran[j].y:=hex2[grani[i, j], 2];

End;

SetFillStyle (1,i+8); {УстанавливаСм Ρ†Π²Π΅Ρ‚ ΠΈ ΡΡ‚ΠΈΠ»ΡŒ закраски}

FillPoly (4,gran);

End;

End;

END;

PROCEDURE VrachOY (Ugol: real); {ΠŸΠΎΠ²ΠΎΡ€ΠΎΡ‚ Π²ΠΎΠΊΡ€ΡƒΠ³ оси OY}

VAR x, z: real;

BEGIN

For i:=1 To 8 Do Begin

x:=hex[i, 1];

z:=hex[i, 3];

hex[i, 1]:=x*cos (Ugol)+z*sin (Ugol);

hex[i, 3]:=-x*sin (Ugol)+z*cos (Ugol);

End;

END;

BEGIN

{ΠžΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌ гСксаэдр}

hex[1,1]: =30; hex[1,2]: =0; hex[1,3]: =0;

hex[2,1]:=30; hex[2,2]: =150; hex[2,3]: =0;

hex[3,1]:=180; hex[3,2]: =150; hex[3,3]: =0;

hex[4,1]:=180; hex[4,2]: =0; hex[4,3]: =0;

hex[5,1]:=30; hex[5,2]: =0; hex[5,3]: =150;

hex[6,1]:=30; hex[6,2]: =150; hex[6,3]: =150;

hex[7,1]:=180; hex[7,2]: =150; hex[7,3]: =150;

hex[8,1]:=180; hex[8,2]: =0; hex[8,3]: =150;

{ΠΈ Π³Ρ€Π°Π½ΠΈ}

grani[1,1]: =1; grani[1,2]: =2; grani[1,3]: =3; grani[1,4]: =4;

grani[2,1]:=5; grani[2,2]: =6; grani[2,3]: =2; grani[2,4]: =1;

grani[3,1]:=2; grani[3,2]: =6; grani[3,3]: =7; grani[3,4]: =3;

grani[4,1]:=4; grani[4,2]: =3; grani[4,3]: =7; grani[4,4]: =8;

grani[5,1]:=1; grani[5,2]: =4; grani[5,3]: =8; grani[5,4]: =5;

grani[6,1]:=5; grani[6,2]: =8; grani[6,3]: =7; grani[6,4]: =6;

Gd := Detect;

InitGraph (Gd, Gm, ''); {Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ графичСского Ρ€Π΅ΠΆΠΈΠΌΠ°}

If GraphResult <> grOk Then

Halt (1);

SetBkColor (Blue); {УстанавливаСм Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π°}

ClearDevice; {ΠžΡ‡ΠΈΡ‰Π°Π΅ΠΌ экран}

Draw; {Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ}

While ch<>#27 Do Begin {Пока Π½Π΅ Π½Π°ΠΆΠ°Ρ‚Π° клавиша «Esc», Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ}

If keypressed Then

ch:=readkey; {Π‘Ρ‡ΠΈΡ‚Ρ‹Π²Π°Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π°ΠΆΠ°Ρ‚ΠΎΠΉ клавиши}

VrachOY (pi/40); {Π”Π΅Π»Π°Π΅ΠΌ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ Π²ΠΎΠΊΡ€ΡƒΠ³ оси OY}

ClearDevice; {ΠžΡ‡ΠΈΡ‰Π°Π΅ΠΌ экран}

Draw; {Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ}

OuttextXY (10,465,'Press to Exit');

Delay (8000);

End;

CloseGraph; {Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Π³Ρ€Π°Ρ„ичСском Ρ€Π΅ΠΆΠΈΠΌΠ΅}

END.

Π’Ρ‹Π²ΠΎΠ΄:

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

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ ΡΡ‚ΠΎΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассмотрСны ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ пСрСмСщСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΌΠ°ΠΊΠ΅Ρ‚Π°, примСняя ΠΊ Π½ΠΈΠΌ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ прСобразования (Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Ρ‚Π°ΠΊΠΆΠ΅ <�трансформациями>). ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π’Ρ‹ΡˆΠ΅ рассказываСтся, ΠΊΠ°ΠΊ нСсколько ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΠΈ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π° Ρ‚Π°ΠΊΠΆΠ΅ измСняСт Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹. Π‘ΡƒΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ всС эти прСобразования производятся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ использования матСматичСского Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π° Π±Ρ‹Π»ΠΈ Ρ€Π΅ΡˆΠ΅Π½Ρ‹ Π·Π°Π΄Π°Ρ‡ΠΈ создания ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ.

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