Transcript
Page 1: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

Государственное образовательное учреждение высшего и профессионального образования

«Оренбургский государственный университет»

Кафедра начертательной геометрии, инженерной и компьютерной графики

А.И. ВОРОНКОВ, М.А. ВАСИЛЬЕВА, А.П. ИВАНОВА, И.Г. ЧМЫХ

РЕШЕНИЕ МЕТРИЧЕСКИХ ЗАДАЧ ПО НАЧЕРТАТЕЛЬНОЙ ГЕОМЕТРИИ

НА ЭВМ

МЕТОДИЧЕСКИЕ УКАЗАНИЯ К ПРАКТИЧЕСКИМ ЗАНЯТИЯМ ПО НАЧЕРТАТЕЛЬНОЙ ГЕОМЕТРИИ

Рекомендовано к изданию Редакционно-издательским советом государственного образовательного учреждения высшего и профессионального образования

«Оренбургский государственный университет»

Оренбург 2003

Page 2: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

ББК 22.151.3 я7 Р 47 УДК 514.18:618.3 (07) Рецензенты кандидат технических наук, доцент В.А. Демченко кандидат технических наук, доцент Г.К. Самойлов

Воронков А.И., Васильева М.А., Иванова А.П., Чмых И.Г.

Р 47 Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим занятиям по начертательной геометрии. – Оренбург: ГОУ ВПО ОГУ, 2003.- 66 с.

Методические указания предназначены для демонстрации возможностей ЭВМ в решении метрических задач способом замены плоскостей проекций и плоскопараллельных перемещений для студентов технических специальностей ВУЗов.

ББК 22.151.3 я7

98961602050000

−ЛК

© Воронков А.И., Васильева М.А., Иванова А.П., Чмых И.Г., 2003 © ГОУ ВПО ОГУ, 2003

2

Page 3: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

1 Описание программы

1.1 Общие сведения

Программа «Решение метрических задач на ЭВМ» предназначена для демонстрации возможностей ЭВМ в решении метрических задач способом замены плоскостей проекций и плоскопараллельных перемещений.

1.2 Функциональное назначение и логическая структура

Программа выполнена на языке "Паскаль", на ЭВМ типа IBM, в

операционной системе MS-DOS и является наглядным учебным пособием в изучении решения задач по начертательной геометрии. Программа включает в себя примеры решения двух видов задач:

- методом замены плоскостей проекций; - методом плоскопараллельного перемещения. Структура программы построена так, что решение выбранного вида

задач на ЭВМ осуществляется пошагово, что дает большую наглядность, по сравнению с описанием в учебнике (см. приложение А).

1.3 Вызов и загрузка

Для нормальной работы программы необходима ЭВМ класса не ниже

IBM – 286 и операционная система MS DOS. Загрузка программы производится запуском программного файла "KOMG4", после чего на экране компьютера появляется исходное меню из 3-х пунктов:

- способ замены плоскостей; - графическое решение основных видов задач; - выход. Перемещение по пунктам меню осуществляется клавишами курсора.

Запуск выбранного пункта, - нажатием клавиши "Enter".

1.4 Входные данные

Данная программа предназначена для демонстрации решения задач выбранного раздела начертательной геометрии и входные данные для ее выполнения не требуются.

3

Page 4: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

2 Руководство пользователя

Для запуска данной программы необходимо скопировать

программный файл "KOMG4.EXE" на жесткий диск компьютера, подвести клавишами курсора подсвеченный курсор к программному файлу и нажать клавишу "Enter". После этого на экране монитора появится основное меню учебной программы. Перемещение по пунктам меню осуществляется подсвеченным курсором, выбор пункта – нажатием клавиши "Enter". После выбора одного из вышеназванных пунктов появляется основной текст учебного пособия, перемещение по страницам которого осуществляется клавишами "Page Up" и "Page Down". Выйти из программы можно из основного меню, путем выбора пункта меню "Выход".

Список использованных источников

1 Гордон В.О., Семенцов-Огиевский М.А. Курс начертательной геометрии. - М.: Издательство «Наука», 1969. -368с.

4

Page 5: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

Приложение А (обязательное)

Листинг программы

Решение основных задач способом замены плоскостей проекций

Путем замены исходных ("старых") плоскостей проекций геометрические фигуры приводятся в частное положение относительно новых плоскостей проекций. При этом решение поставленных задач значительно упрощается, если преобразование f одной системы плоскостей проекции в другую представить как композицию (произведение) двух преобразований f , f , при этом исходная и новая система координат будет иметь общее начало.

При первом преобразовании f оставим неизменной одну из плоскостей проекций исходной системы отнесения, а другую плоскость проекций заменим на новую. С линией пересечения плоскостей проекций будем совмещать всегда ось Х новой системы координат. При втором преобразовании f заменяется оставшаяся плоскость проекций исходной системы отнесения. Здесь также будем соблюдать сделанные выше ограничения.

PgUp – предыдущая страница PgDn – следующая страница Esc – выход

5

Page 6: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

Решение основных задач способом замены плоскостей проекций

1. Преобразовать прямую (АВ) общего положения в прямую уровня или, другими словами, определить натуральную длину отрезка [АВ],

{нажмите клавишу <enter>}

PgUp – предыдущая страница PgDn – следующая страница Esc – выход

6

Page 7: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

Решение основных задач способом замены плоскостей проекций

1. Преобразовать прямую <АВ> общего положения в прямую уровня или, другими словами, определить длину отрезка [АВ],

{нажмите клавишу <enter>} Для решения этой задачи выбираем новую

плоскость проекций, параллельно данной прямой. На рисунке новая фронтальная плоскость проекций 2П выбрана параллельно АВ, т.е. новая ось 12х выбрана параллельно горизонтальной проекции А1В1 прямой АВ,

{нажмите клавишу <enter>}

PgUp – предыдущая страница PgDn – следующая страница Esc – выход

7

Page 8: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

Решение основных задач способом замены плоскостей проекций

1. Преобразовать прямую (АВ) общего положения в прямую уровня или, другими словами, определить натуральную длину отрезка [АВ],

{нажмите клавишу <enter>} Для решения этой задачи выбираем новую

плоскость проекций параллельно данной прямой. На рисунке новая фронтальная плоскость проекций 2П выбрана параллельно АВ, т.е. новая ось 12х выбрана параллельно горизонтальной проекции А1В1 прямой АВ,

{нажмите клавишу <enter>} Проекция 22ВА на новой плоскости проекций 2П

определяется проекциями 22 ,ВА ее точек А, В. Правило: при замене фронтальной плоскости

проекций на новую остается неизменной аппликата (высота) данной точки.

{нажмите клавишу <enter>}

PgUp – предыдущая страница PgDn – следующая страница Esc – выход

8

Page 9: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

Решение основных задач способом замены плоскостей проекций

1. Преобразовать прямую (АВ) общего положения в прямую уровня или, другими словами, определить натуральную длину отрезка [АВ],

{нажмите клавишу <enter>} Для решения этой задачи выбираем новую

плоскость проекций параллельно данной прямой. На рисунке новая фронтальная плоскость проекций 2П выбрана параллельно АВ, т.е. новая ось 12х выбрана параллельно горизонтальной проекции А1В1 прямой АВ,

{нажмите клавишу <enter>} Проекция 22ВА на новой плоскости проекций 2П

определяется проекциями 22 ,ВА ее точек А, В. Правило: при замене фронтальной плоскости

проекций на новую остается неизменной аппликата (высота) данной точки.

{нажмите клавишу <enter>}

Очевидно, эта задача так же легко решается заменой горизонтальной плоскости проекций на новую плоскость 1П

1П . Для этого новую ось 21х 12 ПП ∧= нужно выбрать параллельно фронтальной проекции А2В2 данной прямой. Построение новых проекций 11,ВА точек А, В выполняется по правилу: при замене горизонтальной плоскости проекций на новую остается неизменной ордината (глубина) данной точки.

PgUp – предыдущая страница PgDn – следующая страница Esc – выход

9

Page 10: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

Решение основных задач способом замены плоскостей проекций

Приведем аналитическое решение этой задачи. Пусть прямая АВ задана системой уравнений:

bхку += bхкz +=(1) 11 , 22 Заменим фронтальную плоскость проекций на

новую плоскость 2П

2П , параллельную прямой АВ. Плоскость 2П определяется уравнением:

хку = 11 Отсюда

(2) 21

1

1sin

к

ка+

= ;

(3) 21

1

1cos

к

ка+

= ,

а – угол поворота осей координат. Он будет положителен, если вращение

осуществляется против движения часовой стрелки.

При замене горизонтальной плоскости проекции на новую плоскость 1П 1П : =х azaх sin*cos* + , y = y , z azaх cos*sin* +−= ;

PgUp – предыдущая страница PgDn – следующая страница Esc – выход

10

Page 11: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

Решение основных задач способом замены плоскостей проекций

При замене фронтальной плоскости проекций на новую плоскость

2П : =х azaх sin*cos* + , y ayaх cos*sin* +−= ; z z= ,

Подставив (2) и (3) в (4) и выразив х, у, z получаем формулы обратного преобразования:

21

1

21 11 к

кхх

+−

+= ;

(5) 21

21

1

11 кy

к

хкy+

−+

= ;

zz = .

Подставив значения х, y, z из (5) в (1), проекций П на новую плоскость проекций П :

b )( yхky2

1

1

1 k+= ; y 22

1

12

1b

k

k+

+

−= .

PgUp – предыдущая страница PgDn – следующая страница Esc – выход

11

Page 12: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

Решение основных задач способом замены плоскостей проекций

2. Преобразовать прямую (АВ) общего положения

в проецирующую прямую. {нажмите клавишу <enter>}

PgUp – предыдущая страница PgDn – следующая страница Esc – выход

12

Page 13: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

Решение основных задач способом замены плоскостей проекций

2. Преобразовать прямую (АВ) общего положения

в проецирующую прямую. {нажмите клавишу <enter>} Задачу решаем композицией двух преобразований.

Преобразованием )( ППf → прямую АВ преобразуем в прямую уровня в системе

22

21 ,ПП (см. задачу 1) {нажмите клавишу <enter>}

PgUp – предыдущая страница PgDn – следующая страница Esc – выход

13

Page 14: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

Решение основных задач способом замены плоскостей проекций

2. Преобразовать прямую (АВ) общего положения

в проецирующую прямую. {нажмите клавишу <enter>} Задачу решаем композицией двух преобразований.

Преобразованием )( ППf → прямую АВ преобразуем в прямую уровня в системе

22

21 ,ПП (см. задачу 1) {нажмите клавишу <enter>} Вторым преобразованием )( 11 ППf → , где новая

плоскость проекций 1П выбирается перпендикулярно АВ )( 2122 хВА ⊥ , в системе 21 ,ПП получаем проекционную

прямую.

PgUp – предыдущая страница PgDn – следующая страница Esc – выход

14

Page 15: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

Решение основных задач способом замены плоскостей проекций

3. Преобразовать плоскость общего положения в

проецирующую. {нажмите клавишу <enter>}

PgUp – предыдущая страница PgDn – следующая страница Esc – выход

15

Page 16: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

Решение основных задач способом замены плоскостей проекций

3. Преобразовать плоскость общего положения в

проецирующую. {нажмите клавишу <enter>} По условию задачи новая плоскость проекций

должна быть перпендикулярной данной плоскости Ф(А1В1С1, А2В2С2). Это условие будет выполнено, если она будет перпендикулярна горизонтали плоскости Ф при замене плоскости П на 2 2П или фронтали плоскости Ф при замене на 1П 1П .

На рисунке показано решение этой задачи заменой горизонтальной плоскости проекций П на новую плоскость проекций

1

1П . Здесь 1ПФ⊥ , так как )( fхФfП ⊥⊂⊥ . 2211

{нажмите клавишу <enter>}

PgUp – предыдущая страница PgDn – следующая страница Esc – выход

16

Page 17: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

Решение основных задач способом замены плоскостей проекций

3. Преобразовать плоскость общего положения в проецирующую.

{нажмите клавишу <enter>} По условию задачи новая плоскость проекций

должна быть перпендикулярной данной плоскости Ф(А1В1С1, А2В2С2). Это условие будет выполнено, если она будет перпендикулярна горизонтали плоскости Ф при замене плоскости П на 2 2П или фронтали плоскости Ф при замене на 1П 1П .

На рисунке показано решение этой задачи заменой горизонтальной плоскости проекций П на новую плоскость проекций

1

1П . Здесь 1ПФ⊥ , так как )( fхФfП ⊥⊂⊥ . 2211

{нажмите клавишу <enter>} Построение новых проекций 1А , 1В , 1С точек А1,

В1, С1 плоскости Ф ясно на рисунке.

PgUp – предыдущая страница PgDn – следующая страница Esc – выход

17

Page 18: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

Решение основных задач способом замены плоскостей проекций

4. Преобразовать плоскость общего положения

Ф(А, В, С) в плоскость уровня, т.е., определить натуральные размеры треугольника АВС.

{нажмите клавишу <enter>}

PgUp – предыдущая страница PgDn – следующая страница Esc – выход

18

Page 19: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

Решение основных задач способом замены плоскостей проекций

4. Преобразовать плоскость общего положения

Ф(А, В, С) в плоскость уровня, т.е., определить натуральные размеры треугольника АВС.

{нажмите клавишу <enter>} Нетрудно показать, что решение этой задачи

требует последовательного выполнения двух замен плоскостей проекций (композиции двух преобразований), так как невозможно выбрать новую плоскость проекций, которая была бы одновременно параллельной плоскости Ф и перпендикулярной одной из плоскостей проекций исходной системы П , П . 1 2

(Поэтому первой заменой )11 ППf → плоскость Ф преобразуем в проецирующую в системе , 2П 1П (см. задачу 3)

{нажмите клавишу <enter>}

PgUp – предыдущая страница PgDn – следующая страница Esc – выход

19

Page 20: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

Решение основных задач способом замены плоскостей проекций

4. Преобразовать плоскость общего положения

Ф(А, В, С) в плоскость уровня, т.е., определить натуральные размеры треугольника АВС.

{нажмите клавишу <enter>} Нетрудно показать, что решение этой задачи

требует последовательного выполнения двух замен плоскостей проекций (композиции двух преобразований), так как невозможно выбрать новую плоскость проекций, которая была бы одновременно параллельной плоскости Ф и перпендикулярной одной из плоскостей проекций исходной системы П , П . 1 2

(Поэтому первой заменой )11 ППf → плоскость Ф преобразуем в проецирующую в системе , 2П 1П (см. задачу 3)

{нажмите клавишу <enter>}

Второй заменой ( )22 ППf → , где ||Ф, проводим ее в положение плоскости уровня в системе 2П 1П , 2П . PgUp – предыдущая страница PgDn – следующая страница Esc – выход

20

Page 21: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

Решение основных задач способом плоскопараллельного движения П л о с к о п а р а л л е л ь н ы м движением фигуры в пространстве называется такое ее перемещение, при

котором все точки фигуры перемещаются в параллельных плоскостях. Теорема о параллельном перемещении относительно П1: при плоскопараллельном движении фигуры относительно

горизонтальной плоскости проекции фронтальные проекции ее точек перемещаются по прямым, перпендикулярным линиям связи, а горизонтальная проекция фигуры остается конгруэнтной самой себе.

Теорема о параллельном перемещении относительно П2: при плоскопараллельном движении фигуры относительно

фронтальной плоскости проекции горизонтальные проекции ее точек перемещаются по прямым, перпендикулярным линиям связи, а фронтальная проекция фигуры остается конгруэнтной самой себе.

PgUp – предыдущая страница PgDn – следующая страница Esc – выход

21

Page 22: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

Решение основных задач способом плоскопараллельного движения

1. Преобразовать прямую общего положения в

прямую уровня – фронталь. {нажмите клавишу <enter>}

PgUp – предыдущая страница PgDn – следующая страница Esc – выход

22

Page 23: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

Решение основных задач способом плоскопараллельного движения

1. Преобразовать прямую общего положения в

прямую уровня – фронталь. {нажмите клавишу <enter>}

Выполним плоскопараллельное движение прямой АВ относительно горизонтальной плоскости проекции. Так как

прямая АВ должна быть фронталью, то ее горизонтальную проекцию 11ВА расположим перпендикулярно линиям связи. При этом согласно теореме горизонтальные проекции ВА , 11 11ВА отрезка [АВ] и его образа [ ]АВ должны быть конгруэнтны.

{нажмите клавишу <enter>} PgUp – предыдущая страница PgDn – следующая страница Esc – выход

23

Page 24: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

Решение основных задач способом плоскопараллельного движения

1. Преобразовать прямую общего положения в

прямую уровня – фронталь. {нажмите клавишу <enter>} Выполним плоскопараллельное движение прямой

АВ относительно горизонтальной плоскости проекции. Так как прямая АВ должна быть фронталью, то ее горизонтальную проекцию 11

1

ВА расположим перпендикулярно линиям связи. При этом согласно теореме горизонтальные проекции ВА , 1 11ВА отрезка [АВ] и его образа [ ]АВ должны быть конгруэнтны.

{нажмите клавишу <enter>} Фронтальная проекция А, В точек А, В перемещаются соответственно по прямым Ф2, W2 – вырожденным

проекциям горизонтальных плоскостей уровня Ф, W в которых перемещаются точки А, В. В результате выполненного плоскопараллельного движения определим натуральную величину отрезка

АВ(|АВ|= 22ВА ) и угол q его наклона к горизонтальной плоскости проекции. PgUp – предыдущая страница PgDn – следующая страница Esc – выход

24

Page 25: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

Решение основных задач способом плоскопараллельного движения

2. Преобразовать прямую (АВ) общего положения

в горизонтальную проецирующую прямую. {нажмите клавишу <enter>}

PgUp – предыдущая страница PgDn – следующая страница Esc – выход

25

Page 26: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

Решение основных задач способом плоскопараллельного движения

2. Преобразовать прямую (АВ) общего положения

в горизонтальную проецирующую прямую. {нажмите клавишу <enter>} Задача решается композицией двух

преобразований. Сначала плоскопараллельным движением относительно П1 прямую АВ преобразуем во фронтальную прямую уровня АВ (см. задачу 1)

{нажмите клавишу <enter>} PgUp – предыдущая страница PgDn – следующая страница Esc – выход

26

Page 27: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

Решение основных задач способом плоскопараллельного движения

2. Преобразовать прямую (АВ) общего положения

в горизонтальную проецирующую прямую. {нажмите клавишу <enter>}

Задача решается композицией двух преобразований. Сначала плоскопараллельным движением относительно П1

прямую АВ преобразуем во фронтальную прямую уровня АВ (см. задачу 1) {нажмите клавишу <enter>} Затем плоскопараллельным движением относительно П2 прямую АВ преобразуем в горизонтально проецирующую

прямую АВ . При этом | 22ВА |=| 22ВА |, горизонтальные проекции 1А , 1В точек А , В перемещаются по прямой S1 – вырожденной проекции фронтальной плоскости уровня S, в которой перемещаются точки А , В .

PgUp – предыдущая страница PgDn – следующая страница Esc – выход

27

Page 28: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

Решение основных задач способом плоскопараллельного движения

3. Построить центр О окружности м, описанной

около треугольника АВС. {нажмите клавишу <enter>}

PgUp – предыдущая страница PgDn – следующая страница Esc – выход

28

Page 29: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

Решение основных задач способом плоскопараллельного движения

3. Построить центр О окружности м, описанной

около треугольника АВС. {нажмите клавишу <enter>} Для решения этой задачи необходимо плоскость

АВС общего положения преобразовать в плоскость уровня, построить здесь искомую точку и обратным преобразованием найти ее проекции на исходном чертеже.

Одним плоскопараллельным движением плоскость общего положения нельзя преобразовать в плоскость уровня.

Поэтому выполним последовательно два плоскопараллельных движения треугольника АВС: сначала относительно фронтальной плоскости П . 1

При первом плоскопараллельном движении u плоскость треугольника АВС преобразуем в проецирующую плоскость. Для этого фронтальную проекцию 222 B СА образа расположен так, чтобы фронталь ),( fff стала горизонтально проецирующей. При этом |А

21

2В2С2|=| 222 СBА |, а горизонтальные проекции А1, В1, С1 вершин А, В, С треугольника опишут соответственно прямые Ф1, W1, Г1 – вырожденные проекции фронтальных плоскостей уровня, проведенных через эти вершины.

PgUp – предыдущая страница PgDn – следующая страница Esc – выход

29

Page 30: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

Решение основных задач способом плоскопараллельного движения

Вторым плоскопараллельным движением u относительно треугольник 1П СВА преобразуем в треугольник СВА ,

расположенный во фронтальной плоскости уровня. При этом отрезки 11СВ , 11СВ конгруэнтны, и последний располагаем перпендикулярно линиям связи. Поэтому фронтальная проекции 22С2 BА определяет натуральные размеры треугольника АВС.

{нажмите клавишу <enter>} PgUp – предыдущая страница PgDn – следующая страница Esc – выход

30

Page 31: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

Решение основных задач способом плоскопараллельного движения

Вторым плоскопараллельным движением u относительно треугольник 1П СВА преобразуем в треугольник СВА ,

расположенный во фронтальной плоскости уровня. При этом отрезки 11СВ , 11СВ конгруэнтны, и последний располагаем перпендикулярно линиям связи. Поэтому фронтальная проекции 22С2 BА определяет натуральные размеры треугольника АВС.

{нажмите клавишу <enter>} Известными построениями находим фронтальную проекцию 2О центра О искомой окружности, по линиям связи

находим его горизонтальную проекцию 1О . Обратными преобразованиями 11

,−−

uu находим проекции О1, О2 центра О описанной вокруг треугольника АВС окружности.

PgUp – предыдущая страница PgDn – следующая страница Esc – выход

31

Page 32: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

uses crt,graph; var c:char; GD,GM,kod,ukaz,s:integer; i:longint; procedure setka; begin for i:=0 to 19 do line(20*i,26,20*i,26+14*22); for i:=0 to 22 do line(0,26+14*i,20*19,26+14*i); end; procedure ent(n{,t}:integer); begin repeat { if t=1 then repeat outtextxy(315,80,' нажмите клавишу <enter> '); for i:=1 to 300000 do begin end; bar(315,80,600,90); for i:=1 to 300000 do begin end; until keypressed;} c:=readkey; kod:=ord(c); if kod=73 then begin s:=s-1; if s=0 then begin s:=1; kod:=33; end else exit; end; if kod=81 then begin s:=s+1; if s>n then begin s:=n; kod:=33; end else exit;

32

Page 33: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

end; if kod=27 then exit; until kod=13; end; procedure niz; begin setcolor(8); setbkcolor(15); outtextxy(10,340,' PgUp - предидущая страница PgDn - следующая страница Esc - выход '); end; procedure otkr_gr; begin Gd:=0; InitGraph(GD,GM,''); setfillstyle(1,0); setcolor(black); bar(0,0,getmaxx,getmaxy); end; procedure nazv1; begin settextstyle(0,0,1); setcolor(8); setbkcolor(15); outtextxy(80,14,'Решение основных задач способом замены плоскостей проекций'); Line(79,24,546,24); end; procedure nazv2; begin settextstyle(0,0,1); setcolor(8); setbkcolor(15); outtextxy(70,14,'Решение основных задач способом плоскопараллельного движения'); Line(69,24,556,24); end; procedure t_ka(x,y:integer); begin

33

Page 34: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

setfillstyle(1,0); circle(x,y,3); { floodfill(x,y,0);} end; procedure ris1; begin setcolor(8); setbkcolor(15); Line(2*20,26+14*6,12*20,26+14*6); {x12} Line(2*20+1,27+14*6,12*20,27+14*6); Line(2*20,26+14*6,2*20+10,30+14*6); {стрелки} Line(2*20,26+14*6,2*20+10,22+14*6); Line(5*20,25+14*2,11*20,25+14*4); {A2B2} Line(5*20,26+14*2,11*20,26+14*4); Line(5*20,27+14*2,11*20,27+14*4); Line(20*5,25+11*14,11*20,25+14*7); {A1B1} Line(20*5,26+11*14,11*20,26+14*7); Line(20*5,27+11*14,11*20,27+14*7); Line(20*5,26+14*2,20*5,26+14*11); {A1A2} Line(11*20,26+14*4,11*20,26+14*7); {B1B2} t_ka(5*20,26+14*2); {A2} t_ka(11*20,26+14*4); {B2} t_ka(5*20,26+14*11); {A1} t_ka(11*20,26+14*7); {B1} outtextxy(10,26+14*6-4,'X'); outtextxy(20,26+14*6-1,'12'); outtextxy(20*2+10,26+14*5,'П'); outtextxy(20*3,26+14*5+3,'2'); outtextxy(20*2+12,26+14*6+6,'П'); outtextxy(20*3,26+14*6+9,'1'); outtextxy(20*4+10,26+14*1,'A'); outtextxy(20*5,26+14*1+3,'2'); outtextxy(11*20,26+14*3,'B'); outtextxy(11*20+10,26+14*3+3,'2'); outtextxy(20*4,26+14*11-10,'A'); outtextxy(20*4+8,26+14*11-7,'1'); outtextxy(20*11+5,26+14*7-10,'B'); outtextxy(20*11+13,26+14*7-7,'1'); end; procedure ris2; begin setcolor(8); setbkcolor(15); Line(20*4,26+14*14,20*13,26+14*8); {x_12} Line(20*4+1,25+14*14,20*13,25+14*8); Line(20*4,26+14*14,20*4+10,26+14*14-8); {стрелки} Line(20*4,26+14*14,20*4+15,26+14*14-3); outtextxy(20*3-10,26+14*14-4,'X'); outtextxy(20*3-11,26+14*14-10,'-'); outtextxy(20*3,26+14*14-1,'12'); outtextxy(20*4+3,26+14*13-7,'П'); outtextxy(20*4+11,26+14*13-4,'1'); outtextxy(20*5-12,26+14*14+5,'П'); outtextxy(20*5-13,26+14*14-1,'-'); outtextxy(20*5-2,26+14*14+8,'2');

34

Page 35: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

end; procedure ris3; begin setcolor(8); setbkcolor(15); Line(11*20,26+14*7,20*13-2,26+14*10+4); {B1B_2} Line(20*5,26+14*11,20*8-3,26+14*16); {A1A_2} Line(20*13-2,25+14*10+4,20*8-3,25+14*16); {A_2B_2} Line(20*13-2,26+14*10+4,20*8-3,26+14*16); Line(20*13-2,27+14*10+4,20*8-3,27+14*16); arc(20*12+1,26+14*9-5,124,209,15); {дуга} putpixel(20*12-8,26+14*9-6,14); {точка} circle(20*12-8,26+14*9-6,1); Line(20*7-10,26+14*14+5,20*8-10,26+14*14+7); {штрихи} Line(20*12-1,26+14*9+4,20*13-3,26+14*9+6); Line(20*12+3,26+14*9+8,20*13-1,26+14*9+10); Line(20*5-4,26+14*4-4,20*5+4,26+14*4+4); {штрихи} Line(11*20-4,26+14*5-5,11*20+4,26+14*5-1); Line(11*20-4,26+14*5+1,11*20+4,26+14*5+5); t_ka(5*20,26+14*11); {A1} t_ka(11*20,26+14*7); {B1} t_ka(8*20-3,26+14*16); {A_2} t_ka(13*20-2,26+14*10+4); {B_2} outtextxy(20*9-12,26+14*16-8,'-'); outtextxy(20*9-11,26+14*16-2,'A'); outtextxy(20*8+19,26+14*16+1,'2'); outtextxy(20*13+5,26+14*10-6,'-'); outtextxy(13*20+6,26+14*10,'B'); outtextxy(14*20-4,26+14*10+3,'2'); end; procedure ris4; begin setcolor(8); setbkcolor(15); Line(13*20-2,26+14*10+4,20*5+4,26+14*19); {B_2A__1} t_ka(8*20-3,26+14*16); {A_2} t_ka(13*20-2,26+14*10+4); {B_2} t_ka(5*20+4,26+14*19); {A__1} Line(20*4+14,26+14*16,20*9-10,26+14*20-3); {X__21} Line(20*4+15,26+14*16,20*9-9,26+14*20-3); Line(20*4+14,26+14*16,20*5+6,26+14*16+12); {стрелки} Line(20*4+14,26+14*16,20*5+14,26+14*16+8); arc(20*6+8,26+14*18-4,318,50,15); {дуга} putpixel(20*6+17,26+14*18-5,14); {точка} circle(20*6+17,26+14*18-5,1); Line(20*6,26+14*12-1,20*5+5,26+14*12+1); {галка} Line(20*5+5,26+14*12+1,20*6-4,26+14*12-6); Line(20*6-6,26+14*18-1,20*6-1,26+14*18+10); {галка} Line(20*6-6,26+14*18-1,20*6+5,26+14*18+7);

35

Page 36: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

outtextxy(20*3+5,26+14*16-6,'X'); outtextxy(20*3+4,26+14*16-13,'-'); outtextxy(20*3+4,26+14*16-15,'-'); outtextxy(20*3+15,26+14*16-3,'12'); outtextxy(20*4+10,26+14*17-6,'-'); outtextxy(20*4+10,26+14*17-9,'-'); outtextxy(20*4+10,26+14*17,'П'); outtextxy(20*4+17,26+14*17+3,'1'); outtextxy(20*5+10,26+14*16-1,'П'); outtextxy(20*5+10,26+14*16-8,'-'); outtextxy(20*5+20,26+14*16+2,'2'); outtextxy(20*4,26+14*20-7,'A = B'); outtextxy(20*4,26+14*20-4,' 1 1'); outtextxy(20*4-1,26+14*19-3,'_ _'); outtextxy(20*4-1,26+14*19-6,'_ _'); end; procedure ris31; begin setcolor(8); setbkcolor(15); Line(2*20,26+14*11,7*20+10,26+14*11); {x12} Line(2*20+1,27+14*11,7*20+10,27+14*11); Line(2*20,26+14*11,2*20+10,30+14*11); {стрелки} Line(2*20,26+14*11,2*20+10,22+14*11); Line(20*3,25+14*17,7*20,25+14*13); {A1B1} Line(20*3,26+14*17,7*20,26+14*13); Line(20*3,27+14*17,7*20,27+14*13); Line(20*3,25+14*17,6*20,25+14*21); {A1C1} Line(20*3,26+14*17,6*20,26+14*21); Line(20*3,27+14*17,6*20,27+14*21); Line(20*7-1,26+14*13,6*20-1,26+14*21); {B1C1} Line(20*7,26+14*13,6*20,26+14*21); Line(20*7+1,26+14*13,6*20+1,26+14*21); Line(3*20,25+14*3,7*20,25+14*3+3); {A2B2} Line(3*20,26+14*3,7*20,26+14*3+3); Line(3*20,27+14*3,7*20,27+14*3+3); Line(3*20,25+14*3,6*20,25+14*6+4); {A2С2} Line(3*20,26+14*3,6*20,26+14*6+4); Line(3*20,27+14*3,6*20,27+14*6+4); Line(20*7-1,26+14*3+3,6*20-1,26+14*6+4); {B2C2} Line(20*7,26+14*3+3,6*20,26+14*6+4); Line(20*7+1,26+14*3+3,6*20+1,26+14*6+4); Line(20*3,26+14*17,20*3,26+14*3); {A1A2} Line(7*20,26+14*3+3,7*20,26+14*13); {B1B2} Line(6*20,26+14*21,6*20,26+14*6+4); {B1B2} t_ka(3*20,26+14*17); {A1} t_ka(7*20,26+14*13); {B1} t_ka(6*20,26+14*21); {C1} t_ka(6*20,26+14*6+4); {C2} t_ka(3*20,26+14*3); {A2} t_ka(7*20,26+14*3+3); {B2} outtextxy(10,26+14*11-4,'X'); outtextxy(20,26+14*11-1,'12');

36

Page 37: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

outtextxy(20*2,26+14*10-1,'П'); outtextxy(20*3-10,26+14*10+2,'2'); outtextxy(20*2+3,26+14*11+6,'П'); outtextxy(20*3-10,26+14*11+9,'1'); outtextxy(20*2,26+14*3,'A'); outtextxy(20*2+10,26+14*3+3,'2'); outtextxy(7*20-5,26+14*2+3,'B'); outtextxy(7*20+5,26+14*2+6,'2'); outtextxy(5*20,26+14*6+3,'C'); outtextxy(5*20+10,26+14*6+6,'2'); outtextxy(20*2+5,26+14*17+5,'A'); outtextxy(20*2+13,26+14*17+8,'1'); outtextxy(20*7+5,26+14*13-10,'B'); outtextxy(20*7+13,26+14*13-7,'1'); outtextxy(20*6+6,26+14*21-2,'C'); outtextxy(20*6+12,26+14*21+1,'1'); end; procedure ris32; begin setcolor(8); setbkcolor(15); Line(20*2,26+14*17,20*8,26+14*17); {f1} Line(20*6+10,26+14*16+5,20*6+10,26+14*5-4); {1112} Line(20*2,26+14*2+7,20*8,26+14*5+7); {f2} Line(20*10+10,26+14*2,20*8-3,26+14*8); {x_21} Line(20*10+9,26+14*2,20*8-4,26+14*8); Line(20*10+10,26+14*2,20*10+7,26+14*2+12); {стрелки} Line(20*10+10,26+14*2,20*10-2,26+14*2+10); t_ka(3*20,26+14*17); {A1} t_ka(20*6+10,26+14*17); {11} t_ka(20*6+10,26+14*5-4); {12} t_ka(3*20,26+14*3); {A2} outtextxy(20*2-5,26+14*16+2,'f'); outtextxy(20*2+3,26+14*16+5,'1'); outtextxy(20*7-6,26+14*17+3,'1'); outtextxy(20*7+2,26+14*17+6,'1'); outtextxy(20*7+1,26+14*4+6,'1'); outtextxy(20*7+11,26+14*4+8,'2'); outtextxy(20*10,26+14*1+3,'X'); outtextxy(20*10,26+14*1-6,'_'); outtextxy(20*10+10,26+14*1+6,'21'); outtextxy(20*11-8,26+14*2+7,'П'); outtextxy(20*11,26+14*2+10,'1'); outtextxy(20*9-1,26+14*2+3,'П'); outtextxy(20*11-9,26+14*2+1,'-'); outtextxy(20*9+9,26+14*2+5,'2'); end; procedure ris33; begin setcolor(8); setbkcolor(15); Line(20*8,26+14*5+7,20*14-3,26+14*8+6); {A2A_1} Line(20*7,26+14*3+3,20*11+2,26+14*5+4); {B2B_1} Line(20*6,26+14*6+4,20*17-6,26+14*12-5); {C2C_1} Line(20*10-4,26+14*5-1,20*10+4,26+14*5-6); {штрихи} Line(20*7+3,26+14*12-4,20*7-3,26+14*12+4); Line(20*3+3,26+14*14-4,20*3-3,26+14*14+4); Line(20*3+3,26+14*14+1,20*3-3,26+14*14+9); Line(20*6+3,26+15*14,20*6-3,26+14*15+8); Line(20*6+3,26+15*14+5,20*6-3,26+14*15+13);

37

Page 38: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

Line(20*6+3,26+15*14+10,20*6-3,26+14*15+18); Line(20*10-6,26+14*8+4,20*10+6,26+14*8+4); Line(20*10,26+14*8+6,20*10+12,26+14*8+6); Line(20*10+6,26+14*8+8,20*10+18,26+14*8+8); Line(20*13-3,26+14*8-4,20*13+3,26+14*8+4); Line(20*13-8,26+14*8-6,20*13-2,26+14*8+2); Line(20*11+2,25+14*5+4,20*17-6,25+14*12-5); {B_1C_1} Line(20*11+2,26+14*5+4,20*17-6,26+14*12-5); Line(20*11+2,27+14*5+4,20*17-6,27+14*12-5); t_ka(14*20-3,26+14*8+6); {A_1} t_ka(20*11+2,26+14*5+4); {B_1} t_ka(17*20-6,26+14*12-5); {C_1} t_ka(6*20,26+14*6+4); {C2} t_ka(7*20,26+14*3+3); {B2} outtextxy(20*14+3,26+14*8-3,'A = f'); outtextxy(20*14+11,26+14*8,'1 1'); outtextxy(20*14+2,26+14*8-10,'- -'); outtextxy(20*11+7,26+14*5-10,'-'); outtextxy(20*11+8,26+14*5-3,'B'); outtextxy(20*11+16,26+14*5,'1'); outtextxy(20*17+3,26+14*11+1,'C'); outtextxy(20*17+11,26+14*11+4,'1'); outtextxy(20*17+2,26+14*11-6,'-'); outtextxy(20*2-5,26+14*1+9,'f'); outtextxy(20*2+5,26+14*1+12,'2'); end; procedure ris34; begin setcolor(8); setbkcolor(15); Line(20*9+10,26+14*5,20*17+4,26+13*14+6); {x_21} Line(20*9+10,25+14*5,20*17+4,25+14*13+6); Line(20*17+4,26+14*13+6,20*16+8,26+14*13-1); {стрелки} Line(20*17+4,26+14*13+6,20*17-5,26+14*13-6); Line(20*8+11,26+14*14,20*14-3,26+14*8+6); {A__2A_1} Line(20*8+12,26+14*8-2,20*11+2,26+14*5+4); {B__2B_1} Line(20*14+8,26+14*14,20*17-6,26+14*12-5); {C__2C_1} Line(20*8+12,25+14*8-2,20*14++10,25+14*14-1); {B__2C__2} Line(20*8+12,26+14*8-2,20*14+10,26+14*14-1); Line(20*8+12,27+14*8-2,20*14+10,27+14*14-1); Line(20*8+11,25+14*14,20*14+10,25+14*14-1); {A__2C__2} Line(20*8+11,26+14*14,20*14+10,26+14*14-1); Line(20*8+11,27+14*14,20*14+10,27+14*14-1); Line(20*8+12,26+14*14,20*8+13,26+14*8-2); {A__2B__2} Line(20*8+11,26+14*14,20*8+12,26+14*8-2); Line(20*8+10,26+14*14,20*8+11,26+14*8-2); t_ka(14*20-3,26+14*8+6); {A_1} t_ka(20*11+2,26+14*5+4); {B_1} t_ka(17*20-6,26+14*12-5); {C_1} t_ka(20*8+11,26+14*14); {A__2} t_ka(20*8+12,26+14*8-2); {B__2} t_ka(20*14+10,26+14*14-1); {C__2} outtextxy(20*17,26+14*14+1,'X'); outtextxy(20*17,26+14*14-7,'='); outtextxy(20*17+10,26+14*14+4,'12'); outtextxy(20*17+5,26+14*12+9,'П');

38

Page 39: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

outtextxy(20*17+5,26+14*12+2,'-'); outtextxy(20*17+13,26+14*12+12,'1'); outtextxy(20*16,26+14*13+7,'П'); outtextxy(20*16,26+14*13,'='); outtextxy(20*16+10,26+14*13+10,'2'); arc(20*16+2,26+14*12+3,140,230,15); {дуга} putpixel(20*16-6,26+14*12+3,14); {точка} circle(20*16-6,26+14*12+3,1); arc(20*4+11,26+14*4-4,80,330,5); arc(20*5,26+14*4,0,150,5); arc(20*5,26+14*4,280,0,5); arc(20*10+1,26+14*13-8,130,0,5); arc(20*10+1,26+14*13-8,0,50,5); arc(20*10+8,26+14*12+1,0,220,5); arc(20*10+8,26+14*12+1,340,360,5); Line(20*8,26+14*4,20*8,26+14*4-8); Line(20*8,26+14*4,20*8+4,26+14*4-7); Line(20*8-10,26+14*7+4,20*8-10,26+14*7-4); Line(20*8-10,26+14*7+4,20*8-6,26+14*7-3); Line(20*8-7,26+14*7+5,20*8-3,26+14*7-2); Line(20*15,26+14*13+1,20*15,26+14*13+10); Line(20*15-4,26+14*13+2,20*15,26+14*13+10); Line(20*15+3,26+14*13-1,20*15+3,26+14*13+8); Line(20*9+10,26+14*7-4,20*9+10,26+14*7+4); Line(20*9+6,26+14*7-3,20*9+10,26+14*7+4); outtextxy(20*8+6,26+14*14+10,'A'); outtextxy(20*8+16,26+14*14+13,'2'); outtextxy(20*7+10,26+14*8,'='); outtextxy(20*8+5,26+14*14+3,'='); outtextxy(20*7+11,26+14*8+7,'B'); outtextxy(20*8,26+14*8+10,'2'); outtextxy(20*14+6,26+14*14+9,'C'); outtextxy(20*14+15,26+14*14+12,'2'); outtextxy(20*14+5,26+14*14+2,'='); end; procedure list1; begin setgraphmode(1); setfillstyle(1,0); bar(0,0,getmaxx,getmaxy); setcolor(8); setbkcolor(15); nazv1; setcolor(8); setbkcolor(15); niz; setcolor(8); setbkcolor(15); outtextxy(10,50,' Путем замены исходных ("старых") плоскостей проекций геометрические фигуры');

39

Page 40: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

outtextxy(10,60,'приводятся в частное положение относительно новых плоскостей проекций. При'); outtextxy(10,70,'этом решение поставленных задач значительно упрощается, если преобразование f'); outtextxy(10,80,'одной системы плоскостей проекций в другую представить как композицию (произ-'); outtextxy(10,82,' _ '); outtextxy(10,84,' _ _ '); outtextxy(10,93,'ведение) двух преобразований f, f. При этом исходная и новая системы коорди-'); outtextxy(10,103,'нат будут иметь общее начало. '); outtextxy(10,105,' _ '); outtextxy(10,114,' При первом преобразовании f оставим неизменной одну из плоскостей проекций'); outtextxy(10,124,'исходной системы отнесения, а другую плоскость проекций заменим на новую.'); outtextxy(10,134,'С линиец пересечения плоскостей проекций будем совмещать всегда ось x новой'); outtextxy(10,136,' _ '); outtextxy(10,138,' _ '); outtextxy(10,147,'системы коордиyнат. При втором преобразовании f заменяется оставшаяся плос-'); outtextxy(10,157,'кость проекций исходной системы отнесения. Здесь также будем соблюдать сде-'); outtextxy(10,167,'ланные выше ограничения.'); ent(7); if kod<>13 then exit; s:=s+1; end; procedure list2; begin setgraphmode(1); setfillstyle(1,0); bar(0,0,getmaxx,getmaxy); setcolor(8); setbkcolor(15); nazv1; setcolor(8); setbkcolor(15); ris1; setcolor(8); setbkcolor(15); niz;

40

Page 41: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

setcolor(8); setbkcolor(15); outtextxy(300,40,'1. Преобразовать прямую (AB) общего поло-'); outtextxy(315,50,'жения в прямую уровня или, другими сло-'); outtextxy(315,60,'вами , определить натуральную длину '); outtextxy(315,70,'отрезка [AB].'); outtextxy(315,80,' { нажмите клавишу <enter> } '); ent(7); if kod<>13 then exit; setcolor(8); setbkcolor(15); ris2; setcolor(8); setbkcolor(15); outtextxy(300,100,' Для решения этой задачи выбираем новую'); outtextxy(315,110,'плоскость проекций параллельно данной'); outtextxy(315,120,'прямой. На рисунке новая фронтальная'); outtextxy(315,122,' _ '); outtextxy(315,131,'плоскость проекций П выбрана параллель-'); outtextxy(315,134,' 2 '); outtextxy(315,135,' _ '); outtextxy(315,142,'но AB, т.е. новая ось x выбрана парал-'); outtextxy(315,145,' 12 '); outtextxy(315,152,'лельно горизонтальной проекции A B пря-'); outtextxy(315,155,' 1 1 '); outtextxy(315,162,'мой AB. '); outtextxy(315,172,' { нажмите клавишу <enter> } '); ent(7); if kod<>13 then exit; ris3; setcolor(8); setbkcolor(15); outtextxy(300,183,' _ _ '); outtextxy(300,192,' Проекция A B на новой плоскости про-'); outtextxy(300,195,' 2 2 '); outtextxy(315,194,' _ _ _ '); outtextxy(315,203,'екций П определяется проекциями A ,B '); outtextxy(315,206,' 2 2 2'); outtextxy(315,213,'ее точек A, B. '); outtextxy(300,223,' Правило: при замене фронтальной плос-'); outtextxy(315,233,'кости проекций на новую остается неиз-'); outtextxy(315,243,'менной аппликата (высота) данной точки. '); outtextxy(315,253,' { нажмите клавишу <enter> } ');

41

Page 42: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

ent(7); if kod<>13 then exit; outtextxy(10,273,' Очевидно, эта задача также легко решается заменой горизонтальной плоскости'); outtextxy(10,275,' _ _ _ '); outtextxy(10,284,'проекций П на новую плоскость проекций П . Для этого новую ось x = П /\ П '); outtextxy(10,287,' 1 1 21 2 1'); outtextxy(10,294,'нужно выбрать параллельно фронтальной проекции A B данной прямой. Построение'); outtextxy(10,297,' 2 2 '); outtextxy(10,296,' _ _ '); outtextxy(10,305,'новых проекций A , B точек A, B выполняется по правилу: при замене горизон-'); outtextxy(10,308,' 1 1 '); outtextxy(10,315,'тальной плоскости проекций на новую остается неизменной ордината ( глубина)'); outtextxy(10,325,'данной точки.'); ent(7); if kod<>13 then exit; s:=s+1; end; procedure list3; begin setgraphmode(1); setfillstyle(1,0); bar(0,0,getmaxx,getmaxy); setcolor(8); setbkcolor(15); nazv1; niz; ris1; ris2; ris3; setcolor(8); setbkcolor(15); outtextxy(300,40,' Приведем аналитическое решение этой'); outtextxy(315,50,'задачи. Пусть прямая AB задана системой'); outtextxy(315,60,'уравнений : '); outtextxy(315,70,'(1) y = k x + b ,z = k x + b '); outtextxy(315,73,' 1 1 2 2 '); outtextxy(315,83,' Заменим фронтальную плоскость проекций'); outtextxy(315,85,' _ '); outtextxy(315,94,'П на новую плоскость П , параллельную');

42

Page 43: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

outtextxy(315,97,' 2 2 '); outtextxy(315,99,' _ '); outtextxy(315,108,'прямой AB. Плоскость П определяется'); outtextxy(315,111,' 2 '); outtextxy(315,118,'уравнением : '); outtextxy(315,128,' y = k x '); outtextxy(315,131,' 1 '); outtextxy(315,138,' Отсюда '); outtextxy(315,150,' k '); outtextxy(315,153,' 1 '); line(450,161,550,161); line(470,165,540,165); line(455,170,457,170); line(457,170,457,183); line(458,170,458,182); line(458,183,470,165); outtextxy(315,156,'(2) sin a = ; '); outtextxy(315,167,' 2 '); outtextxy(315,171,' 1 + k '); outtextxy(315,175,' 1 '); outtextxy(315,195,' 1 '); line(450,203,550,203); line(470,207,540,207); line(455,212,457,212); line(457,212,457,225); line(458,212,458,225); line(458,225,470,207); outtextxy(315,198,'(3) cos a = . '); outtextxy(315,209,' 2 '); outtextxy(315,213,' 1 + k '); outtextxy(315,217,' 1 '); outtextxy(315,227,' a - угол поворота осей координат. '); outtextxy(315,237,'Он будет положителен, если вращение '); outtextxy(315,247,'осуществляется против движения часовой'); outtextxy(315,257,'стрелки.'); outtextxy(300,267,' При замене горизонтальной плоскости'); outtextxy(10,269,' _ '); outtextxy(10,278,'проекций П на новую плоскость проекций П '); outtextxy(10,281,' 1 1 '); outtextxy(10,280,' _ '); outtextxy(10,290,' x = x * cos a + z * sin a , '); outtextxy(10,292,' _ '); outtextxy(10,301,' y = y , '); outtextxy(10,303,' _ '); outtextxy(10,312,' z = - x * sin a + z * cos a ; '); ent(7); if kod<>13 then exit; s:=s+1; end;

43

Page 44: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

procedure list4; begin setgraphmode(1); setfillstyle(1,0); bar(0,0,getmaxx,getmaxy); setcolor(8); setbkcolor(15); nazv1; niz; setcolor(8); setbkcolor(15); ris1; ris2; ris3; setcolor(8); setbkcolor(15); outtextxy(300,40,' При замене фронтальной плоскости про-'); outtextxy(315,42,' _ '); outtextxy(315,51,'екций П на новую плоскость П : '); outtextxy(315,53,' 2 2 '); outtextxy(315,58,' _ '); outtextxy(315,67,' x = x * cos a + y * sin a , '); outtextxy(315,72,' _ '); outtextxy(315,80,'(4) y = - x * sin a + y * cos a , '); outtextxy(315,86,' _ '); outtextxy(315,94,' z = z . '); outtextxy(315,109,'Подставив (2) и (3) в (4) и вы-'); outtextxy(315,111,' _ _ _ '); outtextxy(315,120,'разив x, y, z через x, y, z получа-'); outtextxy(315,130,'ем формулы обратного преобразования :'); outtextxy(345,153,'x = ;'); outtextxy(424,136,'_'); outtextxy(425,145,'x'); line(375,156,475,156); line(395,160,465,160); line(380,165,382,165); line(382,165,382,178); line(383,165,383,177); line(383,178,395,160); outtextxy(403,164,' 2'); outtextxy(403,168,'1 + k '); outtextxy(403,174,' 1'); outtextxy(485,153,'-'); outtextxy(536,136,' _'); outtextxy(536,145,'k y'); outtextxy(543,148,'1'); line(500,156,600,156); line(520,160,590,160); line(505,165,507,165); line(507,165,507,178); line(508,165,508,177); line(508,178,520,160); outtextxy(528,164,' 2');

44

Page 45: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

outtextxy(528,168,'1 + k '); outtextxy(528,174,' 1'); outtextxy(300,205,'(5)'); outtextxy(345,205,'y = ;'); outtextxy(410,188,' _'); outtextxy(410,197,'k x'); outtextxy(408,200,' 1'); line(375,208,475,208); line(395,212,465,212); line(380,217,382,217); line(382,217,382,230); line(383,217,383,229); line(383,230,395,212); outtextxy(403,216,' 2'); outtextxy(403,220,'1 + k '); outtextxy(403,226,' 1'); outtextxy(485,205,'-'); outtextxy(536,188,'_'); outtextxy(536,197,'y'); line(500,208,600,208); line(520,212,590,212); line(505,217,507,217); line(507,217,507,230); line(508,217,508,229); line(508,230,520,212); outtextxy(528,216,' 2'); outtextxy(528,220,'1 + k '); outtextxy(528,226,' 1'); outtextxy(345,236,' _ '); outtextxy(345,245,'z = z .'); outtextxy(315,260,'Подставив значения x, y, z из (5) в (1),'); outtextxy(10,270,'получаем уравнение прямой AB, в новой системе координат : ); outtextxy(10,280,'проекций П на новую плоскость проекций П : '); outtextxy(215,286,' _ _ '); outtextxy(215,295,' k (x - k y) '); outtextxy(215,298,' 2 1 '); line(355,306,455,306); line(375,310,445,310); line(360,315,362,315); line(362,315,362,328); line(363,315,363,327); line(363,328,375,310); outtextxy(215,292,' _ '); outtextxy(215,301,' y = '); outtextxy(215,303,' + b .'); outtextxy(215,307,' 2 '); outtextxy(215,314,' 2 '); outtextxy(215,319,' 1 + k '); outtextxy(215,323,' 1 '); outtextxy(15,295,' b '); outtextxy(15,298,' 1 '); line(155,306,255,306); line(175,310,245,310); line(160,315,162,315); line(162,315,162,328);

45

Page 46: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

line(163,315,163,327); line(163,328,175,310); outtextxy(15,292,' _ '); outtextxy(15,301,' y = ; '); outtextxy(15,314,' 2 '); outtextxy(15,319,' 1 + k '); outtextxy(15,323,' 1 '); ent(7); if kod<>13 then exit; s:=s+1; end; procedure list5; begin setgraphmode(1); setfillstyle(1,0); bar(0,0,getmaxx,getmaxy); setcolor(8); setbkcolor(15); nazv1; ris1; niz; setcolor(8);setbkcolor(15); outtextxy(300,40,'2. Преобразовать прямую (AB) общего поло-'); outtextxy(315,50,'жения в проецирующую прямую. '); outtextxy(315,60,' { нажмите клавишу <enter> } '); ent(7); if kod<>13 then exit; ris2; ris3; outtextxy(315,80,' Задачу решаем композицией двух преобра-'); outtextxy(315,82,' _ _ '); outtextxy(315,91,'зований. Преобразованием f(П -> П )'); outtextxy(315,94,' 2 2 '); outtextxy(315,101,'прямую AB преобразуем в прямую уровня в'); outtextxy(315,103,' _ '); outtextxy(315,112,'системе П , П (см. задачу 1). '); outtextxy(315,115,' 1 2 '); outtextxy(315,125,' { нажмите клавишу <enter> } '); ent(7); if kod<>13 then exit; ris4; outtextxy(315,134,' _ _ '); outtextxy(315,136,' _ _ ');

46

Page 47: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

outtextxy(315,145,' Вторым преобразованием f(П -> П ), где'); outtextxy(315,148,' 1 1 '); outtextxy(315,150,' _ '); outtextxy(315,152,' _ '); outtextxy(315,161,'новая плоскость проекций П выбирается'); outtextxy(315,163,' 1 '); outtextxy(315,165,' _ '); outtextxy(315,167,' _ _ _ '); outtextxy(315,176,'перпендикулярно AB (A B __ x ), в сис-'); outtextxy(315,179,' 2 2 21 '); line(523,173,523,183); outtextxy(315,181,' _ '); outtextxy(315,183,' _ _ '); outtextxy(315,192,'теме П ,П получаем проецирующую прямую.'); outtextxy(315,195,' 1 2 '); ent(7); if kod<>13 then exit; s:=s+1; end; procedure list6; begin setgraphmode(1); setfillstyle(1,0); bar(0,0,getmaxx,getmaxy); setcolor(8); nazv1; niz; ris31; outtextxy(380,40,'3. Преобразовать плоскость обще-'); outtextxy(395,50,'го положения в проецирующую. '); outtextxy(395,60,' { нажмите клавишу <enter> } '); ent(7); if kod<>13 then exit; ris32; outtextxy(380,80,' По условию задачи новая плос-'); outtextxy(395,90,'кость проекций должна быть'); outtextxy(395,100,'перпендикулярной данной плос-'); outtextxy(395,110,'кости Ф(A B C , A B C ). Это'); outtextxy(395,113,' 1 1 1 2 2 2 '); outtextxy(395,123,'условие будет выполнено, если'); outtextxy(395,133,'она будет перпендикулярна го-');

47

Page 48: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

outtextxy(395,143,'ризонтали плоскости Ф при за-'); outtextxy(395,144,' _ '); outtextxy(395,154,'мене плоскости П на П или'); outtextxy(395,157,' 2 2 '); outtextxy(395,167,'фронтали плоскости Ф при заме-'); outtextxy(395,169,' _ '); outtextxy(395,178,'не П на П .'); outtextxy(395,181,' 1 1 '); outtextxy(380,191,' На рисунке показано решение'); outtextxy(395,201,'этой задачи заменой горизон-'); outtextxy(395,211,'тальной плоскости проекций П '); outtextxy(395,214,' 1'); outtextxy(395,215,' _ '); outtextxy(395,225,'на новую плоскость проекций П '); outtextxy(395,228,' 1'); outtextxy(395,229,' _ _ '); outtextxy(395,238,'Здесь Ф __ П , так как П __ '); outtextxy(395,241,' 1 1 '); line(619,235,619,245); line(466,235,466,245); outtextxy(395,242,' _ '); outtextxy(395,251,'f Ф(x __ f ).'); outtextxy(395,254,' 21 2'); line(474,248,474,258); outtextxy(412,245,'_'); outtextxy(412,251,'_'); arc(411,251+4,90,270,3); outtextxy(395,264,' { нажмите клавишу <enter> } '); ent(7); if kod<>13 then exit; ris33; outtextxy(380,274,' _ '); outtextxy(380,284,' Построение новых проекций A ,'); outtextxy(380,287,' 1,'); outtextxy(395,288,'_ _ '); outtextxy(395,298,'B , C , точек A , B , C плос-'); outtextxy(395,301,' 1 1 1 1 1 '); outtextxy(395,311,'кости Ф ясно из рисунка.'); ent(7); if kod<>13 then exit; s:=s+1; end;

48

Page 49: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

procedure list7; begin setgraphmode(1); setfillstyle(1,0); bar(0,0,getmaxx,getmaxy); setcolor(8); nazv1; niz; ris31; outtextxy(380,40,'4. Преобразовать плоскость обще-'); outtextxy(395,50,'го положения Ф(A, B, C) в пло-'); outtextxy(395,60,'скость уровня, т.е. определить'); outtextxy(395,70,'натуральные размеры треуголь-'); outtextxy(395,80,'ника ABC.'); outtextxy(395,90,' { нажмите клавишу <enter> } '); ent(7); if kod<>13 then exit; ris32; ris33; outtextxy(380,100,' Нетрудно показать, что реше-'); outtextxy(395,110,'ние этой задачи требует пос-'); outtextxy(395,120,'ледовательного выполнения двух'); outtextxy(395,130,'замен плоскостей проекций(ком-'); outtextxy(395,140,'позиции двух преобразований ),'); outtextxy(395,150,'так как невозможно выбрать но-'); outtextxy(395,160,'вую плоскость проекций, кото-'); outtextxy(395,170,'рая была бы одновременно па-'); outtextxy(395,180,'ралллельной плоскости Ф и пер-'); outtextxy(395,190,'пендикулярной одной из плос-'); outtextxy(395,200,'костей проекций исходной сис-'); outtextxy(395,210,'темы П , П .'); outtextxy(395,213,' 1 2 '); outtextxy(380,223,' Поэтому первой заменой '); outtextxy(395,225,'_ _ '); outtextxy(395,234,'f(П -> П ) плоскость Ф преоб-'); outtextxy(395,237,' 1 1 '); outtextxy(395,247,'разуем в проецирующую в сис-'); outtextxy(395,249,' _ '); outtextxy(395,258,'теме П , П (см. задачу 3). '); outtextxy(395,261,' 2 1 '); outtextxy(395,271,' { нажмите клавишу <enter> } '); ent(7); if kod<>13 then

49

Page 50: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

exit; ris34; outtextxy(380,279,' _ _ '); outtextxy(380,281,' _ _ '); outtextxy(380,291,' Второй заменой f(П -> П ),'); outtextxy(380,294,' 2 2 '); outtextxy(395,292,' _ '); outtextxy(395,294,' _ '); outtextxy(395,303,'где П || Ф, приводим ее в по-'); outtextxy(395,305,' 2 '); outtextxy(395,315,'ложение плоскости уровня в'); outtextxy(395,317,' _ '); outtextxy(395,319,' _ _ '); outtextxy(395,328,'системе П , П .'); outtextxy(395,331,' 1 2 '); ent(7); if kod<>13 then exit; s:=s+1; end; procedure ris2_1; begin setcolor(8); Line(20*3,25+14*4,20*6+5,25+14*2); {A2B2} Line(20*3,26+14*4,20*6+5,26+14*2); Line(20*3,27+14*4,20*6+5,27+14*2); Line(20*3,27+14*8+2,20*6+5,27+14*6); {A1B2} Line(20*3,25+14*8+2,20*6+5,25+14*6); Line(20*3,26+14*8+2,20*6+5,26+14*6); Line(20*3,26+14*4,20*3,26+14*8+2); {A1A2} Line(20*6+5,26+14*2,20*6+5,26+14*6); {B1B2} t_ka(20*3,26+14*4); {A2} t_ka(20*3,26+14*8+2); {A1} t_ka(20*6+5,26+14*2); {B2} t_ka(6*20+5,26+14*6); {B1} outtextxy(20*2,26+14*3,'A'); outtextxy(20*2+10,26+14*3+3,'2'); outtextxy(20*6,26+14*1,'B'); outtextxy(20*6+10,26+14*1+3,'2'); outtextxy(20*2,26+14*8+3,'A'); outtextxy(20*2+8,26+14*8+6,'1'); outtextxy(6*20+5,26+14*6+4,'B'); outtextxy(6*20+13,26+14*6+7,'1'); end; procedure ris2_2; begin setcolor(8); Line(20*8+10,25+14*6,20*12+8,25+14*6); {A_1B_1}

50

Page 51: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

Line(20*8+10,26+14*6,20*12+8,26+14*6); Line(20*8+10,27+14*6,20*12+8,27+14*6); Line(20*5-3,26+14*7-7,20*5+7,26+14*7); Line(20*10+7,26+14*6-3,20*10+13,26+14*6+3); t_ka(20*8+10,26+14*6); {A_1} t_ka(20*12+8,26+14*6); {B_1} outtextxy(20*8,26+14*6+7,'A'); outtextxy(20*8+8,26+14*6+10,'1'); outtextxy(20*12+3,26+14*6+8,'B'); outtextxy(20*12+11,26+14*6+11,'1'); outtextxy(20*8,26+14*6-3,'_'); outtextxy(20*12+3,26+14*6-2,'_'); end; procedure ris2_3; begin setcolor(8); Line(1*20+10,26+14*2,20*12+8,26+14*2); Line(1*20+10,26+14*4,20*11+6,26+14*4); Line(20*8+10,25+14*4,20*12+8,25+14*2); {A_2B_2} Line(20*8+10,26+14*4,20*12+8,26+14*2); Line(20*8+10,27+14*4,20*12+8,27+14*2); Line(20*8+10,26+14*6,20*8+10,26+14*4); {A_2A_1} Line(20*12+8,26+14*6,20*12+8,26+14*2); {B_2B_1} Line(20*7,26+14*4-3,20*8-5,26+14*4); {стрелки} Line(20*7,26+14*4+3,20*8-5,26+14*4); Line(20*8-15,26+14*2-3,20*8,26+14*2); Line(20*8-15,26+14*2+3,20*8,26+14*2); arc(20*6+5,26+14*4,270,360,12); putpixel(20*6+10,26+14*4+4,14); circle(20*6+10,26+14*4+4,1); arc(20*8,26+14*4,0,20,50); t_ka(20*8+10,26+14*4); {A_2} t_ka(20*12+8,26+14*2); {B_2} t_ka(20*8+10,26+14*6); {A_1} t_ka(20*12+8,26+14*6); {B_1} t_ka(20*3,26+14*4); {A2} t_ka(20*6+5,26+14*2); {B2} outtextxy(20*7+10,26+14*3,'A'); outtextxy(20*8,26+14*3+3,'2'); outtextxy(20*12+3,26+14*1,'B'); outtextxy(20*12+13,26+14*1+3,'2'); outtextxy(20*12+3,26+14*1-9,'_'); outtextxy(20*7+10,26+14*3-9,'_'); outtextxy(20*1-10,26+14*2-7,'W'); outtextxy(20*1,26+14*2-3,'2'); outtextxy(20*1-10,26+14*4-7,'Ф'); outtextxy(20*1,26+14*4-3,'2'); outtextxy(20*11-5,26+14*3+3,'q'); end; procedure ris2_4; begin setcolor(8); Line(20*17-8,26+14*1-3,20*17-8,26+14*6);

51

Page 52: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

Line(20*17-7,26+14*1-3,20*17-7,26+14*5+2); Line(20*17-9,26+14*1-3,20*17-9,26+14*5+2); Line(20*12+8,26+14*6,20*19,26+14*6); Line(20*11-4,26+14*3-8,20*11+7,26+14*3-1); Line(20*11,26+14*3-10,20*11+11,26+14*3-3); Line(20*17-12,26+14*3-4,20*17-3,26+14*3+4); Line(20*17-12,26+14*3-1,20*17-3,26+14*3+7); arc(20*12+8,26+14*6,0,90,12); putpixel(20*12+12,26+14*6-4,14); circle(20*12+12,26+14*6-4,1); Line(20*15-15,26+14*6-3,20*15,26+14*6); Line(20*15-15,26+14*6+3,20*15,26+14*6); t_ka(20*17-8,26+14*5+2); {A__2} t_ka(20*17-8,26+14*1-3); {B__2} t_ka(20*17-8,26+14*6); {A__1} t_ka(20*12+8,26+14*6); {B_1} outtextxy(20*19-10,26+14*6-11,'S'); outtextxy(20*19,26+14*6-8,'1'); outtextxy(20*17,26+14*1-10,'='); outtextxy(20*17,26+14*1-3,'B'); outtextxy(20*17+8,26+14*1,'2'); outtextxy(20*17+8,26+14*5+3,'1'); outtextxy(20*17,26+14*5-7,'='); outtextxy(20*17,26+14*5,'A'); outtextxy(20*16,26+14*6+1,'= ='); outtextxy(20*16,26+14*6+8,'A = B '); outtextxy(20*16,26+14*6+11,' 1 1'); end; procedure ris2_31; begin setcolor(8); line(20*3,25+14*7,20*7-4,25+14*6+5); {A1B1} line(20*3,26+14*7,20*7-4,26+14*6+5); line(20*3,27+14*7,20*7-4,27+14*6+5); line(20*7-3,26+14*6+5,20*9-7,26+14*9); {B1C1} line(20*7-4,26+14*6+5,20*9-8,26+14*9); line(20*7-5,26+14*6+5,20*9-9,26+14*9); line(20*7-2,26+14*6+5,20*9-6,26+14*9); line(20*3,25+14*7,20*9-8,25+14*9); {A1C1} line(20*3,26+14*7,20*9-8,26+14*9); line(20*3,27+14*7,20*9-8,27+14*9); line(20*3,25+14*3+3,20*7-4,25+14*2-2); {A2B2} line(20*3,26+14*3+3,20*7-4,26+14*2-2); line(20*3,27+14*3+3,20*7-4,27+14*2-2); line(20*7-3,26+14*2-2,20*9-7,26+14*4+6); {B2C2} line(20*7-4,26+14*2-2,20*9-8,26+14*4+6); line(20*7-5,26+14*2-2,20*9-9,26+14*4+6); line(20*7-2,26+14*2-2,20*9-6,26+14*4+6); line(20*3,25+14*3+3,20*9-8,25+14*4+6); {A2C2}

52

Page 53: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

line(20*3,26+14*3+3,20*9-8,26+14*4+6); line(20*3,27+14*3+3,20*9-8,27+14*4+6); line(20*3,26+14*7,20*3,26+14*3+3); {A1A2} line(20*7-4,26+14*6+5,20*7-4,26+14*2-2); {B1B2} line(20*9-8,26+14*9,20*9-8,26+14*4+6); {C1C2} t_ka(20*3,26+14*7); {A1} t_ka(20*3,26+14*3+3); {A2} t_ka(20*7-4,26+14*2-2); {B2} t_ka(20*7-4,26+14*6+5); {B1} t_ka(20*9-8,26+14*4+6); {C2} t_ka(20*9-8,26+14*9); {C1} outtextxy(20*6,26+14*1-1,'B'); outtextxy(20*6+10,26+14*1+2,'2'); outtextxy(20*2,26+14*3-1,'A'); outtextxy(20*2+10,26+14*3+2,'2'); outtextxy(20*2+10,26+14*7+3,'A'); outtextxy(20*3,26+14*7+6,'1'); outtextxy(20*6-1,26+14*5+5,'B'); outtextxy(20*6+7,26+14*5+8,'1'); outtextxy(20*9-1,26+14*4+2,'C'); outtextxy(20*9+9,26+14*4+5,'2'); outtextxy(20*9-5,26+14*9+4,'C'); outtextxy(20*9+5,26+14*9+7,'1'); end; procedure ris2_32; begin setcolor(8); line(20*12+4,26+14*5+3,20*13-1,26+14*1+1); {B_2A_2} line(20*12+5,26+14*5+3,20*13,26+14*1+1); line(20*12+6,26+14*5+3,20*13+1,26+14*1+1); line(20*13-1,26+14*1+1,20*15-2,26+14*7-5); {A_2C_2} line(20*13,26+14*1+1,20*15-1,26+14*7-5); line(20*13+1,26+14*1+1,20*15,26+14*7-5); line(20*15-1,25+14*7-5,20*12+5,25+14*5+3); {C_2B_2} line(20*15-1,26+14*7-5,20*12+5,26+14*5+3); line(20*15-1,27+14*7-5,20*12+5,27+14*5+3); line(20*12+4,26+14*6+5,20*15-2,26+14*9); {B_1C_1} line(20*12+5,26+14*6+5,20*15-1,26+14*9); line(20*12+6,26+14*6+5,20*15,26+14*9); line(20*12+7,26+14*6+5,20*15+1,26+14*9); line(20*2,26+14*9,20*15-1,26+14*9); line(20*2,26+14*6+5,20*12+5,26+14*6+5); line(20*2,26+14*7,20*13,26+14*7); line(20*10,26+14*9,20*10-10,26+14*9-3); line(20*10,26+14*9,20*10-10,26+14*9+3); line(20*10,26+14*7,20*10-10,26+14*7-3); line(20*10,26+14*7,20*10-10,26+14*7+3); line(20*10,26+14*6+5,20*10-10,26+14*6+2); line(20*10,26+14*6+5,20*10-10,26+14*6+8); line(20*12+5,26+14*6+5,20*12+5,26+14*5+3); {B_1B_2} line(20*15-1,26+14*9,20*15-1,26+14*7-5); {C_1C_2} line(20*13,26+14*7,20*13,26+14*1+1);

53

Page 54: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

line(20*3,26+14*3+3,20*9,26+14*2+4); {f2} line(20*7+7,26+14*3-6,20*7+7,26+14*7); {1211} t_ka(20*7-4,26+14*6+5); {B1} t_ka(20*3,26+14*7); {A1} t_ka(20*12+5,26+14*5+3); {B_2} t_ka(20*13,26+14*1+1); {A_2} t_ka(20*15-1,26+14*7-5); {C_2} t_ka(20*13,26+14*7); {A_1} t_ka(20*15-1,26+14*9); {C_1} t_ka(20*12+5,26+14*6+5); {B_1} t_ka(20*9-8,26+14*9); {C1} t_ka(20*7+7,26+14*3-6); {12} t_ka(20*7+7,26+14*7); {11} t_ka(20*13,26+14*6-6); {1_2} t_ka(20*3,26+14*3+3); {A2} outtextxy(20*12-2,26+14*1-4,'A'); outtextxy(20*12+6,26+14*1-1,'2'); outtextxy(20*12-2,26+14*1-13,'_'); outtextxy(20*13+2,26+14*4-4,'f'); outtextxy(20*13+10,26+14*4-1,'2'); outtextxy(20*13+2,26+14*4-13,'_'); outtextxy(20*13+2,26+14*6+3,'1'); outtextxy(20*13+10,26+14*6+6,'2'); outtextxy(20*13+2,26+14*6-6,'_'); outtextxy(20*11+2,26+14*5-7,'B'); outtextxy(20*11+10,26+14*5-4,'2'); outtextxy(20*11+2,26+14*5-16,'_'); outtextxy(20*11+2,26+14*6-7,'B'); outtextxy(20*11+10,26+14*6-4,'1'); outtextxy(20*11+2,26+14*6-16,'_'); outtextxy(20*11+2,26+14*8-8,'A =f'); outtextxy(20*11+10,26+14*8-5,'1 1'); outtextxy(20*11+2,26+14*8-17,'_ _'); outtextxy(20*9+2,26+14*2+1,'f'); outtextxy(20*9+10,26+14*2+4,'2'); outtextxy(20*7+2,26+14*2-6,'1'); outtextxy(20*7+10,26+14*2-3,'2'); outtextxy(20*7-8,26+14*8-10,'1'); outtextxy(20*7,26+14*8-7,'1'); outtextxy(20*9-6,26+14*8-10,'f'); outtextxy(20*9+2,26+14*8-7,'1'); outtextxy(20*15+3,26+14*7,'C'); outtextxy(20*15+11,26+14*7+3,'2'); outtextxy(20*15+3,26+14*7-9,'_'); outtextxy(20*15+5,26+14*9,'C'); outtextxy(20*15+13,26+14*9+3,'1'); outtextxy(20*15+5,26+14*9-9,'_'); outtextxy(20*1,26+14*9-4,'Г'); outtextxy(20*1+8,26+14*9-1,'1'); outtextxy(20*1,26+14*7-4,'Ф'); outtextxy(20*1+8,26+14*7-1,'1'); outtextxy(20*1,26+14*6-4,'W'); outtextxy(20*1+8,26+14*6-1,'1'); end; procedure ris2_33; begin setcolor(8); line(20*18,26+14*5+3,20*19+1,26+14*1+1); {B__2A__2} line(20*18-1,26+14*5+3,20*19,26+14*1+1); line(20*18-2,26+14*5+3,20*19-1,26+14*1+1); line(20*19+1,26+14*1+1,20*22-4,26+14*7-5); {A__2C__2} line(20*19,26+14*1+1,20*22-5,26+14*7-5); line(20*19-1,26+14*1+1,20*22-6,26+14*7-5); line(20*22-5,25+14*7-5,20*18-1,25+14*5+3); {C__2B__2}

54

Page 55: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

line(20*22-5,26+14*7-5,20*18-1,26+14*5+3); line(20*22-5,27+14*7-5,20*18-1,27+14*5+3); line(20*18-1,25+14*8,20*22-5,25+14*8); {B__1C__1} line(20*18-1,26+14*8,20*22-5,26+14*8); line(20*18-1,27+14*8,20*22-5,27+14*8); line(20*23-1,26+14*5+3,20*12+5,26+14*5+3); {B__2B_2} line(20*23,26+14*1+1,20*13,26+14*1+1); {A__2A_2} line(20*23,26+14*7-5,20*15-1,26+14*7-5); {C__2C_2} line(20*18-1,26+14*8,20*18-1,26+14*5+3); {B__1B__2} line(20*19,26+14*8,20*19,26+14*1+1); {A__1A__2} line(20*22-5,26+14*8,20*22-5,26+14*7-5); {C__1C__2} line(20*17,26+14*1+1,20*17-10,26+14*1-2); line(20*17,26+14*1+1,20*17-10,26+14*1+4); line(20*17,26+14*5+3,20*17-10,26+14*5); line(20*17,26+14*5+3,20*17-10,26+14*5+6); line(20*17,26+14*7-5,20*17-10,26+14*7-8); line(20*17,26+14*7-5,20*17-10,26+14*7-2); line(20*18-4,26+14*7+7,20*18-1,26+14*7); line(20*18+2,26+14*7+7,20*18-1,26+14*7); line(20*19-3,26+14*7+7,20*19,26+14*7); line(20*19+3,26+14*7+7,20*19,26+14*7); line(20*22-8,26+14*7+7,20*22-5,26+14*7); line(20*22-2,26+14*7+7,20*22-5,26+14*7); arc(20*18-1,26+14*8,0,90,12); circle(20*18+4,26+14*8-4,1); putpixel(20*18+4,26+14*8-4,14); line(20*13+12,26+14*7+4,20*13+5,26+14*8-4); line(20*20,26+14*8-4,20*20-5,26+14*8+4); t_ka(20*12+5,26+14*5+3); {B_2} t_ka(20*18-1,26+14*8); {B__1} t_ka(20*18-1,26+14*5+3); {B__2} t_ka(20*19,26+14*8); {A__1} t_ka(20*19,26+14*1+1); {A__2} t_ka(20*22-5,26+14*8); {C__1} t_ka(20*22-5,26+14*7-5); {C__2} t_ka(20*13,26+14*1+1); {A_2} t_ka(20*15-1,26+14*7-5); {C_2} outtextxy(20*17+1,26+14*5-8,'B'); outtextxy(20*17+9,26+14*5-5,'2'); outtextxy(20*17+1,26+14*5-17,'_'); outtextxy(20*17+1,26+14*5-20,'_'); outtextxy(20*18+1,26+5,'A'); outtextxy(20*18+9,26+8,'2'); outtextxy(20*18+1,26-6,'_'); outtextxy(20*18+1,26-4,'_'); outtextxy(20*22-2,26+14*6-2,'C'); outtextxy(20*22+6,26+14*6+1,'2'); outtextxy(20*22-2,26+14*6-13,'_'); outtextxy(20*22-2,26+14*6-11,'_'); outtextxy(20*17+1,26+14*9-8,'B'); outtextxy(20*17+9,26+14*9-5,'1'); outtextxy(20*17+1,26+14*9-17,'_'); outtextxy(20*17+1,26+14*9-20,'_'); outtextxy(20*22+1,26+14*9-8,'C'); outtextxy(20*22+9,26+14*9-5,'1'); outtextxy(20*22+1,26+14*9-17,'_'); outtextxy(20*22+1,26+14*9-20,'_'); outtextxy(20*18+16,26+14*9-5,'A'); outtextxy(20*18+24,26+14*9-2,'1'); outtextxy(20*18+16,26+14*9-14,'_'); outtextxy(20*18+16,26+14*9-17,'_');

55

Page 56: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

outtextxy(20*23+5,26+14*7-9,'Г'); outtextxy(20*23+13,26+14*7-6,'1'); outtextxy(20*23+5,26+14*5-1,'Ф'); outtextxy(20*23+13,26+14*5+2,'1'); outtextxy(20*23+5,26+14*6-5,'_'); outtextxy(20*23+5,26+14*4+3,'_'); outtextxy(20*23+5,26+14*1-4,'W'); outtextxy(20*23+13,26+14*1-1,'1'); outtextxy(20*23+5,26,'_'); end; procedure ris2_34; begin setcolor(8); arc(20*18-1,26+14*5+3,40,110,43); arc(20*19,26+14*1+1,220,288,43); line(20*17+1,26+14*3-4,20*21-3,26+14*4-2); arc(20*22-5,26+14*7-5,91,145,61); arc(20*19,26+14*1+1,273,326,61); line(20*19+4,26+14*5-6,20*22-7,26+14*3+1); line(20*20+11,26+14*4-3,20*20+11,26+14*8); line(20*14+2,26+14*4-3,20*14+2,26+14*8+3); line(20*14+2,26+14*4-3,20*20+11,26+14*4-3); line(20*6-4,26+14*8+3,20*14+2,26+14*8+3); line(20*6-4,26+14*4,20*6-4,26+14*8+3); line(20*16,26+14*4-3,20*16+10,26+14*4-6); line(20*16,26+14*4-3,20*16+10,26+14*4); line(20*10,26+14*8+3,20*10+10,26+14*8); line(20*10,26+14*8+3,20*10+10,26+14*8+6); line(20*20+11-3,26+14*6-7,20*20+11,26+14*6); line(20*20+11+3,26+14*6-7,20*20+11,26+14*6); line(20*6-4-3,26+14*5+3,20*6-4,26+14*5-4); line(20*6-4+3,26+14*5+3,20*6-4,26+14*5-4); t_ka(20*14+2,26+14*8+3); {O_1} t_ka(20*6-4,26+14*8+3); {O1} t_ka(20*6-4,26+14*4); {O2} t_ka(20*14+2,26+14*4-3); {O_2} t_ka(20*20+11,26+14*4-3); {O__2} t_ka(20*20+11,26+14*8); {O__1} outtextxy(20*21+1,26+14*4+5,'O'); outtextxy(20*21+9,26+14*4+8,'2'); outtextxy(20*21+1,26+14*4-6,'_'); outtextxy(20*21+1,26+14*4-4,'_'); outtextxy(20*21-10,26+14*8+8,'O'); outtextxy(20*21-2,26+14*8+11,'1'); outtextxy(20*21-10,26+14*8-3,'_'); outtextxy(20*21-10,26+14*8-1,'_'); outtextxy(20*14+1,26+14*3,'O'); outtextxy(20*14+9,26+14*3+3,'2'); outtextxy(20*14+1,26+14*2+5,'_'); outtextxy(20*14+5,26+14*7+8,'O'); outtextxy(20*14+11,26+14*7+11,'1'); outtextxy(20*14+5,26+14*7-3,'_'); outtextxy(20*5,26+14*8+2,'O'); outtextxy(20*5+7,26+14*8+6,'1'); outtextxy(20*5-1,26+14*4+2,'O'); outtextxy(20*5+7,26+14*4+6,'2'); end;

56

Page 57: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

procedure list21; begin setgraphmode(1); setfillstyle(1,0); bar(0,0,getmaxx,getmaxy); setcolor(8); nazv2; setcolor(8); niz; outtextxy(10,50,' П л о с к о п а р а л л е л ь н ы м движением фигуры в пространстве назы-'); outtextxy(10,60,'вается такое ее перемещение, при котором все точки фигуры перемещаются в па-'); outtextxy(10,70,'раллельных плоскостях.'); outtextxy(10,90,' Теорема о плоскопараллельном перемещении относительно П : при плоскопаралле-'); outtextxy(10,93,' 1 '); outtextxy(10,103,'льном движении фигуры относительно горизонтальной плоскости проекций фрон-'); outtextxy(10,113,'тальные проекции ее точек перемещаются по прямым, перпендикулярным линиям'); outtextxy(10,123,'связи, а горизонтальная проекция фигуры остается конгруэнтной самой себе. '); outtextxy(10,143,' Теорема о плоскопараллельном перемещении относительно П : при плоскопаралле-'); outtextxy(10,146,' 2 '); outtextxy(10,156,'льном движении фигуры относительно фронтальной плоскости проекций горизон-'); outtextxy(10,166,'тальные проекции ее точек перемещаются по прямым, перпендикулярным линиям'); outtextxy(10,176,'связи, а фронтальная проекция фигуры остается конгруэнтной самой себе. '); ent(5); if kod<>13 then exit; s:=s+1; end; procedure list22; begin setgraphmode(1); setfillstyle(1,0); bar(0,0,getmaxx,getmaxy);

57

Page 58: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

setcolor(8); nazv2; niz; ris2_1; outtextxy(10,160,'1. Преобразовать прямую общего положения в прмую уровня - фронталь. '); outtextxy(395,170,' { нажмите клавишу <enter> } '); ent(5); if kod<>13 then exit; ris2_2; outtextxy(10,190,' Выполним плоскопараллельное движение прямой AB относительно горизонтальной'); outtextxy(10,192,' __ '); outtextxy(10,201,'плоскости проекций. Так как прямая AB должна быть фронталью, то ее горизон-'); outtextxy(10,203,' _ _ '); outtextxy(10,212,'тальную проекцию A B расположим перпендикулярно линиям связи. При этом сог-'); outtextxy(10,215,' 1 1 '); outtextxy(10,216,' _ _ '); outtextxy(10,226,'ласно теореме горизонтальные проекции A B , A B отрезка [AB] и его образа'); outtextxy(10,229,' 1 1 1 1 '); outtextxy(10,231,' __ '); outtextxy(10,240,'[AB] должны быть конгруэнтны.'); outtextxy(395,250,' { нажмите клавишу <enter> } '); ent(5); if kod<>13 then exit; ris2_3; outtextxy(10,270,' Фронтальные проекции A , B точек A, B перемещаются соответственно по пря-'); outtextxy(10,280,'мым Ф , W - вырожденным проекциям горизонтальных плоскостей уровня Ф, W, в'); outtextxy(10,283,' 2 2 '); outtextxy(10,293,'которых перемещаются точки A, B.'); outtextxy(10,303,' В результате выполненного плоскопараллельного движения определим натуральную'); outtextxy(10,305,' _ _ '); outtextxy(10,314,'величину отрезка AB(|AB| = A B ) и угол q его наклона к горизонтальной'); outtextxy(10,317,' 2 2 '); outtextxy(10,327,'плоскости проекций.');

58

Page 59: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

ent(5); if kod<>13 then exit; s:=s+1; end; procedure list23; begin setgraphmode(1); setfillstyle(1,0); bar(0,0,getmaxx,getmaxy); setcolor(8); nazv2; niz; ris2_1; outtextxy(10,160,'2. Преобразовать прямую (AB) общего положения в горизонтальную проецирующую'); outtextxy(10,170,'прямую.'); outtextxy(395,170,' { нажмите клавишу <enter> } '); ent(5); if kod<>13 then exit; ris2_2; ris2_3; outtextxy(10,190,' Задача решается композицией двух преобразований. Сначала плоскопараллельным'); outtextxy(10,200,'движением относительно П прямую AB преобразуем во фронтальную прямую уровня'); outtextxy(10,203,' 1 '); outtextxy(10,205,'__ '); outtextxy(10,214,'AB (см. задачу 1).'); outtextxy(395,214,' { нажмите клавишу <enter> } '); ent(5); if kod<>13 then exit; ris2_4; outtextxy(10,226,' __ '); outtextxy(10,234,' Затем плоскопараллельным движением относительно П прямую AB преобразуем в'); outtextxy(10,237,' 2 '); outtextxy(10,237,' __ _ _ '); outtextxy(10,239,' __ _ _ _ _ '); outtextxy(10,248,'горизонтально проецирующую прямую AB. При этом | A B | = | A B |, горизон-');

59

Page 60: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

outtextxy(10,251,' 2 2 2 2 '); outtextxy(10,253,' _ _ _ _ '); outtextxy(10,262,'тальные проекции A , B точек A, B перемещаются по прямой S - вырожденной'); outtextxy(10,265,' 1 1 1 '); outtextxy(10,267,' _ _ '); outtextxy(10,276,'проекции фронтальной плоскости уровня S, в которой перемещаются точки A, B. '); ent(5); if kod<>13 then exit; s:=s+1; end; procedure list24; begin setgraphmode(1); setfillstyle(1,0); bar(0,0,getmaxx,getmaxy); setcolor(8); nazv2; niz; ris2_31; outtextxy(10,170,'3. Построить центр O окружности m, описанной около треугольника ABC. '); outtextxy(395,180,' { нажмите клавишу <enter> } '); ent(5); if kod<>13 then exit; ris2_32; outtextxy(10,200,' Для решения этой задачи необходимо плоскость ABC общего положения преобразо-'); outtextxy(10,210,'вать в плоскость уровня, построить здесь искомую точку и обратным преобразо-'); outtextxy(10,220,'ванием нацти ее проекции на исходном чертеже.'); outtextxy(10,230,' Одним плоскопараллельным движением плоскость общего положения нельзя преоб-'); outtextxy(10,240,'разовать в плоскость уровня. Поэтому выполним последовательно два плоскопарал-'); outtextxy(10,250,'лельных движения треугольника ABC: сначала относительно фронтальной плоскости'); outtextxy(10,260,'проекций, затем относительно плоскости П .');

60

Page 61: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

outtextxy(10,263,' 1 '); outtextxy(10,266,' _ '); outtextxy(10,275,' При первом плоскопараллельном движении u плоскость треугольника ABC преобра-'); outtextxy(10,276,' _ _ _ '); outtextxy(10,285,'зуем в проецирующую плоскость. Для этого фронтальную проекцию A B C образа'); outtextxy(10,288,' 2 2 2 '); outtextxy(10,288,' _ _ _ '); outtextxy(10,298,'расположим так, чтобы фронталь f(f , f ) стала горизонтально проецирующей. При'); outtextxy(10,301,' 1 2 '); outtextxy(10,301,' _ _ _ '); outtextxy(10,310,'этом |A B C | = |A B C |, а горизонтальные проекции A , B , C вершин A, B, C'); outtextxy(10,313,' 2 2 2 2 2 2 1 1 1 '); outtextxy(10,322,'треугольника опишут соответственно прямые Ф , W , Г - вырожденные проекции'); outtextxy(10,325,' 1 1 1 '); outtextxy(10,332,'фронтальных плоскостей уровня, проведенных через эти вершины.'); ent(5); if kod<>13 then exit; s:=s+1; end; procedure list25; begin setgraphmode(1); setfillstyle(1,0); bar(0,0,getmaxx,getmaxy); setcolor(8); nazv2; niz; ris2_31; ris2_32; ris2_33; outtextxy(10,164,' = --- '); outtextxy(10,170,' Вторым плоскопараллельным движением u относительно П треугольник ABC пре-'); outtextxy(10,173,' 1 '); outtextxy(10,178,' === '); outtextxy(10,185,'образуем в треугольник ABC, расположенный во фронтальной плоскости уровня.');

61

Page 62: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

outtextxy(10,193,' - - = = '); outtextxy(10,200,'При этом отрезки B C , B C конгруэнтны, и последний располагаем перпенди-'); outtextxy(10,203,' 1 1 1 1 '); outtextxy(10,208,' = = = '); outtextxy(10,215,'кулярно линиям связи. Поэтому фронтальная проекция A B C определяет нату-'); outtextxy(10,218,' 2 2 2 '); outtextxy(10,228,'ральные размеры треугольника ABC.'); outtextxy(395,238,' { нажмите клавишу <enter> } '); ent(5); if kod<>13 then exit; ris2_34; outtextxy(10,252,' = = '); outtextxy(10,259,' Известными построениями находим фронтальную проекцию O центра O искомой'); outtextxy(10,261,' 2 '); outtextxy(10,266,' = '); outtextxy(10,273,'окружности, по линиям связи находим его горизонтальную проекцию O . Обрат-'); outtextxy(10,276,' 1 '); outtextxy(10,281,' = - '); outtextxy(10,285,' -1 -1 '); outtextxy(10,289,'ными преобразованиями u , u находим проекции O , O центра O описанной'); outtextxy(10,292,' 1 2 '); outtextxy(10,302,'вокруг треугольника ABC окружности.'); ent(5); if kod<>13 then exit; s:=s+1; end; procedure menu(var ukaz:integer); var s:array[1..4] of string; begin clrscr; textcolor(5); textbackground(7); S[1]:=' Способ замены плоскостей. '; S[2]:='Графическое решение основных задач.'; S[3]:=' ВЫХОД ';

62

Page 63: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

for i:=1 to 3 do begin gotoXY(25,5+i); writeln(s[i]); end; ukaz:=1; repeat gotoXY(25,5+ukaz); textcolor(7); textbackground(5); write (s[ukaz]); kod:=ord(readkey); gotoXY(25,5+ukaz); textcolor(5); textbackground(7); write(s[ukaz]); case kod of 80:ukaz:=ukaz+1; 72:ukaz:=ukaz-1; 27:halt; end; if ukaz<1 then ukaz:=3; if ukaz>3 then ukaz:=1; until kod=13; end; BEGIN repeat textbackground(0);clrscr; menu (ukaz); textbackground(0); case ukaz of 1: begin s:=1; otkr_gr; repeat case s of 1: list1; 2: list2; 3: list3; 4: list4; 5: list5; 6: list6; 7: list7; end; if kod=27 then

63

Page 64: Решение метрических задач по начертательной геометрии на ЭВМ: Методические указания к практическим

s:=8; until s=8; closegraph; end; 2: begin s:=1; otkr_gr; repeat case s of 1: list21; 2: list22; 3: list23; 4: list24; 5: list25; end; if kod=27 then s:=6; until s=6; closegraph; end; end; until ukaz=3; END.

64


Recommended