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

ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Β«Π‘Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠΎΠ²Β»

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

Π’ Π½Π°ΡΡ‚оящСС врСмя Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ элСмСнты ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ обучСния Π² ΠΊΡƒΡ€ΡΠ΅ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ способов Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ наглядного прСдставлСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Для развития Ρƒ ΡˆΠΊΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ² стСрСомСтричСского (пространствСнного) прСдставлСния, плоских Ρ‡Π΅Ρ€Ρ‚Π΅ΠΆΠ΅ΠΉ, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… собой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ пространствСнных Ρ„ΠΈΠ³ΡƒΡ€… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

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

ΠšΡƒΡ€ΡΠΎΠ²Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π°

Π’Π΅ΠΌΠ°: «Π‘Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠΎΠ²»

Π’Π°ΠΆΠ½Π΅ΠΉΡˆΠ΅ΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ пСдагогичСской Π½Π°ΡƒΠΊΠΈ являСтся ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΠ΅ планирования процСсса обучСния Π² Ρ†Π΅Π»ΠΎΠΌ ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ эффСктивности управлСния ΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ учащихся.

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

Но ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ примСнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ (ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠ³ΠΎ) обучСния.

Π’ Π½Π°ΡΡ‚оящСС врСмя Π½Π°ΡƒΠΊΠ° ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ быстро, Ρ‡Ρ‚ΠΎ своСврСмСнноС ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠ° Π½Π°ΡƒΡ‡Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π±Π΅Π· примСнСния кибСрнСтичСских срСдств, прСдставляСт Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΡΡ‚ΡŒ.

НС ΠΌΠ΅Π½Π΅Π΅ слоТным являСтся сообщСниС учащимся Π·Π½Π°Π½ΠΈΠΉ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΌ ΠΈΠ· Π³ΠΎΠ΄Π° Π² Π³ΠΎΠ΄ увСличиваСтся, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ сроки ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ обучСния ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ. Π’ ΡΠ²ΡΠ·ΠΈ с ΡΡ‚ΠΈΠΌ всС большСС число ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ ΠΊ Π²Ρ‹Π²ΠΎΠ΄Ρƒ ΠΎ Π½Π΅Π΄ΠΎΡΡ‚аточности Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… способов обучСния ΠΈ Π½Π΅ΠΎΠ±Ρ…одимости ΠΈΡ… ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚вования Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π½ΠΎΠ²Π΅ΠΉΡˆΠΈΡ… достиТСний Π½Π°ΡƒΠΊΠΈ ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ.

Π’ ΡˆΠΊΠΎΠ»Π°Ρ… ΡƒΠΆΠ΅ появились ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹, Π½ΠΎ ΡΡ‚ΠΎΠ³ΠΎ нСдостаточно. Π‘Π°ΠΌΡ‹ΠΉ Π»ΡƒΡ‡ΡˆΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ — ΠΎΡΠ½Π°ΡΡ‚ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ°Π±ΠΈΠ½Π΅Ρ‚ ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ элСмСнты Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π² ΡƒΡ‡Π΅Π±Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎ Π²ΡΠ΅ΠΌ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π°ΠΌ. Но Π΄Π»Ρ этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° тСхничСская Π±Π°Π·Π°. Особо Π½Π°Π΄ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ содСрТаниС самих ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ эффСктивным, Π° Π΄Π»Ρ этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ дидактичСский ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ психолого-пСдагогичСских особСнностСй обучСния Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ.

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

Π—Π°Π΄Π°Ρ‡ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:

1. Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ тСорСтичСского ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°;

2. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠ³ΠΎ прилоТСния ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ сСчСния пространствСнных Ρ‚Π΅Π»;

3. ΠžΡ†Π΅Π½ΠΊΠ° ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ Π²Ρ‹ΡΠ²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΡ… ΠΏΡƒΡ‚Π΅ΠΉ развития Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΡ‹.

Основная Ρ†Π΅Π»ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°: созданиС инструмСнта, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ наглядно ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ пространствСнныС Ρ‚Π΅Π»Π° ΠΈ ΠΈΡ… ΡΠ΅Ρ‡Π΅Π½ΠΈΡ.

ΠŸΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ Ρ†Π΅Π»ΠΈ:

1. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ способ прСдставлСния пространствСнных Ρ‚Π΅Π» Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°.

2. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ способ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ пространствСнных Ρ‚Π΅Π».

3. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ построСния сСчСния пространствСнных Ρ‚Π΅Π».

4. Π Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ использованиС ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ интСрактивности создаваСмого прилоТСния.

5. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ, простого Π² ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΈ Π΄ΠΎΡΡ‚Π°Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ интСрфСйса, создаваСмого ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠ³ΠΎ прилоТСния.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС: срСда программирования Delphi 7, тСкстовыС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚ ΠΈ MS Word, графичСский Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Paint.

1. ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ Ρ‚Π΅Π»Π°. Π’ΠΎΡ‡ΠΊΠ°, прямая ΠΈ ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΡŒ Π² ΠΏΡ€ΠΎΡΡ‚ранствС. Π’Π΅ΠΊΡ‚ΠΎΡ€Ρ‹

ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ Ρ‚ΠΎΡ‡ΠΊΠ° являСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΌ понятиСм пространства, любая Ρ„ΠΈΠ³ΡƒΡ€Π° пространства состоит ΠΈΠ· ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π° Ρ‚ΠΎΡ‡Π΅ΠΊ. Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ… пространства Π±ΡƒΠ΄Π΅ΠΌ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ хранСния ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΡ… Π΄Π°Π½Π½Ρ‹ΠΉ элСмСнт пространства. Π’Π°ΠΊ для хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΏΡ€ΡΠΌΠΎΠΉ достаточно всСго Π΄Π²ΡƒΡ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… этой прямой. По Π΄Π²ΡƒΠΌ Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌ Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΡΠΌΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ каноничСскоС ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ прямой ΠΈ Π΄Π°Π»Π΅Π΅ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ этим ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ΠΌ:

(1?)

Π³Π΄Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΈ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ Π΄Π°Π½Π½ΠΎΠΉ прямой. Или Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅ΠΊΡ‚ΠΎΡ€ Ρ‚. Π΅., ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ прямой:

. (1??)

Аналогично прямой, ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΡŒ опрСдСляСтся трСмя Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ:

(2?)

Π³Π΄Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ, , ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ Π΄Π°Π½Π½ΠΎΠΉ плоскости ΠΈΠ· ΡΡ‚ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ плоскости:

(2??)

Π³Π΄Π΅ коэффициСнты, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ способом:

;

;

;

.

ΠŸΡ€ΠΈΡ‡Π΅ΠΌ ΠΈΠ· ΡΡ‚ΠΈΡ… Ρ„ΠΎΡ€ΠΌΡƒΠ» ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊ Π΄Π°Π½Π½ΠΎΠΉ плоскости ΡΠ²Π»ΡΡŽΡ‚ΡΡ соотвСтствСнно коэффициСнты ,. Π­Ρ‚ΠΎΡ‚ Π²Π΅ΠΊΡ‚ΠΎΡ€ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ Π² ΠΏΠΎΠ»ΡƒΠΏΡ€ΠΎΡΡ‚ранство ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ ΠΎΠ±Ρ…ΠΎΠ΄Π° Ρ‚ΠΎΡ‡Π΅ΠΊ.

РСшая совмСстно уравнСния (1??) ΠΈ (2??) Π½Π°ΠΉΠ΄Π΅ΠΌ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ‚ΠΎΡ‡ΠΊΠΈ пСрСсСчСния прямой ΠΈ ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΠΈ, ΠΏΡ€ΠΈ условии, Ρ‡Ρ‚ΠΎ прямая пСрСсСкаСт ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΡŒ. ΠŸΡƒΡΡ‚ΡŒ ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΡŒ Π·Π°Π΄Π°Π½Π° трСмя Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ:, ,, Π° ΠΏΡ€ΡΠΌΠ°Ρ Π·Π°Π΄Π°Π½Π° двумя Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ: ΠΈ, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ‚ΠΎΡ‡ΠΊΠΈ пСрСсСчСния находятся ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°ΠΌ:

Π³Π΄Π΅, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Ссли, Ρ‚ΠΎ; (1x)

Π³Π΄Π΅, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Ссли, Ρ‚ΠΎ; (1y)

Π³Π΄Π΅, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Ссли, Ρ‚ΠΎ. (1z)

Π’ ΡΡ‚ΠΈΡ… Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°Ρ… ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° для прямой вычисляСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: .

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡ пространства

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

1. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ (ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹ΠΉ пСрСнос Π½Π° Π²Π΅ΠΊΡ‚ΠΎΡ€).

(1p)

2. ΠŸΠΎΠ²ΠΎΡ€ΠΎΡ‚ Π²ΠΎΠΊΡ€ΡƒΠ³ прямой Π½Π° ΡƒΠ³ΠΎΠ». ΠŸΠΎΠ²ΠΎΡ€ΠΎΡ‚ Π±ΡƒΠ΄Π΅ΠΌ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ Π²ΠΎΠΊΡ€ΡƒΠ³ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΎΡΠ΅ΠΉ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚.

Π°) Π²ΠΎΠΊΡ€ΡƒΠ³ оси OX:

(2px)

Π±) Π²ΠΎΠΊΡ€ΡƒΠ³ оси OY:

(2py)

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

(2pz)

3. ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с ΠΊΠΎΡΡ„Ρ„ΠΈΡ†ΠΈΠ΅Π½Ρ‚ΠΎΠΌ .

4.

(3p)

ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ Ρ‚Π΅Π»Π°

Как ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ, Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° пространствСнныС Ρ‚Π΅Π»Π° Π±ΡƒΠ΄Π΅ΠΌ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΡ… эти Ρ‚Π΅Π»Π°. Рассмотрим Π΄Π°Π»Π΅Π΅, ΠΊΠ°ΠΊ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ‚Π΅ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹ пространствСнных Ρ‚Π΅Π» ΠΈ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ основныС способы создания Ρ„ΠΈΠ³ΡƒΡ€. ΠŸΡ€ΠΈ описании ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠΎΠ² Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ всСх Π²Π΅Ρ€ΡˆΠΈΠ½ ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ описаниС порядка ΠΎΠ±Ρ…ΠΎΠ΄Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Ρ€Π°Π½ΠΈ. Π£Π΄ΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΎΠ±Ρ…ΠΎΠ΄ Π³Ρ€Π°Π½Π΅ΠΉ почасовой стрСлкС наблюдая ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊ ΠΈΠ· Π²Π½Π΅, Ρ‚ΠΎΠ³Π΄Π° Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²Π΅ΠΊΡ‚ΠΎΡ€ ΠΊ Π³Ρ€Π°Π½ΠΈ, Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ Ρ‚Ρ€ΠΎΠΉΠΊΠΎΠΉ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… подряд Π²Π΅Ρ€ΡˆΠΈΠ½, Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠ°. Π­Ρ‚ΠΎ свойство ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Ρ‹ΠΏΡƒΠΊΠ»Ρ‹Ρ… ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠΎΠ², ΠΎΠ± ΡΡ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ рассказано ΠΏΠΎΠ·Π΄Π½Π΅Π΅. Π‘ ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠ°ΠΌΠΈ всС понятно, Π° ΠΊΠ°ΠΊ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ повСрхности Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ порядка (повСрхности вращСния, коничСскиС повСрхности, цилиндричСскиС повСрхности, эллипсоид, Π³ΠΈΠΏΠ΅Ρ€Π±ΠΎΠ»ΠΎΠΈΠ΄, ΠΏΠ°Ρ€Π°Π±ΠΎΠ»ΠΎΠΈΠ΄). Π˜Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠ° с Π±ΠΎΠ»ΡŒΡˆΠΈΠΌ количСством Π³Ρ€Π°Π½Π΅ΠΉ, ΠΈ Ρ‡Π΅ΠΌ большС количСство Π³Ρ€Π°Π½Π΅ΠΉ, Ρ‚Π΅ΠΌ Ρ‚ΠΎΡ‡Π½Π΅Π΅ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΠ΅. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ являСтся ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ, ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ пространствСнныС Ρ‚Π΅Π»Π°, Π½ΠΎ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ алгСбраичСскиС ΠΊΡ€ΠΈΠ²Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ построСнии сСчСний. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΎΠ±Ρ‰ΡƒΡŽ структуру Ρ„Π°ΠΉΠ»Π°, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊ. Π€Π°ΠΉΠ» прСдставляСт собой ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ тСкстовый Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π²Π΅Ρ€ΡˆΠΈΠ½ ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠ°.

ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ 1ΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π».

ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ 2ΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π».

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π³Ρ€Π°Π½Π΅ΠΉ ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠ°.

ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ ΠΎΠ±Ρ…ΠΎΠ΄Π° 1ΠΉ Π³Ρ€Π°Π½ΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π».

ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ ΠΎΠ±Ρ…ΠΎΠ΄Π° 2ΠΉ Π³Ρ€Π°Π½ΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π».

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ описания ΠΊΡƒΠ±Π° с Ρ€Π΅Π±Ρ€ΠΎΠΌ Ρ€Π°Π²Π½Ρ‹ΠΌ 2.

0 0 2

2 0 2

2 2 2

0 2 2

0 0 0

2 0 0

2 2 0

0 2 0

1 5 8 4

2 3 7 6

5 6 7 8

4 3 2 1

3 4 8 7

2 6 5 1

ΠŸΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ порядка

β„–

НазваниС.

Бпособ описания.

1.

ΠšΠΎΠ½ΡƒΡ

Как ΠΏΠΈΡ€Π°ΠΌΠΈΠ΄Π° с Π±ΠΎΠ»ΡŒΡˆΠΈΠΌ числом Π²Π΅Ρ€ΡˆΠΈΠ½, Π² ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π»Π΅ΠΆΠΈΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ.

2.

Π¦ΠΈΠ»ΠΈΠ½Π΄Ρ€

Как ΠΏΡ€ΠΈΠ·ΠΌΠ° с Π±ΠΎΠ»ΡŒΡˆΠΈΠΌ числом Π²Π΅Ρ€ΡˆΠΈΠ½, основаниями ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ.

3.

Π‘Ρ„Π΅Ρ€Π°

ΠœΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊ, описанный ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»Π΅ΠΉ ΠΈ ΠΌΠ΅Ρ€ΠΈΠ΄ΠΈΠ°Π½ΠΎΠ².

4.

Π’ΠΎΡ€

Π‘ΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΡΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Ρ†ΠΈΠ»ΠΈΠ½Π΄Ρ€ΠΎΠ².

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1: ΠœΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² получСния ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Ρ‚ΠΎΡ‡Π΅ΠΊ сфСры.

for iy:=0 to ny1 do

for ix:=0 to nx do

begin

x:=r*sin (iy*pi/ny)*cos (2*ix*pi/nx);

y:=r*sin (iy*pi/ny)*sin (2*ix*pi/nx);

z:=r*cos (iy*pi/ny);

x:=r*sin ((iy+1)*pi/ny)*cos (2*ix*pi/nx);

y:=r*sin ((iy+1)*pi/ny)*sin (2*ix*pi/nx);

z:=r*cos ((iy+1)*pi/ny);

end;

2. Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ сСчСний пространствСнных Ρ‚Π΅Π». ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ построСния сСчСний ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠΎΠ²

ГСомСтричСскиС Π·Π°Π΄Π°Ρ‡ΠΈ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ дСлятся Π½Π° Ρ‚Ρ€ΠΈ Ρ‚ΠΈΠΏΠ°:

1) Π½Π° Π²Ρ‹Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΠ΅;

2) Π½Π° Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ;

3) Π½Π° ΠΏΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅.

РСшСниС Π»ΡŽΠ±Ρ‹Ρ… стСрСомСтричСских Π·Π°Π΄Π°Ρ‡ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠΈΡ… ΡƒΠΌΠ΅Π½ΠΈΠΉ ΠΈ Π½Π°Π²Ρ‹ΠΊΠΎΠ², Π½ΠΎ ΠΈ ΡƒΠΌΠ΅Π½ΠΈΠΉ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ пространствСнныС Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ Π½Π° ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° Π»ΠΈΡΡ‚Π΅ Π±ΡƒΠΌΠ°Π³ΠΈ, классной доскС), Ρ‡Ρ‚ΠΎ ΠΏΠΎ ΡΡƒΡ‚ΠΈ своСй тСсно связано с Ρ‚Π΅ΠΌΠΎΠΉ «Π“СомСтричСскиС построСния Π½Π° ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΠΈ». БтСрСомСтричСскиС Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° Π²Ρ‹Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΡ ΠΈ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ рисунок пространствСнной Ρ„ΠΈΠ³ΡƒΡ€Ρ‹. ΠŸΡ€ΠΈ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ Ρ‚Π΅ΠΌ «ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ прямых ΠΈ ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚Π΅ΠΉ Π² ΠΏΡ€ΠΎΡΡ‚ранствС», «ΠŸΠ΅Ρ€ΠΏΠ΅Π½Π΄ΠΈΠΊΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ прямых ΠΈ ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚Π΅ΠΉ», «Π£Π³Π»Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ прямой ΠΈ ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΡŒΡŽ, ΠΌΠ΅ΠΆΠ΄Ρƒ двумя прямыми, ΠΌΠ΅ΠΆΠ΄Ρƒ двумя плоскостями» ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚Π΅ΠΌ прСкрасным ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠΌ являСтся Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΈ ΠΌΠ΅Ρ‚ричСских Π·Π°Π΄Π°Ρ‡ Π½Π° ΠΏΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ пространствСнных Ρ„ΠΈΠ³ΡƒΡ€ ΠΈ ΡΠ΅Ρ‡Π΅Π½ΠΈΠΉ этих Ρ„ΠΈΠ³ΡƒΡ€ плоскостями. ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ построСния сСчСний ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠΎΠ² ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹:

1. ΠœΠ΅Ρ‚ΠΎΠ΄ слСдов. Π‘ΡƒΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΏΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠΈ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ прямой, ΡΠ²Π»ΡΡŽΡ‰Π΅ΠΉΡΡ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π»ΠΈΠ½ΠΈΠΈ пСрСсСчСния сСкущСй плоскости с ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΡŒΡŽ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π³Ρ€Π°Π½ΠΈ Ρ„ΠΈΠ³ΡƒΡ€Ρ‹. Π£Π΄ΠΎΠ±Π½Π΅Π΅ всСго ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π»ΠΈΠ½ΠΈΠΈ пСрСсСчСния сСкущСй плоскости с ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΡŒΡŽ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ основания. Π­Ρ‚Ρƒ линию Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ слСдом сСкущСй плоскости. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ слСд, Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ изобраТСния Ρ‚ΠΎΡ‡Π΅ΠΊ сСкущСй плоскости, находящихся Π½Π° Π±ΠΎΠΊΠΎΠ²Ρ‹Ρ… Ρ€Π΅Π±Ρ€Π°Ρ… ΠΈΠ»ΠΈ гранях Ρ„ΠΈΠ³ΡƒΡ€Ρ‹. ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ соСдиняя ΠΎΠ±Ρ€Π°Π·Ρ‹ этих Ρ‚ΠΎΡ‡Π΅ΠΊ, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ искомого сСчСния.

2. ΠœΠ΅Ρ‚ΠΎΠ΄ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… сСчСний. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ построСния сСчСний ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠΎΠ² являСтся Π² Π΄ΠΎΡΡ‚Π°Ρ‚ΠΎΡ‡Π½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ. Π’ Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½Ρ‹ΠΉ слСд (ΠΈΠ»ΠΈ слСды) сСкущСй плоскости оказываСтся Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ Ρ‡Π΅Ρ€Ρ‚Π΅ΠΆΠ°, этот ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π°ΠΆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ прСимущСства. ВмСстС с Ρ‚Π΅ΠΌ слСдуСт ΠΈΠΌΠ΅Ρ‚ΡŒ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ построСния, выполняСмыС ΠΏΡ€ΠΈ использовании этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ΡΡ «ΡΠΊΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ». Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… сСчСний оказываСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ.

3. ΠšΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ построСния сСчСний. Π‘ΡƒΡ‚ΡŒ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° построСния сСчСний ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠΎΠ² состоит Π² ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Ρ‚Π΅ΠΎΡ€Π΅ΠΌ ΠΎ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ прямых ΠΈ ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚Π΅ΠΉ Π² ΠΏΡ€ΠΎΡΡ‚ранствС Π² ΡΠΎΡ‡Π΅Ρ‚Π°Π½ΠΈΠΈ с ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ слСдов ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… сСчСний.

4. ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ построСния сСчСний. Π‘ΡƒΡ‚ΡŒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π²Ρ‹Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΠΈ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Ρ‚ΠΎΡ‡Π΅ΠΊ пСрСсСчСния Ρ€Π΅Π±Π΅Ρ€ ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠ° с ΡΠ΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΡŒΡŽ, которая задаСтся ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ΠΌ плоскости. Π£Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ плоскости сСчСния вычисляСтся Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ условий Π·Π°Π΄Π°Ρ‡ΠΈ.

Из Π²ΡΠ΅Ρ… пСрСчислСнных способов построСния сСчСния Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΡ‹ΠΌ являСтся ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΡΠ²ΡΠ·Π°Π½ с Π±ΠΎΠ»ΡŒΡˆΠΈΠΌ объСмом вычислСний ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ простой Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎ цСлСсообразно Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π­Π’Πœ. Достаточно Π·Π½Π°Ρ‚ΡŒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π²Π΅Ρ€ΡˆΠΈΠ½ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Ρ€Π°Π½ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠ° ΠΈ Ρ‚Ρ€ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΡŒ сСчСния.

Π—Π°Π΄Π°Π½ΠΈΠ΅ сСчСний пространствСнных Ρ‚Π΅Π»

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

1) Ρ‚ΠΎΡ‡ΠΊΠ° располоТСна Π²Π½Π΅ ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠ°;

2) Ρ‚ΠΎΡ‡ΠΊΠ° находится Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠ°;

3) Ρ‚ΠΎΡ‡ΠΊΠ° располоТСна Π² Π³Ρ€Π°Π½ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠ°;

4) Ρ‚ΠΎΡ‡ΠΊΠ° ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Ρ€Π΅Π±Ρ€Ρƒ ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠ°;

5) Ρ‚ΠΎΡ‡ΠΊΠ° ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠ°;

6) Ρ‚ΠΎΡ‡ΠΊΠ° совпадаСт с Π²Π΅Ρ€ΡˆΠΈΠ½ΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠ°.

УсловиС задания сСкущСй плоскости трСмя Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΈ Π² ΡΡ‚ΠΎΠΌ случаС придСтся Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ плоскости сСчСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. Π’ Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ рассматриваСтся лишь способ задания трСмя Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ.

ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ сСчСний пространствСнных Ρ‚Π΅Π». Алгоритм

ΠœΠ΅Ρ‚ΠΎΠ΄ построСния сСчСния Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ Ρ‚ΠΎΡ‡Π΅ΠΊ пСрСсСчСния сСкущСй плоскости с Π³Ρ€Π°Π½ΡΠΌΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠ°, Π° Π²Π΅Ρ€Π½Π΅Π΅ с Ρ€Π΅Π±Ρ€Π°ΠΌΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠ°. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΏΠ΅Ρ€Π΅ΡΠ΅Ρ‡Π΅Π½ΠΈΠ΅ сСкущСй плоскости ΠΈ Ρ€Π΅Π±Ρ€Π° ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠ° производится ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

1. БоставлСниС уравнСния сСкущСй плоскости ΠΏΠΎ Ρ‚Ρ€Π΅ΠΌ Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌ;

2. ΠŸΠΎΠ΄ΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π² ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΊΠΎΠ½Ρ†ΠΎΠ² Ρ€Π΅Π±Ρ€Π° с Ρ†Π΅Π»ΡŒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ: располоТСны Π»ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ Π² Ρ€Π°Π·Π½Ρ‹Ρ… полупространствах ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ плоскости сСчСния.

3. НахоТдСниС Ρ‚ΠΎΡ‡ΠΊΠΈ пСрСсСчСния Ρ€Π΅Π±Ρ€Π° ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠ° ΠΈ ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΠΈ сСчСния.

Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Ρ€Π°Π½ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π΄Π²Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ запись производится Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ‚Π΅Ρ… Π³Ρ€Π°Π½Π΅ΠΉ, Π³Π΄Π΅ ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΡŒ сСчСния пСрСсСкла Π΄Π²Π° Ρ€Π΅Π±Ρ€Π°. Π”Π°Π»Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, строится ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ сСчСния ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

1. Π‘Π΅Ρ€Π΅ΠΌ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΏΠ°Ρ€Ρƒ Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΈ ΠΈΡ‰Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΠ°Ρ€Ρƒ Ρ‚ΠΎΡ‡Π΅ΠΊ Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ повторяСтся ΠΎΠ΄Π½Π° ΠΈΠ· Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΠ°Ρ€Ρ‹.

2. Найдя ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΠ°Ρ€Ρƒ ΠΏΡ€ΠΎΠ΄Π΅Π»Ρ‹Π²Π°Π΅ΠΌ для Π½Π΅Π΅ Ρ‚ΠΎΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ ΠΈ Π΄Π»Ρ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΠ°Ρ€Ρ‹, Π½ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΈΠ· ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΏΠ°Ρ€Ρƒ.

3. ΠŸΡ€ΠΎΠ΄Π΅Π»Ρ‹Π²Π°Π΅ΠΌ вСсь Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°Ρ€Ρ‹, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΎΡΡ‚анСтся ΠΎΠ΄Π½Π° нСнайдСнная Ρ‚ΠΎΡ‡ΠΊΠ°.

4. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Π°Ρ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° являСтся ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ описаниСм Ρ€Π΅Π±Π΅Ρ€ ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° сСчСния.

Π”Π°Π»Π΅Π΅ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, ΠΊΠ°ΠΊ Π½ΠΎΠ²ΡƒΡŽ Π³Ρ€Π°Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠ°.

ИсслСдованиС свойств сСчСния

ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ свойства сСчСния (исходя ΠΈΠ· Ρ„Π°ΠΊΡ‚Π°, Ρ‡Ρ‚ΠΎ сСчСниСм являСтся ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ).

1. Π£Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ плоскости сСчСния.

2. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π²Π΅Ρ€ΡˆΠΈΠ½ ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° сСчСния.

3. ΠŸΠ»ΠΎΡ‰Π°Π΄ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° сСчСния.

4. ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π²Π΅Ρ€ΡˆΠΈΠ½ ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° сСчСния.

5. Π”Π²ΡƒΠ³Ρ€Π°Π½Π½Ρ‹ΠΉ ΡƒΠ³ΠΎΠ» ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΡŒΡŽ сСчСния ΠΈ Π³Ρ€Π°Π½ΡΠΌΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠ°.

6. Π£Π³Π»Ρ‹ ΠΏΡ€ΠΈ Π²Π΅Ρ€ΡˆΠΈΠ½Π°Ρ… ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° сСчСния.

НСкоторыС ΠΈΠ· ΡΡ‚ΠΈΡ… свойств Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ (1,2,3,4).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: НахоТдСниС ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΈ сСчСния. Π’Π°ΠΊ ΠΊΠ°ΠΊ строятся сСчСния Π²Ρ‹ΠΏΡƒΠΊΠ»Ρ‹Ρ… ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠΎΠ², Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ сСчСния Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΎΠΆΠ΅ Π²Ρ‹ΠΏΡƒΠΊΠ»Ρ‹ΠΌ, Ρ‚. Π΅. Π΅Π³ΠΎ ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ΠΌ Π½Π° Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ (ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ сСчСния Ρ€Π°Π²Π½Π° суммС ΠΏΠ»ΠΎΡ‰Π°Π΄Π΅ΠΉ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ² ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ½ΠΎ составлСно).

3. Визуализация. Бпособы Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ пространства

Для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π΄Π²Π° Π²ΠΈΠ΄Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΉ: ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Π΅ (аксономСтричСскиС) (Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ слСва) ΠΈ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹Π΅ (пСрспСктивныС) (Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ справа). ΠŸΡ€ΠΈ построСнии аксономСтричСской ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΈ пространствСнного Ρ‚Π΅Π»Π° Π΅Π³ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ сносятся Π½Π° ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡƒΡ‡ΠΊΠΎΠΌ Π»ΡƒΡ‡Π΅ΠΉ, Π° ΠΏΡ€ΠΈ построСнии Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΈ — ΠΏΡƒΡ‡ΠΊΠΎΠΌ Π»ΡƒΡ‡Π΅ΠΉ исходящих ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ полоТСнию Π³Π»Π°Π· Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»Ρ. Частным случаСм аксономСтричСской ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΈ являСтся проСкция ортографичСская, ΠΏΡ€ΠΈ построСнии ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΈ выравниваСтся ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π½Ρ‹Ρ… плоскостСй.

ΠŸΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅

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

ΠžΡΠ²Π΅Ρ‰Π΅Π½Π½ΠΎΡΡ‚ΡŒ

ΠžΡΠ²Π΅Ρ‰Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π³Ρ€Π°Π½Π΅ΠΉ вычисляСтся ΠΏΡƒΡ‚Π΅ΠΌ, вычислСния ΡƒΠ³Π»Π° (синуса ΡƒΠ³Π»Π°) ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠΌ ΠΊ Π³Ρ€Π°Π½ΠΈ ΠΈ ΠΎΡΡŒΡŽ ортографичСской ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΈ.

4. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠ³ΠΎ прилоТСния

ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ.

1. ΠŸΡ€ΠΎΡΡ‚ΠΎΡ‚Π° использования.

2. ΠŸΠΎΠ»Π½ΠΎΡ‚Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… инструмСнтов ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Π΅ΠΉ.

3. Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ.

4. Быстрота Ρ€Π°Π±ΠΎΡ‚Ρ‹.

5. ΠŸΡ€ΠΎΡΡ‚ΠΎΡ‚Π° создания Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° интСрфСйса ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ интСрфСйса ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΡƒΠΊΠ»ΠΎΠ½ дСлался Π½Π° ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ мСню ΠΈ ΡƒΠ΄ΠΎΠ±ΡΡ‚Π²ΠΎ использования. Π’Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° функция встроСнных подсказок (Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΠΈ Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ состояния).

Окна ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΉ

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚Ρ€ΠΈ ΠΎΠΊΠ½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΈ: Π²ΠΈΠ΄ свСрху, Π²ΠΈΠ΄ слСва, Π²ΠΈΠ΄ спСрСди, пСрспСктива. Π Π°Π·ΠΌΠ΅Ρ€ ΠΎΠΊΠΎΠ½ ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΈ измСняСтся ΠΏΡƒΡ‚Π΅ΠΌ пСрСмСщСния Ρ†Π΅Π½Ρ‚Π° раздСлитСля. Π’Π°ΠΊΠΆΠ΅ здСсь ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ оси ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚. БущСствуСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π½ΠΎΠΉ сСтки.

МСню ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

Π€Π°ΠΉΠ»

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ (Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ„Π°ΠΉΠ»Π° ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠ°).

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ (сохранСниС Ρ„Π°ΠΉΠ»Π°).

Π’Ρ‹Ρ…ΠΎΠ΄ (Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹).

ΠŸΡ€Π°Π²ΠΊΠ°

Бброс (сброс всСх ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²).

Π’ΠΈΠ΄

ΠšΠ°Ρ€ΠΊΠ°Ρ (ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Ρ€Π΅Π±Ρ€Π° ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠ°).

Π—Π°Π»ΠΈΠ²ΠΊΠ° (Π²Ρ‹Π²ΠΎΠ΄ Π³Ρ€Π°Π½Π΅ΠΉ, с Ρ€Π°ΡΡ‡Π΅Ρ‚ΠΎΠΌ ΠΈΡ… ΠΎΡΠ²Π΅Ρ‰Π΅Π½Π½ΠΎΡΡ‚ΠΈ).

ΠžΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΡ‚ΡŒ (ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠ°).

Π‘Π΅Ρ‚ΠΊΠ° (Π²Ρ‹Π²ΠΎΠ΄ сСтки ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚).

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹

Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ (позволяСт Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΠΈ Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠ΅ сСчСниС).

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ (ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠ°).

ΠŸΠΎΠ²Π΅Ρ€Π½ΡƒΡ‚ΡŒ (ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠ°).

ΠœΠ°ΡΡˆΡ‚Π°Π± (ΠΌΠ°ΡΡˆΡ‚Π°Π± ΠΎΠΊΠΎΠ½ ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΉ).

Π‘Ρ‚ΠΈΡ€ΠΊΠ° (позволяСт ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π·Π°Π»ΠΈΠ²ΠΊΡƒ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ Π³Ρ€Π°Π½ΠΈ).

Π—Π°Π»ΠΈΠ²ΠΊΠ° (позволяСт Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π·Π°Π»ΠΈΠ²ΠΊΡƒ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ Π³Ρ€Π°Π½ΠΈ).

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ (ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ манипулирования сцСной ΠΏΠΎ ΠΎΡΡΠΌ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚).

Π¦Π΅Π½Ρ‚ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π° (ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ†Π΅Π½Ρ‚Ρ€Π° ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π°).

Π Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ (ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ‚ΠΎΡ‡Π΅ΠΊ Π·Π°Π΄Π°ΡŽΡ‰ΠΈΡ… сСчСниС вмСстС с ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠ°).

Π‘Π΅Ρ‡Π΅Π½ΠΈΠ΅

ΠŸΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ (построСниС сСчСния ΠΏΡƒΡ‚Π΅ΠΌ задания Ρ‚Ρ€Π΅Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ плоскости сСчСния).

Π£Π΄Π°Π»ΠΈΡ‚ΡŒ (ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ сСчСния).

Π’ΠΈΠ΄ (настройка Π²ΠΈΠ΄Π° сСчСния).

ΠŸΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ (привязка Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ сСчСния ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌ ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠ°).

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ (ΠΎΠΊΠ½ΠΎ просмотра сСчСния).

Настройка

Π¦Π²Π΅Ρ‚ (Π²Ρ‹Π·ΠΎΠ² Π΄ΠΈΠ°Π»ΠΎΠ³Π° измСнСния Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠΉ схСмы)

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Основной ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π²Ρ‹Π±ΠΎΡ€Π΅ инструмСнта, Π·Π°Ρ‚Π΅ΠΌ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ курсора Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ дСйствия ΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΡΡ†ΠΈΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ наТатия клавиши ΠΌΡ‹ΡˆΠΈ.

Π”ΠΈΠ°Π»ΠΎΠ³ просмотра сСчСния

Π’Ρ‹Π²ΠΎΠ΄ ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° сСчСния производится с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π° плоскости сСчСния Π² ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ плоскости XOY.

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

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

Π‘ΠΎΠ·Π΄Π°Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ пространствСнныС Ρ‚Π΅Π»Π° ΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠΈ — это ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ пространствСнных Ρ‚Π΅Π». Π”Π°Π»Π΅Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° функция построСния сСчСния пространствСнных Ρ„ΠΈΠ³ΡƒΡ€ ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΡŒΡŽ, которая задаСтся трСмя Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ, ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ. ΠœΠΈΠ½ΡƒΡΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ являСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ изучСния Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ΠΏΡƒΠΊΠ»Ρ‹Ρ… Ρ„ΠΈΠ³ΡƒΡ€ ΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ построСния Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ сСчСния.

ΠŸΡƒΡ‚ΠΈ дальнСйшСго развития ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:

1. ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… сСчСний;

2. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π΅Π²Ρ‹ΠΏΡƒΠΊΠ»Ρ‹Ρ… Ρ„ΠΈΠ³ΡƒΡ€;

3. ΠŸΠΎΠ΄Π±ΠΎΡ€ Π·Π°Π΄Π°Ρ‡ Ρ€Π΅ΡˆΠ°Π΅ΠΌΡ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ созданного прилоТСния;

4. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊ примСнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ;

5. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ конструктора пространствСнных Ρ‚Π΅Π»;

6. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ инструмСнта для построСния сСчСний пространствСнных Ρ„ΠΈΠ³ΡƒΡ€ аксиоматичСским ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ («Π–ивая стСрСомСтрия»);

7. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎ модуля ΠΈ ΠΌΠ΅Ρ‚одичСского сопровоТдСния ΠΊ Π½Π΅ΠΌΡƒ;

8. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅.

Π˜Π·ΡƒΡ‡Π°Π΅ΠΌΠ°Ρ Π² Π΄Π°Π½Π½ΠΎΠΉ курсовой Ρ€Π°Π±ΠΎΡ‚Π΅ Ρ‚Π΅ΠΌΠ°, Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΡƒΡ‡Π΅Π½Π° Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ цСлСсообразноС ΠΈ ΡƒΠ΄Π°Ρ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

ВСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ComCtrls, Menus, ExtCtrls, jpeg, ToolWin, StdCtrls, ImgList;

type

Point=record x, y, z: real end; {ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ‚ΠΎΡ‡ΠΊΠΈ}

Vector=record x, y, z: real end; {ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π²Π΅Ρ‚ΠΎΡ€Π°}

type

TForm1 = class (TForm)

StatusBar1: TStatusBar; StatusBar2: TStatusBar; MainMenu1: TMainMenu;

N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; N4: TMenuItem; N5: TMenuItem; N6: TMenuItem;

N20: TMenuItem; N21: TMenuItem; N22: TMenuItem; N18: TMenuItem; N25: TMenuItem; N30: TMenuItem;

N31: TMenuItem; N32: TMenuItem; N33: TMenuItem; OD1: TOpenDialog; SD1: TSaveDialog;

PTop: TPanel; ITop: TImage; PFront: TPanel; PLeft: TPanel; PPerspective: TPanel; IFront: TImage;

ILeft: TImage; IPerspective: TImage; GroupBox1: TGroupBox; Vertikal: TPanel; Horizontal: TPanel; Panel3: TPanel;

Centr: TPanel; ImList1: TImageList; N23: TMenuItem; ToolBar1: TToolBar;

ToolButton1: TToolButton; ToolButton2: TToolButton; ToolButton3: TToolButton; ToolButton4: TToolButton;

ToolButton5: TToolButton; ToolButton6: TToolButton; ToolButton7: TToolButton; ToolButton8: TToolButton;

ToolButton9: TToolButton; ToolButton10: TToolButton; ToolButton14: TToolButton; ToolButton19: TToolButton;

ToolButton11: TToolButton; ToolButton12: TToolButton; Label1: TLabel; ToolButton13: TToolButton;

N26: TMenuItem; N27: TMenuItem; N28: TMenuItem; N29: TMenuItem; N34: TMenuItem; N35: TMenuItem;

N36: TMenuItem; N37: TMenuItem; N38: TMenuItem; N39: TMenuItem; N40: TMenuItem; N41: TMenuItem;

N42: TMenuItem; N43: TMenuItem; N45: TMenuItem; N46: TMenuItem; N47: TMenuItem; N51: TMenuItem;

IntWiew: TMenuItem; N7: TMenuItem; N8: TMenuItem; N9: TMenuItem; N10: TMenuItem; N11: TMenuItem;

N12: TMenuItem; N13: TMenuItem; N14: TMenuItem; N15: TMenuItem; N16: TMenuItem; N17: TMenuItem;

N24: TMenuItem; N19: TMenuItem; Mag1: TMenuItem; Mag2: TMenuItem; Mag3: TMenuItem;

procedure N5Click (Sender: TObject);

procedure CentrMouseMove (Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure CentrMouseUp (Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure FormCreate (Sender: TObject); procedure FormResize (Sender: TObject); procedure N2Click (Sender: TObject);

procedure ITopClick (Sender: TObject); procedure IFrontClick (Sender: TObject); procedure ILeftClick (Sender: TObject);

procedure ITopMouseMove (Sender: TObject; Shift: TShiftState; X, Y: Integer);

procedure IFrontMouseMove (Sender: TObject; Shift: TShiftState; X, Y: Integer);

procedure ILeftMouseMove (Sender: TObject; Shift: TShiftState; X, Y: Integer);

procedure N3Click (Sender: TObject); procedure N33Click (Sender: TObject); procedure ToolButton1Click (Sender: TObject); procedure ToolButton2Click (Sender: TObject); procedure FormPaint (Sender: TObject);

procedure ITopMouseDown (Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure IFrontMouseDown (Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure ILeftMouseDown (Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure N25Click (Sender: TObject); procedure N21Click (Sender: TObject);

procedure N22Click (Sender: TObject); procedure N8Click (Sender: TObject);

procedure N16Click (Sender: TObject); procedure IntWiewClick (Sender: TObject);

procedure N27Click (Sender: TObject); procedure N28Click (Sender: TObject);

procedure N29Click (Sender: TObject); procedure N34Click (Sender: TObject);

procedure N36Click (Sender: TObject); procedure N37Click (Sender: TObject);

procedure N9Click (Sender: TObject); procedure N10Click (Sender: TObject);

procedure IPerspectiveClick (Sender: TObject);

procedure N41Click (Sender: TObject); procedure N14Click (Sender: TObject);

procedure N18Click (Sender: TObject); procedure ToolButton4Click (Sender: TObject);

procedure ToolButton5Click (Sender: TObject); procedure ToolButton6Click (Sender: TObject);

procedure ToolButton7Click (Sender: TObject); procedure ToolButton8Click (Sender: TObject);

procedure ToolButton9Click (Sender: TObject); procedure ToolButton12Click (Sender: TObject);

procedure ToolButton11Click (Sender: TObject); procedure ToolButton19Click (Sender: TObject);

procedure ToolButton13Click (Sender: TObject); procedure N24Click (Sender: TObject);

procedure N19Click (Sender: TObject); Function Normal (A, B, C: Point):Vector;

procedure Mag1Click (Sender: TObject); procedure Mag2Click (Sender: TObject);

procedure Mag3Click (Sender: TObject);

private

{Private declarations}

Procedure DrawGrane;

public

{Public declarations}

end;

const Gran=10 000; {ΠœΠ°ΠΊΡΠΈΠΌΡƒΠΌ Π³Π°Π½Π΅ΠΉ}

Pointer=10 000; {ΠœΠ°ΠΊΡΠΈΠΌΡƒΠΌ Π²Π΅Ρ€ΡˆΠΈΠ½}

Lok=0.1; {ΠŸΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΡŒ сСчСния}

SizeT=5; {Π Π°Π·ΠΌΠ΅Ρ€ Ρ‚ΠΎΡ‡Π΅ΠΊ сСчСния}

Sumbol='A'; {ΠžΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΡ‡Π΅ΠΊ}

type

TView=array [1.gran] of record Visible: boolean; {Π€Π»Π°Π³ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°}

Paint:boolean;

BrushGr:boolean; {Π€Π»Π°Π³ Π·Π°Π»ΠΈΠ²ΠΊΠΈ Π³Ρ€Π°Π½ΠΈ}

PenRb:boolean; {Π€Π»Π°Π³ отрисовки Ρ€Π΅Π±Π΅Ρ€}

Intersection:boolean; {Π€Π»Π°Π³ наличия сСчСния}

ColorGr, ColorRb: TColor {Π¦Π²Π΅Ρ‚: Π³Ρ€Π°Π½ΠΈ, Ρ€Π΅Π±Ρ€Π°} end;

TMainVar=record Cx, Cy: integer; Mash: real; Net: boolean; end;

var

Form1: TForm1;

V:array [1.pointer] of Point; {ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π²Π΅Ρ€ΡˆΠΈΠ½}

E:array [1.gran, 0. pointer] of integer; {Π³Ρ€Π°Π½ΠΈ [Π½ΠΎΠΌΠ΅Ρ€ Π³Ρ€Π°Π½ΠΈ, Π½ΠΎΠΌΠ΅Ρ€ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹]}

Scene:array [1.4] of record G: TView; M: TMainVar; Active: boolean; end;

M, N: word; {количСство Π³Ρ€Π°Π½Π΅ΠΉ, количСство Π²Π΅Ρ€ΡˆΠΈΠ½}

X0, Y0, Num: integer; {ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ‰Π΅Π»Ρ‡ΠΊΠ° ΠΌΡ‹ΡˆΠΈ}

ActivColor, ColorEder, ColorUnEder, ColorRebro, ColorIntersection, ColorPointIntersection, ColorNet: TColor; {Π¦Π²Π΅Ρ‚: Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°}

InterPoint:array [1.3] of Point;

Count:byte;

kl:integer;

A, B, C, D, P1, P2, P3: real;

PanelWindow:array [1.4] of TPanel;

WindowProection:array [1.4] of TImage;

NameWindows:array [1.4] of string=('Π’ΠΈΠ΄ свСрху', 'Π’ΠΈΠ΄ спСрСди', 'Π’ΠΈΠ΄ слСва', 'ΠŸΠ΅Ρ€ΡΠΏΠ΅ΠΊΡ‚ΠΈΠ²Π°'); {НазваниС ΠΎΠΊΠΎΠ½}

OsiX:array [1.4] of string=('x', 'x', 'y', 'x');

OsiY:array [1.4] of string=('z', 'y', 'x', 'z');

OsiZ:array [1.4] of string=('y', 'z', 'z', 'y');

Magnit:array [1.3] of TMenuItem;

MagPoint:array [1. 3,1.2] of Point;

First:array [1.3] of boolean;

MPI:boolean;

implementation

uses Unit2, Unit3;

// ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ вСщСствСнных ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Π² ΡΠΊΡ€Π°Π½Π½Ρ‹Π΅

Function Ser (win:byte; T: Point; Main: TMainVar):TPoint;

var CopySer: Tpoint;

begin

case win of

1: begin CopySer. X:=round (Main. Cx+(T.x*Main. Mash));

CopySer.Y:=round (Main. Cy — (T.y*Main. Mash)) end;

2: begin CopySer. X:=round (Main. Cx+(T.x*Main. Mash));

CopySer.Y:=round (Main. Cy — (T.z*Main. Mash)) end;

3: begin CopySer. X:=round (Main. Cx+(T.y*Main. Mash));

CopySer.Y:=round (Main. Cy — (T.z*Main. Mash)) end;

4: begin CopySer. X:=round (Main. Cx+(T.x*Main. Mash));

CopySer.Y:=round (Main. Cy — (T.y*Main. Mash)) end;

end;

Ser:=CopySer

end;

Function UnSer (win:byte; X, Y: integer; Tx, Ty, Tz: real; Main: TMainVar):Point;

var CopyUnSer: Point;

begin

case win of

1: begin CopyUnSer. x:=(X-Main. Cx)/Main. Mash;

CopyUnSer.y:=(Main. Cy-Y)/Main. Mash; CopyUnSer. z:=Tz end;

2: begin CopyUnSer. x:=(X-Main. Cx)/Main. Mash;

CopyUnSer.y:=Ty; CopyUnSer. z:=(Main. Cy-Y)/Main. Mash end;

3: begin CopyUnSer. x:=Tx; CopyUnSer. y:=(X-Main. Cx)/Main. Mash;

CopyUnSer.z:=(Main. Cy-Y)/Main. Mash end;

end;

UnSer:=CopyUnSer

end;

Procedure TForm1. DrawGrane;

Procedure GranBrush (Main:TMainVar; win: byte; i: integer; P: TPenStyle; var Can: TImage);

var j: integer;

w:array of TPoint;

begin

SetLength (w, E [i, 0]);

for j:=1 to E [i, 0] do

w [j1]: =Ser (win, V [E[i, j]], Main);

if Scene[win]. G[i].BrushGr and Scene[win]. G[i].Paint then

begin

Can. Canvas. Pen. Style:=psSolid;

Can. Canvas. Pen. Color:=Scene[win]. G[i].ColorGr;

Can. Canvas. Brush. Color:=Scene[win]. G[i].ColorGr;

Can. Canvas. Polygon (w);

end;

if Scene[win]. G[i].PenRb then

begin

Can. Canvas. Pen. Style:=P;

Can. Canvas. Pen. Color:=Scene[win]. G[i].ColorRb;

Can. Canvas. Brush. Style:=bsClear;

Can. Canvas. MoveTo (w[0]. X, w[0]. Y);

for j:=1 to E [i, 0] - 1 do

Can. Canvas. LineTo (w[j]. X, w[j]. Y);

Can. Canvas. LineTo (w[0]. X, w[0]. Y);

end;

end;

// * Оси ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚

Procedure LineOs (i:byte; var Can: TImage);

var j, k, a, b: integer;

begin

Can. Canvas. Pen. Color:=ColorNet;

a:=round (Can. Width/Scene[i]. M. Mash) div 2;

b:=round (Can. Height/Scene[i]. M. Mash) div 2;

for j:=-a to a do

begin

Can. Canvas. MoveTo (Scene[i]. M. Cx+round (j*Scene[i]. M. Mash), 0);

Can. Canvas. LineTo (Scene[i]. M. Cx+round (j*Scene[i]. M. Mash), Can. Height);

end;

for j:=-b to b do

begin

Can. Canvas. MoveTo (0, Scene[i]. M. Cy+round (j*Scene[i]. M. Mash));

Can. Canvas. LineTo (Can. Width, Scene[i]. M. Cy+round (j*Scene[i]. M. Mash));

end;

Can. Canvas. Pen. Color:=clBlack;

Can. Canvas. MoveTo (Scene[i]. M. Cx, 0);

Can. Canvas. LineTo (Scene[i]. M. Cx, Can. Height);

Can. Canvas. MoveTo (0, Scene[i]. M. Cy);

Can. Canvas. LineTo (Can. Width, Scene[i]. M. Cy);

end;

// БистСма ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚

Procedure InpOboz (i, k: integer);

var j: integer;

A:TPoint;

s:string;

begin

WindowProection[k]. Canvas. Pen. Color:=clBlack;

WindowProection[k]. Canvas. Brush. Style:=bsClear;

WindowProection[k]. Canvas. Font. Height:=8;

for j:=1 to E [i, 0] do

begin

s:='';

A:=Ser (k, V [E[i, j]], Scene[k]. M);

if Form1. N24. Checked then

s:=s+Sumbol+inttostr (E[i, j]);

if Form1. N19. Checked then

s:=s+' ('+floattostrf (V[E [i, j]]. x, ffGeneral, 3,5)+';'+floattostrf (V[E [i, j]]. y, ffGeneral, 3,5)+';'+floattostrf (V[E [i, j]]. z, ffGeneral, 3,5)+')';

WindowProection[k]. Canvas. TextOut (A.X, A. Y, s);

end;

end;

Procedure InpOsi (k:byte);

var i: integer;

begin

WindowProection[k]. Canvas. Pen. Color:=clBlack;

WindowProection[k]. Canvas. Brush. Style:=bsClear;

WindowProection[k]. Canvas. MoveTo (10, WindowProection[k]. Height10);

WindowProection[k].Canvas. LineTo (10, WindowProection[k]. Height40);

WindowProection[k].Canvas. MoveTo (10, WindowProection[k]. Height10);

WindowProection[k].Canvas. LineTo (40, WindowProection[k]. Height10);

WindowProection[k].Canvas. Font. Height:=8;

WindowProection[k]. Canvas. Font. Color:=clBlue;

WindowProection[k]. Canvas. TextOut (12, WindowProection[k]. Height50, OsiX[K]);

WindowProection[k]. Canvas. TextOut (12, WindowProection[k]. Height23, OsiY[K]);

WindowProection[k]. Canvas. TextOut (40, WindowProection[k]. Height20, OsiZ[K]);

end;

var i, j: integer;

begin

for j:=1 to 4 do

begin

if Scene[j]. M. Net then

LineOs (j, WindowProection[j]);

if Form1. IntWiew. Enabled and Form1. N46. Checked then

GranBrush (Scene[j]. M, j, M+1, psSolid, WindowProection[j]);

for i:=1 to M do

if (not Scene[j]. G[i].Visible) then

GranBrush (Scene[j]. M, j, i, psDot, WindowProection[j]);

if Form1. IntWiew. Enabled and Form1. N45. Checked then

GranBrush (Scene[j]. M, j, M+1, psSolid, WindowProection[j]);

for i:=1 to M do

if Scene[j]. G[i].Visible then

GranBrush (Scene[j]. M, j, i, psSolid, WindowProection[j]);

if Form1. N24. Checked or Form1. N19. Checked then

for i:=1 to M do

if Scene[j]. G[i].Visible then

InpOboz (i, j);

WindowProection[j]. Canvas. Brush. Style:=bsClear;

WindowProection[j]. Canvas. Font. Height:=8;

WindowProection[j]. Canvas. Font. Color:=clBlack;

WindowProection[j]. Canvas. TextOut (1,1, NameWindows[j]);

InpOsi (j);

end;

end;

{$R *.dfm}

// * Активация ΠΎΠΊΠ½Π°

Procedure ActivWindowProection (i:byte);

var j: byte;

begin

for j:=1 to 3 do

begin

PanelWindow[j]. Color:=clBtnFace;

Scene[j].Active:=false

end;

PanelWindow[i].Color:=ActivColor;

Scene[i].Active:=true

end;

// * ΠŸΠΎΠ»ΡƒΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΡŒ

Function SelectGran (i, x, y: integer):integer;

Function Poluploscost (x1, y1, x2, y2, x, y: real):boolean;

begin

Poluploscost:=((x-x1)*(y2_y1) — ((y-y1)*(x2_x1)))>0

end;

var j, k, l, rez: integer;

Inter:boolean;

begin

rez:=0; Inter:=true;

for k:=1 to M do

if Scene[i]. G[k].Visible then

begin

for j:=1 to E [k, 0] - 1 do

case i of

1: if Poluploscost (V[E [k, j]]. x, V [E[k, j]]. y, V [E[k, j+1]]. x, V [E[k, j+1]]. y, (X-Scene[i]. M. Cx)/Scene[i]. M. Mash, (Scene[i]. M. Cy-Y)/Scene[i]. M. Mash) then Inter:=false;

2: if not Poluploscost (V[E [k, j]]. x, V [E[k, j]]. z, V [E[k, j+1]]. x, V [E[k, j+1]]. z, (X-Scene[i]. M. Cx)/Scene[i]. M. Mash, (Scene[i]. M. Cy-Y)/Scene[i]. M. Mash) then Inter:=false;

3: if Poluploscost (V[E [k, j]]. y, V [E[k, j]]. z, V [E[k, j+1]]. y, V [E[k, j+1]]. z, (X-Scene[i]. M. Cx)/Scene[i]. M. Mash, (Scene[i]. M. Cy-Y)/Scene[i]. M. Mash) then Inter:=false;

end;

if Inter then

case i of

1: if Poluploscost (V[E [k, E [k, 0]]]. x, V [E[k, E [k, 0]]]. y, V [E[k, 1]]. x, V [E[k, 1]]. y, (X-Scene[i]. M. Cx)/Scene[i]. M. Mash, (Scene[i]. M. Cy-Y)/Scene[i]. M. Mash) then Inter:=false;

2: if not Poluploscost (V[E [k, E [k, 0]]]. x, V [E[k, E [k, 0]]]. z, V [E[k, 1]]. x, V [E[k, 1]]. z, (X-Scene[i]. M. Cx)/Scene[i]. M. Mash, (Scene[i]. M. Cy-Y)/Scene[i]. M. Mash) then Inter:=false;

3: if Poluploscost (V[E [k, E [k, 0]]]. y, V [E[k, E [k, 0]]]. z, V [E[k, 1]]. y, V [E[k, 1]]. z, (X-Scene[i]. M. Cx)/Scene[i]. M. Mash, (Scene[i]. M. Cy-Y)/Scene[i]. M. Mash) then Inter:=false;

end;

if Inter then

begin

rez:=k;

Break;

end

else

begin

rez:=0;

Inter:=true;

end;

end;

SelectGran:=rez;

end;

// * Π’Ρ‹Π±ΠΎΡ€ Ρ‚ΠΎΡ‡Π΅ΠΊ сСчСния

Procedure MoveP (win, j, X, Y: integer);

Procedure PNormal (P1, P2: Point; var M: Point);

var i: integer;

Li, No: Vector;

O: Point;

Q, P1O, P2O: real;

begin

Li.x:=P1.x-P2.x;

Li.y:=P1.y-P2.y;

Li.z:=P1.z-P2.z;

No.x:=M.x-P1.x;

No.y:=M.y-P1.y;

No.z:=M.z-P1.z;

Q:=sqr (Li.x)+sqr (Li.y)+sqr (Li.z);

O.x:=(Li.x*((Li.y*No.y)+(Li.z*No.z)+(Li.x*M.x))+(P1.x*(sqr (Li.y)+sqr (Li.z))))/Q;

O.y:=(Li.y*((Li.x*No.x)+(Li.z*No.z)+(Li.y*M.x))+(P1.y*(sqr (Li.x)+sqr (Li.z))))/Q;

O.z:=(Li.z*((Li.x*No.x)+(Li.y*No.y)+(Li.z*M.x))+(P1.z*(sqr (Li.x)+sqr (Li.y))))/Q;

P1O:=sqrt (sqr (O.x-P1.x)+sqr (O.y-P1.y)+sqr (O.z-P1.z));

P2O:=sqrt (sqr (O.x-P2.x)+sqr (O.y-P2.y)+sqr (O.z-P2.z));

if (P1O<>0) and (P2O<>0) then

if (sqrt (Q)/P1O<1) or (sqrt (Q)/P2O<1) then

if P1O/P2O<1 then O:=P1 else O:=P2;

M:=O;

end;

begin

InterPoint[j]: =UnSer (win, X, Y, InterPoint[j]. x, InterPoint[j]. y, InterPoint[j]. z, Scene[win]. M);

if Magnit[j]. Checked and (not first[j]) then

PNormal (MagPoint[j, 1], MagPoint [j, 2], InterPoint[j]);

Form1. StatusBar2. Panels[0]. Text:='X= '+floattostrf (InterPoint[j]. x, ffGeneral, 3,5);

Form1. StatusBar2. Panels[1]. Text:='Y= '+floattostrf (InterPoint[j]. y, ffGeneral, 3,5);

Form1. StatusBar2. Panels[2]. Text:='Z= '+floattostrf (InterPoint[j]. z, ffGeneral, 3,5);

end;

Procedure SelectPointIntersection (i, x, y: integer; var Num: integer);

Function SelP (X, Y, Xt, Yt, ST: real):boolean;

var Obl: boolean;

begin

Obl:=false;

if (X<(Xt+ST)) and (X>(Xt-ST)) then

if (Y<(Yt+ST)) and (Y>(Yt-ST)) then

Obl:=true;

SelP:=Obl;

end;

var j: integer;

begin

Num:=0;

for j:=1 to 3 do

case i of

1: if SelP ((X-Scene[i]. M. Cx)/Scene[i]. M. Mash, (Scene[i]. M. Cy-Y)/Scene[i]. M. Mash, InterPoint[j]. x, InterPoint[j]. y, SizeT/Scene[i]. M. Mash) then Num:=j;

2: if SelP ((X-Scene[i]. M. Cx)/Scene[i]. M. Mash, (Scene[i]. M. Cy-Y)/Scene[i]. M. Mash, InterPoint[j]. x, InterPoint[j]. z, SizeT/Scene[i]. M. Mash) then Num:=j;

3: if SelP ((X-Scene[i]. M. Cx)/Scene[i]. M. Mash, (Scene[i]. M. Cy-Y)/Scene[i]. M. Mash, InterPoint[j]. y, InterPoint[j]. z, SizeT/Scene[i]. M. Mash) then Num:=j;

end;

end;

Function SelReber (win, x, y: integer; var ds: TPoint):boolean;

var rez: boolean;

Function LinEx (i:integer; x1, y1, x2, y2, x, y: real):boolean;

begin

LinEx:=abs (round (((x-x1)*(y2_y1) — ((y-y1)*(x2_x1)))*Scene[i]. M. Mash))<5

end;

Procedure FindRb (ind1, ind2: integer);

begin

ds.x:=ind1;

ds.y:=ind2;

rez:=true;

end;

var j, k: integer;

begin

rez:=false;

for j:=1 to M do

if Scene[win]. G[j].Visible then

begin

for k:=1 to E [j, 0] - 1 do

begin

case win of

1: if LinEx (win, V [E[j, k]]. x, V [E[j, k]]. y, V [E[j, k+1]]. x, V [E[j, k+1]]. y, (X-Scene[win]. M. Cx)/Scene[win]. M. Mash, (Scene[win]. M. Cy-Y)/Scene[win]. M. Mash) then FindRb (E[j, k], E [j, k+1]);

2: if LinEx (win, V [E[j, k]]. x, V [E[j, k]]. z, V [E[j, k+1]]. x, V [E[j, k+1]]. z, (X-Scene[win]. M. Cx)/Scene[win]. M. Mash, (Scene[win]. M. Cy-Y)/Scene[win]. M. Mash) then FindRb (E[j, k], E [j, k+1]);

3: if LinEx (win, V [E[j, k]]. y, V [E[j, k]]. z, V [E[j, k+1]]. y, V [E[j, k+1]]. z, (X-Scene[win]. M. Cx)/Scene[win]. M. Mash, (Scene[win]. M. Cy-Y)/Scene[win]. M. Mash) then FindRb (E[j, k], E [j, k+1]);

end;

end;

case win of

1: if LinEx (win, V [E[j, E [j, 0]]]. x, V [E[j, E [j, 0]]]. y, V [E[j, 1]]. x, V [E[j, 1]]. y, (X-Scene[win]. M. Cx)/Scene[win]. M. Mash, (Scene[win]. M. Cy-Y)/Scene[win]. M. Mash) then FindRb (E[j, E [j, 0]], E [j, 1]);

2: if LinEx (win, V [E[j, E [j, 0]]]. x, V [E[j, E [j, 0]]]. z, V [E[j, 1]]. x, V [E[j, 1]]. z, (X-Scene[win]. M. Cx)/Scene[win]. M. Mash, (Scene[win]. M. Cy-Y)/Scene[win]. M. Mash) then FindRb (E[j, E [j, 0]], E [j, 1]);

3: if LinEx (win, V [E[j, E [j, 0]]]. y, V [E[j, E [j, 0]]]. z, V [E[j, 1]]. y, V [E[j, 1]]. z, (X-Scene[win]. M. Cx)/Scene[win]. M. Mash, (Scene[win]. M. Cy-Y)/Scene[win]. M. Mash) then FindRb (E[j, E [j, 0]], E [j, 1]);

end;

end;

SelReber:=rez;

end;

Procedure PenRebPr (d, ind1, ind2: integer);

var t: integer;

begin

WindowProection[d]. Canvas. Pen. Color:=clRed;

WindowProection[d]. Canvas. MoveTo (Ser (d, V[ind1], Scene[d]. M).X, Ser (d, V[ind1], Scene[d]. M).Y);

WindowProection[d].Canvas. LineTo (Ser (d, V[ind2], Scene[d]. M).X, Ser (d, V[ind2], Scene[d]. M).Y);

end;

// * ΠΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²Π΅ΠΊΡ‚ΠΎΡ€ ΠΊ Π³Ρ€Π°Π½ΠΈ

Function TForm1. Normal (A, B, C: Point):Vector;

begin

Normal.x:=((B.y-A.y)*(C.z-B.z)) — ((B.z-A.z)*(C.y-B.y));

Normal.y:=((B.z-A.z)*(C.x-B.x)) — ((B.x-A.x)*(C.z-B.z));

Normal.z:=((B.x-A.x)*(C.y-B.y)) — ((B.y-A.Y)*(C.x-B.x));

end;

// * РСализация ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π°

Procedure Rotate (Ax, Ay, Az: real; Ox, Oy, Oz: real); {ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ Π²ΠΎΠΊΡ€ΡƒΠ³ оси всС Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠ°}

procedure Transfer (var T: Point; Ox, Oy, Oz: real);

var W: Point;

begin

T.x:=T.x-Ox;

T.y:=T.y-Oy;

T.z:=T.z-Oz;

end;

Procedure UnTransfer (var T: Point; Ox, Oy, Oz: real);

var W: Point;

begin

T.x:=T.x+Ox;

T.y:=T.y+Oy;

T.z:=T.z+Oz;

end;

Procedure RX (a:real; var P: Point); {ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ Π²ΠΎΠΊΡ€ΡƒΠ³ оси OX ΠΎΠ΄Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ}

var Q: Point;

begin Q. x:=P.x; Q. y:=P.y*Cos (a)+P.z*Sin (a); Q. z:=-P.y*sin (a)+P.z*Cos (a); P:=Q end;

Procedure RY (a:real; var P: Point); {ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ Π²ΠΎΠΊΡ€ΡƒΠ³ оси OY ΠΎΠ΄Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ}

var Q: Point;

begin Q. x:=P.x*Cos (a) — P. z*Sin (a); Q. y:=P.y; Q. z:=P.x*sin (a)+P.z*Cos (a); P:=Q end;

Procedure RZ (a:real; var P: Point); {ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ Π²ΠΎΠΊΡ€ΡƒΠ³ оси OZ ΠΎΠ΄Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ}

var Q: Point;

begin Q. x:=P.x*Cos (a) — P. y*Sin (a); Q. y:=P.x*Sin (a)+P.y*Cos (a); Q. z:=P.z; P:=Q end;

var i: integer;

begin

if Form1. N17. Checked then

for i:=1 to Count do begin Transfer (InterPoint[i], Ox, Oy, Oz); RX (Ax, InterPoint[i]); RY (Ay, InterPoint[i]); RZ (Az, InterPoint[i]); UnTransfer (InterPoint[i], Ox, Oy, Oz) end;

for i:=1 to N do begin Transfer (V[i], Ox, Oy, Oz); RX (Ax, V[i]); RY (Ay, V[i]); RZ (Az, V[i]); UnTransfer (V[i], Ox, Oy, Oz); end;

end;

// * РСализация ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅

Procedure Move (Lx, Ly, Lz: real);

var i: integer;

begin

if Form1. N17. Checked then

for i:=1 to Count do begin InterPoint[i]. x:=InterPoint[i].x+Lx; InterPoint[i]. y:=InterPoint[i].y+Ly; InterPoint[i]. z:=InterPoint[i].z+Lz; end;

for i:=1 to N do begin V[i]. x:=V[i].x+Lx; V[i]. y:=V[i].y+Ly; V[i]. z:=V[i].z+Lz end;

end;

// * Π Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ осСй пСрСмСщСния

Procedure MoveOs;

begin

if Form1. Centr. Left+Form1. Centr. Width>Form1. ClientWidth then

Form1. Centr. Left:=Form1. ClientWidth-Form1. Centr. Width;

if Form1. Centr. Top+Form1. Centr. Height>Form1. GroupBox1. Top then

Form1. Centr. Top:=Form1. GroupBox1. Top-Form1. Centr. Height;

if Form1. Centr. Top

Form1. Centr. Top:=Form1. ToolBar1. Top+Form1. ToolBar1. Height;

Form1. Vertikal. Top:=Form1. ToolBar1. Height;

Form1. Vertikal. Left:=Form1. Centr. Left;

Form1. Vertikal. Height:=Form1. GroupBox1. Top-Form1. ToolBar1. Height;

Form1. Vertikal. Width:=Form1. Centr. Width;

Form1. Horizontal. Top:=Form1. Centr. Top;

Form1. Horizontal. Left:=0;

Form1. Horizontal. Height:=Form1. Centr. Height;

Form1. Horizontal. Width:=Form1. ClientWidth

end;

// * Π Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠΊΠΎΠ½ ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΉ.

Procedure MoveWindow;

var i: byte;

begin

{Π’ΠΈΠ΄ свСрху}

Form1.PTop. Top:=Form1. ToolBar1. Height;

Form1.PTop. Left:=0;

Form1.PTop. Height:=Form1. Centr. Top-Form1.PTop. Top;

Form1.PTop. Width:=Form1. Centr. Left;

{Π’ΠΈΠ΄ спСрСди}

Form1.PFront. Top:=Form1. ToolBar1. Height;

Form1.PFront. Left:=Form1. Centr. Left+Form1. Centr. Width;

Form1.PFront. Height:=Form1. Centr. Top-Form1.PFront. Top;

Form1.PFront. Width:=Form1. ClientWidth-Form1. Centr. Left-Form1. Centr. Width;

{Π’ΠΈΠ΄ слСва}

Form1.PLeft. Top:=Form1. Centr. Top+Form1. Centr. Height;

Form1.PLeft. Left:=0;

Form1.PLeft. Height:=Form1. GroupBox1. Top-Form1.PLeft. Top;

Form1.PLeft. Width:=Form1. Centr. Left;

{Окно пСрспСктивы}

Form1.PPerspective. Top:=Form1. Centr. Top+Form1. Centr. Height;

Form1.PPerspective. Left:=Form1. Centr. Left+Form1. Centr. Width;

Form1.PPerspective. Height:=Form1. GroupBox1. Top-Form1.PPerspective. Top;

Form1.PPerspective. Width:=Form1. ClientWidth-Form1. Centr. Left-Form1. Centr. Width;

{Π—Π°Π΄Π°Π΅ΠΌ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΌΠΈΡ€ΠΎΠ²ΠΎΠ³ΠΎ Ρ†Π΅Π½Ρ‚Ρ€Π°}

for i:=1 to 4 do

begin

Scene[i]. M. Cx:=WindowProection[i]. Width div 2;

Scene[i]. M. Cy:=WindowProection[i]. Height div 2;

end;

end;

// * Π’Ρ‹Π²ΠΎΠ΄ Ρ‚ΠΎΡ‡Π΅ΠΊ сСчСния

Procedure Puk;

var i, j: byte;

begin

for j:=1 to Count do

for i:=1 to 3 do

begin

WindowProection[i]. Canvas. Pen. Color:=ColorPointIntersection;

WindowProection[i]. Canvas. Ellipse (Ser (i, InterPoint[j], Scene[i]. M).X-SizeT, Ser (i, InterPoint[j], Scene[i]. M).Y-SizeT, Ser (i, InterPoint[j], Scene[i]. M).X+SizeT, Ser (i, InterPoint[j], Scene[i]. M).Y+SizeT);

end;

end;

// * ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ сСчСния

Procedure BildInter;

var i, j: integer;

Dipol:array [1.gran, 1.2] of Point;

Para, Count: integer;

Gp:array [0.gran] of Point;

Procedure UravPl (A1, A2, A3: Point; var A, B, C, D: real); {Π£Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ плоскости сСчСния}

var P: Vector;

begin

p:=Form1. Normal (A1, A2, A3);

A:=p.x;

B:=p.y;

C:=P.z;

D:= - ((A*A1.x)+(B*A1.y)+(C*A1.z))

end;

Function Sec (n, p: Point; A, B, C, D: real; var IP: Point):boolean; {Π’ΠΎΡ‡ΠΊΠΈ сСчСния}

var Kx, Ky, Kz, P1, P2, P3: real;

Yes:boolean;

begin

Yes:=false;

P1:=(A*n.x)+(B*n.y)+(C*n.z)+D;

P2:=(A*p.x)+(B*p.y)+(C*p.z)+D;

if P1=0 then begin IP:=n; Yes:=true end

else if P2=0 then begin IP:=p; Yes:=true end else

if P1*P2<0 then

begin

Yes:=true;

P1:=n.x-p.x; P2:=n.y-p.y; P3:=n.z-p.z;

if P1=0 then IP. x:=n.x

else

begin

Kx:=((B*P2)+(C*P3))/P1;

IP.x:=((Kx*n.x) — (B*n.y) — (C*n.z) — D)/(A+Kx);

end;

if P2=0 then IP. y:=n.y

else

begin

Ky:=((A*P1)+(C*P3))/P2;

IP.y:=((Ky*n.y) — (A*n.x) — (C*n.z) — D)/(B+Ky);

end;

if P3=0 then IP. z:=n.z

else

begin

Kz:=((A*P1)+(B*P2))/P3;

IP.z:=((Kz*n.z) — (A*n.x) — (B*n.y) — D)/(C+Kz);

end;

end;

Sec:=Yes;

end;

Procedure Cep; {ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° сСчСния}

Function RavPoi (a, b: point; Er: real):boolean;

var rez: boolean;

begin

rez:=false;

if abs (a.x-b.x)

if abs (a.y-b.y)

if abs (a.z-b.z)

RavPoi:=rez;

end;

var i, j: integer;

h, f: Point;

begin

for i:=1 to Count1 do

begin

for j:=i+1 to Count do

begin

if RavPoi (Dipol[j, 1], Dipol [i, 2], Lok) then

begin

h:=Dipol [i+1,1];

f:=Dipol [i+1,2];

Dipol [i+1,1]: =Dipol [j, 1];

Dipol [i+1,2]: =Dipol [j, 2];

Dipol [j, 1]: =h;

Dipol [j, 2]: =f;

Break;

end;

if RavPoi (Dipol[j, 2], Dipol [i, 2], Lok) then

begin

h:=Dipol [i+1,1];

f:=Dipol [i+1,2];

Dipol [i+1,1]: =Dipol [j, 2];

Dipol [i+1,2]: =Dipol [j, 1];

Dipol [j, 2]: =h;

Dipol [j, 1]: =f;

Break;

end;

end;

end;

Form1. Label1. Caption:='Π‘Π΅Ρ‡Π΅Π½ΠΈΠ΅ — '+inttostr (Count)+' ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ.';

E [M+1,0]: =Count;

for i:=1 to Count do

begin

V [N+i]: =Dipol [i, 1];

E [M+1, i]: =N+i;

end;

for i:=1 to 3 do

begin

Scene[i]. G [M+1]. Visible:=true;

Scene[i].G [M+1]. Paint:=true;

Scene[i].G [M+1]. BrushGr:=true;

end;

end;

begin

UravPl (InterPoint[1], InterPoint[2], InterPoint[3], A, B, C, D);

Count:=0;

for i:=1 to M do

begin

Para:=0;

for j:=1 to E [i, 0] - 1 do

begin

if Sec (V[E [i, j]], V [E[i, j+1]], A, B, C, D, Gp[Para]) then inc (para);

if Para>2 then Break;

end;

if Sec (V[E [i, E [i, 0]]], V [E[i, 1]], A, B, C, D, Gp[Para]) then inc (para);

if Para=2 then

begin

inc (Count);

Dipol [Count, 1]: =Gp[0];

Dipol [Count, 2]: =Gp[1];

end;

end;

if Count>2 then

begin

Form1. IntWiew. Enabled:=true;

Cep;

end;

end;

Procedure WindowsMove (X, Y, i: integer; shift: TShiftState);

var a, b, c: string;

h, k: integer;

Par:TPoint;

t, firsttrue: boolean;

begin

firsttrue:=false;

if MPI then begin MoveP (i, kl, X, Y); MPI:=false end;

Form1. StatusBar2. Panels[0]. Text:='X= '+floattostrf (UnSer (i, X, Y, 0,0,0, Scene[i]. M).x, ffGeneral, 3,5);

Form1. StatusBar2. Panels[1]. Text:='Y= '+floattostrf (UnSer (i, X, Y, 0,0,0, Scene[i]. M).y, ffGeneral, 3,5);

Form1. StatusBar2. Panels[2]. Text:='Z= '+floattostrf (UnSer (i, X, Y, 0,0,0, Scene[i]. M).z, ffGeneral, 3,5);

if (ssleft in shift) and Form1. N34. Checked then

if Scene[i]. M. Mash — (Y-Y0)>0 then Scene[i]. M. Mash:=Scene[i]. M. Mash — (Y-Y0) else ShowMessage ('ΠœΠ°ΡΡˆΡ‚Π°Π±: мСньшС нСльзя!');

if Form1. N8. Checked and ((i=1) or (i=2)) then X0:=X;

if Form1. N9. Checked and (i=1) then Y0:=Y;

if Form1. N10. Checked and ((i=2) or (i=3)) then Y0:=Y;

if Form1. N9. Checked and (i=3) then X0:=X;

if Form1. N36. Checked then

begin

k:=SelectGran (i, X, Y);

if k<>0 then

begin

t:=Scene[i]. G[k].Paint;

Scene[i].G[k].Paint:=false;

Form1. Repaint;

Scene[i]. G[k].Paint:=t;

end

else Form1. Repaint;

end;

if Form1. N37. Checked then

begin

k:=SelectGran (i, X, Y);

if k<>0 then

begin

t:=Scene[i]. G[k].Paint;

Scene[i].G[k].Paint:=true;

Form1. Repaint;

Scene[i]. G[k].Paint:=t;

end

else Form1. Repaint;

end;

if Form1. N27. Checked and Form1. IntWiew. Enabled then

for h:=1 to 3 do if First[h] then

begin

Firsttrue:=true;

Form1. Repaint;

if SelReber (i, x, y, Par) then

PenRebPr (i, Par. x, Par. y);

end;

if ssleft in shift then

begin

if Form1. N27. Checked and Form1. IntWiew. Enabled and (not FirstTrue) then

begin

SelectPointIntersection (i, X, Y, kl);

if kl<>0 then

begin

MoveP (i, kl, X, Y);

MPI:=true

end

else MPI:=false

end;

if Form1. N29. Checked then

if Form1. N12. Checked then

Rotate ((UnSer (i, Y, X, 0,0,0, Scene[i]. M).x-UnSer (i, Y0, X0,0,0,0, Scene[i]. M).x)*Pi/180*Scene[i].M. Mash, (UnSer (i, Y, X, 0,0,0, Scene[i]. M).y-UnSer (i, Y0, X0,0,0,0, Scene[i]. M).y)*Pi/180*Scene[i].M. Mash, (UnSer (i, Y, X, 0,0,0, Scene[i]. M).z-UnSer (i, Y0, X0,0,0,0, Scene[i]. M).z)*Pi/180*Scene[i].M. Mash, V[1]. x, V[1]. y, V[1]. z)

else if Form1. N13. Checked then

Rotate ((UnSer (i, Y, X, 0,0,0, Scene[i]. M).x-UnSer (i, Y0, X0,0,0,0, Scene[i]. M).x)*Pi/180*Scene[i].M. Mash, (UnSer (i, Y, X, 0,0,0, Scene[i]. M).y-UnSer (i, Y0, X0,0,0,0, Scene[i]. M).y)*Pi/180*Scene[i].M. Mash, (UnSer (i, Y, X, 0,0,0, Scene[i]. M).z-UnSer (i, Y0, X0,0,0,0, Scene[i]. M).z)*Pi/180*Scene[i].M. Mash, 0,0,0);

if Form1. N28. Checked then

Move (UnSer (i, X, Y, 0,0,0, Scene[i]. M).x-UnSer (i, X0, Y0,0,0,0, Scene[i]. M).x, UnSer (i, X, Y, 0,0,0, Scene[i]. M).y-UnSer (i, X0, Y0,0,0,0, Scene[i]. M).y, UnSer (i, X, Y, 0,0,0, Scene[i]. M).z-UnSer (i, X0, Y0,0,0,0, Scene[i]. M).z);

X0:=X; Y0:=Y; Form1. Repaint;

end;

end;

procedure TForm1. N5Click (Sender: TObject);

begin

Form1. Close;

end;

// * ИзминСниС Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠΊΠΎΠ½ ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΉ

procedure TForm1. CentrMouseMove (Sender: TObject; Shift: TShiftState; X,

Y: Integer);

begin

if ssLeft in Shift then

begin

if (Form1. Centr. Left+X>=0) and (Form1. Centr. Left+X

Form1. Centr. Left:=Form1. Centr. Left+X;

if (Form1. Centr. Top+Y>=Form1. ToolBar1. Height) and ((Form1. Centr. Top+Y)<=(Form1. ToolBar1. Height+Form1. Vertikal. Height-Form1. Centr. Height)) then

Form1. Centr. Top:=Form1. Centr. Top+Y;

MoveOs;

end

end;

procedure TForm1. CentrMouseUp (Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin

MoveWindow;

end;

procedure TForm1. FormCreate (Sender: TObject);

var i: byte;

begin

// * ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ ярлыки

WindowProection[1]: =Form1.ITop;

WindowProection[2]:=Form1.IFront;

WindowProection[3]:=Form1.ILeft;

WindowProection[4]:=Form1.IPerspective;

PanelWindow[1]:=Form1.PTop;

PanelWindow[2]:=Form1.PFront;

PanelWindow[3]:=Form1.PLeft;

PanelWindow[4]:=Form1.PPerspective;

Magnit[1]:=Mag1;

Magnit[2]:=Mag2;

Magnit[3]:=Mag3;

// * ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ установка Ρ†Π²Π΅Ρ‚Π°

ActivColor:=clYellow;

ColorEder:=clAqua;

ColorUnEder:=clSilver;

ColorRebro:=clBlack;

ColorIntersection:=clRed;

ColorPointIntersection:=clBlue;

ColorNet:=clBtnFace;

// * Π Π°ΠΏΠΎΠ»ΠΎΠ³Π°Π΅ΠΌ ΠΎΠΊΠ½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΉ ΠΈ ΠΎΡΠΈ

MoveWindow;

MoveOs;

// * Π—Π°Π΄Π°Π΅ΠΌ ΠΌΠ°ΡΡˆΡ‚Π°Π± ΠΎΠΊΠΎΠ½ ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΉ

for i:=1 to 3 do

Scene[i]. M. Mash:=100;

Scene[4]. M. Mash:=50;

for i:=1 to 3 do

First[i]: =false;

// Установка Ρ€Π΅ΠΆΠΈΠΌΠ°

Form1. IntWiew. Enabled:=false;

Count:=0;

MPI:=false;

// Активация Π²ΠΈΠ΄Π° свСрху

ActivWindowProection (1);

end;

procedure TForm1. FormResize (Sender: TObject);

begin

MoveOs;

MoveWindow;

end;

// Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠ° ΠΈΠ· Ρ„Π°ΠΉΠ»Π°

procedure TForm1. N2Click (Sender: TObject);

var

f:textfile;

i, j, k, l: integer;

Max, Q: real;

begin

if Form1. OD1. Execute then

begin

assignfile (f, Form1. OD1. FileName);

reset (f);

readln (f, N);

for i:=1 to N do {Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Π²Π΅Ρ€ΡˆΠΈΠ½}

readln (f, V[i]. x, V[i]. y, V[i]. z);

readln (f, M);

for i:=1 to M do

begin

j:=0;

while not eoln (f) do {Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π³Ρ€Π°Π½Π΅ΠΉ}

begin

inc (j);

read (f, E [i, j]);

end;

readln (f);

E [i, 0]: =j;

end;

Form1. StatusBar2. Panels[3]. Text:='Π€Π°ΠΉΠ»: '+Form1.OD1. FileName;

Form1.N3. Enabled:=true;

Form1. ToolButton2. Enabled:=true;

closefile (f);

for i:=1 to 4 do

begin

for j:=1 to M do {Установка Π²ΠΈΠ΄Π° изобраТСния}

begin

Scene[i]. G[j].Paint:=true;

Scene[i].G[j].BrushGr:=true;

Scene[i].G[j].PenRb:=false;

Scene[i].G[j].ColorRb:=ColorRebro;

Form1.N21. Checked:=false;

Form1.N22. Checked:=true;

Form1.N41. Click;

Num:=1;

end;

Max:=sqrt (sqr (V[1]. x-V[N].x)+sqr (V[1]. y-V[N].y)+sqr (V[1]. z-V[N].z));

for l:=1 to N1 do

for k:=1 to N1 do

begin

Q:=sqrt (sqr (V[i]. x-V[l].x)+sqr (V[i]. y-V[l].y)+sqr (V[i]. z-V[l].z));

if Q>Max then Max:=Q

end;

for k:=1 to 4 do

Scene[k]. M. Mash:=WindowProection[k]. Height/Max;

end;

Form1. Repaint;

end;

end;

procedure TForm1. ITopClick (Sender: TObject);

begin

if not Scene[1]. Active then {Активация ΠΎΠΊΠ½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΈ Π²ΠΈΠ΄ свСрху}

ActivWindowProection (1);

end;

procedure TForm1. IFrontClick (Sender: TObject);

begin

if not Scene[2]. Active then {Активация ΠΎΠΊΠ½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΈ Π²ΠΈΠ΄ спСрСди}

ActivWindowProection (2);

end;

procedure TForm1. ILeftClick (Sender: TObject);

begin

if not Scene[3]. Active then {Активация ΠΎΠΊΠ½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΈ Π²ΠΈΠ΄ слСва}

ActivWindowProection (3);

end;

procedure TForm1. ITopMouseMove (Sender: TObject; Shift: TShiftState; X,

Y: Integer);

begin

if Scene[1]. Active then

begin

WindowsMove (X, Y, 1, shift);

end;

end;

procedure TForm1. IFrontMouseMove (Sender: TObject; Shift: TShiftState; X,

Y: Integer);

begin

if Scene[2]. Active then

WindowsMove (X, Y, 2, shift);

end;

procedure TForm1. ILeftMouseMove (Sender: TObject; Shift: TShiftState; X,

Y: Integer);

begin

if Scene[3]. Active then

WindowsMove (X, Y, 3, shift);

end;

// * Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΈΠΊΠ°

procedure TForm1. N3Click (Sender: TObject);

var

f:textfile;

i, j: integer;

begin

if Form1. SD1. Execute then

begin

assignfile (f, Form1. SD1. FileName+'.txt');

rewrite (f);

writeln (f, N);

for i:=1 to N do {запись ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Π²Π΅Ρ€ΡˆΠΈΠ½}

begin

writeln (f, V[i]. x:5:3,' ', V[i]. y:5:3,' ', V[i]. z:5:3);

end;

writeln (f, M);

for i:=1 to M do

begin

for j:=1 to E [i, 0] do {запись ΠΎΠ±Ρ…ΠΎΠ΄Π° Π³Π½Π°Π½Π΅ΠΉ}

write (f, ' ', E [i, j]);

writeln (f);

end;

Form1. StatusBar2. Panels[3]. Text:='Π€Π°ΠΉΠ»: '+Form1.SD1. FileName;

closefile (f);

Repaint;

end;

end;

procedure TForm1. N33Click (Sender: TObject);

begin

ShowMessage ('ΠšΡƒΡ€ΡΠΎΠ²Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π°. Мосин Π•. Π’. ЀМ43');

end;

procedure TForm1. ToolButton1Click (Sender: TObject);

begin

Form1.N2. Click;

end;

procedure TForm1. ToolButton2Click (Sender: TObject);

begin

Form1.N3. Click;

end;

// * ΠŸΠ΅Ρ€Π΅Ρ€ΠΈΡΠΎΠ²ΠΊΠ° Ρ„ΠΎΡ€ΠΌΡ‹

procedure TForm1. FormPaint (Sender: TObject);

Procedure ColorLight (i:integer; ColorEder, ColorUnEder: TColor);

var

j:integer;

n:vector;

c:real;

NorVec:array [1.4] of real;

begin

{ΠΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²Π΅ΠΊΡ‚ΠΎΡ€}

n:=Normal (V[E [i, 1]], V [E[i, 2]], V [E[i, 3]]);

NorVec[1]: =n.z; NorVec[2]: =n.y; NorVec[3]: =n.x; NorVec[4]: =n.z;

for j:=1 to 4 do

Scene[j]. G[i].Visible:=NorVec[j]>0;

{ΠžΡΠ²Π΅Ρ‰Π΅Π½Π½ΠΎΡΡ‚ΡŒ}

c:=sqrt (sqr (n.x)+sqr (n.y)+sqr (n.z));

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