Файл: Е. Г. Крушель, А. Э. Панфилов осваиваем mathcad.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 16.03.2024

Просмотров: 101

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
ок, парал- ьный грани AB и равный ему по величине. Получаем координаты вершины E и грань СE.
, что при выполнении эта- па 3. Получаем грань BE. Этим за- данных). Испо ьзуем ее для того чтобы аналогично этапу 3 провести отрезок, соединяющий заданные
CG
, EH. Получится так, как
Этап 6
. Соединяем отрезками прямых линий точки на плоскости
Построение параллелограмма ршено.
Получится так, как показано на
. 2.54.
Этап 4
. На плоскости P
ABC
из вершины C строим отрез лел
Рис. 2.52.
Затем проводим отрезок, со- единяющий вершины B и E тем же способом вершается построение основания параллелепипеда.
Получится так, как показано на рис. 2.52.
Этап 5
. Переходим к нахож- дению координат вершин на про- тивоположной грани, располагае- мой на плоскости P
D
. Одна из вер- шин задана (точка D в исходных л
вершины A и D. Получаем ребро
AD
. Затем из точек B, C, E прово- дим отрезки такой же длины с та- ким же углом наклона, что и ребро
AD
. Получаем точки F, G, H и реб- ра BF,
Рис. 2.53. показано на рис. 2.53.
D
P
D
,
DF
заве рис получаем ребра DG, GH, FH,
Рис. 2.54.
A
B
C
E
F
G
H
71

Этап 7
. Расчет масштабов для плоскостей P
ABC
и P
D
, соответст- вующих координатам вершин па- раллелограмма (этап выполняется
п
проходящей через 3 вершины (A, B, C
B
, C
». Подробное описание см. в Учеб
1.
Формируем определитель (с
<Ctrl>+<M>, затем в ее слоты вписы рицу нужно охватить синим контуром основе координат вершин A, B, C. Пр шаем полученное уравнение относите используем символьные преобразовани вставляем ко
ve
(реши) и че сительно кото решение, т. с
для того чтобы чертеж выглядел профессионально).
Невидимые ребра нужно показать пунктиром.
Получится так, как показано на рис. 2.55.
а 1
«Построение плоскости P
Рис. 2.55.
ABC
,
) параллелограмма, показ вершин A,
ной задаче к части 1 (§3). Кратко: начала формируется матрица 3×3, ваются нужные данные, затем мат- и набрать знак определителя | ) на иравниваем определитель нулю и ре- льно координаты z. Для вычисления я (<Ctrl>+<Shift>+<точка>, в слот рез запятую имя переменной, отно- е. z). НЕ ЗАБУДЬТЕ! Знак равенст- так:
Указания к выполнению эта
манду sol
рой ищется я
ва
ЖИРНЫЙ
(<Ctrl>+<=>). Получит x x A

x B xA

x C xA

y y A

y B y A

y A

z z y C
A

z B −
z C −
z A
z A










0 solve z
,
x

4
+

т вид z = – x + 4). оординат
(т. е. ур нение плоскости P
ABC
имее
2.
Формируем вектор 3×1 для плоскости, подлежащих выводу на график. Затем, использу функцию CreateMesh( ), вводим диапазоны аргументов x и y и част сеток. Поскольку до окончания расчета координат вершин параллелограмма нужный диапазон точно не известен, при его на основании исходных данных «с запасом». я так: ав к
я оту нимаем
Получитс
72

динат вершин A,B,C, D (это нужно т на чертеж). В обозначениях Point-
A
, Point
B
, Point
C
, Point
D
использована косметическая» (т. е. не индекс, а просто украшение текста, чтобы не исать PointA) точка (набирается, например, так: Point <точка> A). y

3.
Формируем векторы из коор для того, чтобы их легко было вывес и
«
п
PointA x y
,
(
)
A
zA
xA









:=
PointB x y
,
(
)
B
zB
xB
y










:=
ointC x y
,
(
)
C
zC
P
xC
y










:=
D x y
,
(
)
D
zD
Point xD
y










:=
4.
Подготавливаем данные для вывода точек на чертеж (число линий сетки можно не указывать, т. к. точка – не объемная фигура. Это прояв- ляется в том, что начальные и конечные значения аргументов записыва- ются одинаковыми). В обозначениях использована «косметическая» точка:
TA CreateMesh PointA xA
,
xA
,
yA
,
yA
,
(
)
:=
TB CreateMesh PointB xB
,
xB
,
yB
,
yB
,
(
)
:=
TC CreateMesh PointC xC
,
x
,
y
,
y
,
(
)
:=
C C C
TD CreateMesh PointD xD
,
xD
,
yD
,
yD
,
(
)
:=
5.
Выводим шаблон пространственного графика (<Ctrl>+<2>), в сло- тах через запятые указываем идентификаторы плоскости и точек. Без на- стройки опций чертежа точки не будут видны. Для того чтобы оказать их, щелкните дважды левой кнопкой мыши по графику, в появ вшемся
2, Plot 3, Plot 4) скости также сделайте цветным: вкладка Plot 1, кнопка п
и окне выберите для графиков (Plot) показа точек (Plot
вкладку Appearance (внешний вид). Включите кнопку Draw Points (ри-
совать точки
), укажите ее форму (Symbol) в виде точки (dots), размер
(Size) не менее 2 (иначе точка будет незаметна на чертеже) и цвет (Solid
Color
). Цвета для точек выберите разными, чтобы можно было легко разо- брать, к какой из них (A, B или C) относится изображенная точка. Для кра- соты чертеж пло
Минимальное и максимальное значение аргумента y
Минимальное и максимальн значение аргумента x ое
Число линий сетки по аргументам х и y
PlaneABC x y
,
(
)
x y
x

4
+








:=
PABC CreateMesh PlaneABC,
(
:=
0 6
, 0
, 6
, 4
, 4
,
)
73

Color Map
(Цветовая гамма), заполнение (Fill Options) – кнопка
заполнять
, т. е. сделать чертеж плоскости прозрачным). Получим
No Fill
(не
рис.
2.56:
Рис. 2.56.
Этап 1
завершен.
Указания к выполнению этапа 2
«Построение плоскости P
D
, па-
раллельной плоскости P
ABC
, построенной на этапе 1; показ вершины D
».
Формулы, позволяющие определить уравнение для плоскости, парал- лельной заданной и проходящей через заданную точку, приведены в При-
ложении 3.
Последовательность действий:
74


1.
Используем уравнение плоскости P
ABC
, выведенное при выполне- нии этапа 1: z = – x + 4, см. п. 1 этапа 1. Сравниваем это уравнение со стандартным уравнением плоскости и определяем параметры стандарт- ого уравнения:
Стандартное уравнение: P
1
·x
+ P
2
·y
+ P
3
·z
+ P
4
= 0
«Наше» уравнение:
–1·x + 0·y –1·z + 4 = 0
Находим: P
1
= – 1; P
2
= 0; P
3
= – 1.
2.
Решаем уравнение для плоскости P
D
, параллельной плоскости
P
ABC
и проходящей через точку D. В общем виде такое уравнение имеет вид: P
1
·(xx
D
) + P
2
·(yy
D
) + P
3
·(zz
D
) = 0. Используя параметры п.1, решаем (символьными вычислениями, жирный знак равенства <Ctrl>+<=>, символьный знак равенства «стрелка» <Ctrl>+<Shift>+<точка>, в слот
solve
, z). Получится так: н
1
− x xD

(
)
0 y y D

(
)


1 z z D

(
)


0 solve z
,
x

11
+

(т. е. уравнение плоскости P
D
имеет вид z = – x + 11).
3.
Для вывода чертежа плоскости и точки D на ней используем те же действия, что описаны в п. 2, 4, 5 этапа 1. Цвет точки D желательно вы- брать тем же, что и для точки A (чтобы помнить, что в параллелограмме точки A и D соединяются ребром). Получим рис.2.57:
Этап 2
завершен.
PlaneD x y
,
(
)
x y
x

11
+


Рис. 2.57.






:=
PD CreateMesh PlaneD 0
, 8
, 0
, 8
, 5
, 5
,
(
)
:=
Обозначения точек внесены в среде
MSPaint (в Mathcad внесение обозначе- ний не предусмотрено). Эти обозначения нужны для пояснения этапов решения.
Вы тоже можете их вставить. Для этого нужно выделить чертеж синим конту- ром, скопировать его в буфер
(+ или иконка копирования), вызвать MSPaint, извлечь в него рисунок из буфера (+ или иконка вставки) и «подрисовать» обозначения.
Затем выделить нужную часть рисунка, скопировать в буфер, возвратиться в
Mathcad, извлечь из буфера на поле вто- рой страницы справа от «живого» чер- тежа. Вам легче будет следить за по- строениями.
75

Указания к выполнению этапа 3
«Построение ребер параллело-
грамма AB, AC на плоскости P
ABC
и ребра AD между плоскостями P
ABC
и P
D
». Для этой цели нужно использовать уравнение отрезка, соединяю- щего точки с заданными координатами. Имеется известное соотношение, связыва динатами (x
0
,
y
, z ) и ющее текущие координаты (x, y, z) прямой с коор
0
0
(x , y , z ) концов отрезка:
1
1
1
0 1
0 1
0 1
z
z
y
y
x
x

0
x
x
0 0
z
z
y
y



=
=


. Но для нуль. Придется вводить в общие формулы по- правки (заменить формулу вводом одинаковой координаты), и ф потеряют построения ребер это уравнение использовать нецелесообразно по сле- дующим причинам:
Во-первых, может оказаться, что у отрезка одна из координат одина- кова, тогда знаменатель обратится в нуль, возникнет останов алгоритма из-за попытки деления на ормулы универсальность.
Во-вторых, возникнут трудности масштабирования, оно тоже ока- жется не универсальным.
Поэтому ниже использовано другое представление прямой – в пара-
метрической
форме: Прямая линия – одномерная, поэтому параметр u – единственный. Каждая из координат прямой линии рассчитывается так:
Line u
( )
x0
x1 x0

(
)
u

+
y 0
y 1 y 0

(
)
u

+
z 0
z 1 z 0

(
)
u

+










Формула не содержит делений, поэтому более универсальна, чем приведенная выше. Если нужно показать только отрезок между x
0
и x
1
, то параметр u изменяется в универсальном диапазоне, от 0 до 1, и это сни- мает трудности масштабирования. При u = 0 получаем точку (x
0
, y
0
, z
0
), приu = 1 получаем точку (x
1
, y
1
, z
1
), при изменении параметра u в пре- делах 0 < u < 1 получаем все промежуточные точки отрезка. Параметри- ческая форма идеально отвечает задаче построения ребер параллело- грамма (т.е. отрезков прямых между вершинами).
Замечание
: поскольку строится трехмерное изображение отрезков, нужно записывать в формулах не один, а два параметра (иначе Mathcad
«не поймет», что требуется трехмерный график). Второй параметр зада- ется произвольно и в расчетах не участвует.
76


Испо ские уравнения прямых для построения ребер: г изменения параметра, достаточно указать 0 и 1 (отрезки прямой Mathcad построит самостоятельно).
Получим чертеж (рис. 2.58): льзуем параметриче
Ребро АВ
LineAB u v
,
(
)
xA
xB xA

(
)
u

+
yA
yB yA

(
)
u

+
zA
zB zA

(
)
u

+










:=
LAB CreateMesh LineAB 0
, 1
, 0
, 0
,
(
)
:=
LineAC u v
,
(
)
x x
x

(
)
u

+
yA
yC yA

(
)
u

+

Обратите внимание: не нужно (но, конечно, можно) задавать ша
Рис. 2.58
Этап 3
завершен.
Ребро АС
A
C
A
zA
zC zA

(
)
u

+







Обратите внимание: масштаб для CreateMesh получился ово.
универсальным: от 0 до 1 для всех отрезков одинак

:=
L
CreateMesh Line
0
, 1
, 0
, 0
,
(
)
:=

Ребро АD
xA
xD xA

(
)
u

+
y y

(
+

AC
AC
z

)
u

LineAD u v
,
(
)
A
D
yA
)
u

zA
zD
(
+








A

u
0 1
:=
v
0 1
:=
:=
LAD CreateMesh LineAD 0
, 1
, 0
, 0
,
(
)
:=
(диапазон изменения параметров; диапазон для v задается любым, v в вычисления не входит)
77

Указания к выполнению этапа 4
«Определение координаты чет-
вертой вершины параллелограмма (вершины E) на плоскости P
ABC
. По-
строение граней CE, BE на этой плоскости
». Нужно из точки B провес- ти отрезок, параллельный отрезку AC и равный ему по длине. Использу- ем коэффициент при параметре u такой же, как у ребра AC, но отсчет от- резка начинаем с координат точки B. Получим:
Уравнение ребра, параллельного ребру АС и проходящего через точку В:
LineBE u v
,
(
)
PointB u v
,
(
)
xC xA

(
)
u

yC yA

(
)
u

zC zA

(
)
u











+
:=
LBE CreateMesh LineBE 0
, 1
, 0
, 0
,
(
)
:=
Координаты точки E найдем, присваивая параметру u значение 1:
PointE u v
,
(
)
LineBE 1 0
,
(
)
:=
TE CreateMesh PointE 1
, 1
, 0
, 0
,
(
)
:=
После нахождения вершины E определяем уравнение ребра CE, ис- пользуя формулы, описанные в Указаниях к этапу 3:
LineCE u v
,
(
)
PointE u v
,
(
)
0
xC PointE u v
,
(
)
0

(
)
u

+
PointE u v
,
(
)
1
yC PointE u v
,
(
)
1

(
)
u

+
PointE u v
,
(
)
2
zC PointE u v
,
(
)
2

(
)
u

+










:=
LCE CreateMesh LineCE 0
, 1
, 0
, 0
,
(
)
:=
Получится так (рис. 2.59):
Рис. 2.59
Этап 4
завершен.
78


Указания к выполнению этапа 5
«Нахождение координат вершин
, G
уравнения ребер и координаты вершин на плоскости P
D
(для этого в уравнениях ребер параметр u принимаем равным 1):
F
, H на плоскости P
D
, построение ребер BF, CG, EH между плоско-
стями P
ABC
и P
D
». Техника расчета – та же, что использована в пояснени- ях к этапу 4 для построения ребра BE. Все ребра BF, CG, EH параллель- ны друг другу и параллельны уже построенному ребру AD. Поэтому ис- пользуем тот же коэффициент при параметре u, что и для ребра AD, а от- счет отрезков (ребер) начинаем с точек B, C, E соответственно. Получим
Получится так (рис.2.60):
79

Рис. 2.60
Этап 5
завершен.
Указания к выполнению этапа 6
«Построение ребер FD, FH, HG,
DG
на плоскости P
D
». Уравнения для ребер получаются как уравнения отрезков между заданными точками (см. Указания к выполнению этапа 3).
Координаты вершин определены на этапе 5. Получим:
LineFD u v
,
(
)
PointF u v
,
(
)0
xD PointF u v
,
(
)0

(
)
u

+
PointF u v
,
(
)1
yD PointF u v
,
(
)1

(
)
u

+
PointF u v
,
(
)2
zD PointF u v
,
(
)2

(
)
u

+










:=
Ребро FD
LFD CreateMesh LineFD 0
, 1
, 0
, 0
,
(
)
:=
LineDG u v
,
(
)
PointD u v
,
(
)0
PointG u v
,
(
)0 xD

(
)
u

+
PointD u v
,
(
)1
PointG u v
,
(
)1 yD

(
)
u

+
PointD u v
,
(
)2
PointG u v
,
(
)2 zD

(
)
u

+










:=
Ребро DG
LDG CreateMesh LineDG 0
, 1
, 0
, 0
,
(
)
:=
LineHF u v
,
(
)
PointF u v
,
(
)0
PointH u v
,
(
)0 PointF u v
,
(
)0

(
)
u

+
PointF u v
,
(
)1
PointH u v
,
(
)1 PointF u v
,
(
)1

(
)
u

+
PointF u v
,
(
)2
PointH u v
,
(
)2 PointF u v
,
(
)2

(
)
u

+










:=
Ребро HF
LHF CreateMesh LineHF 0
, 1
, 0
, 0
,
(
)
:=
LineGH u v
,
(
)
PointG u v
,
(
)0
Poi
(
+

ntH u v
,
(
)0 PointG u v
,
(
)0

)
u

PointG u v
,
(
)1
PointH u v
,
(
)1 PointG u v
,
(
)1

(
)
u

+
PointG u v
,
(
)2
PointH u v
,
(
)2 PointG u v
,
(
)2

(
)
u

+









:=
Ребро GH
LGH CreateMesh LineGH 0
, 1
, 0
, 0
,
(
)
:=
Построение параллелограмма завершено (рис. 2.61):
80

Рис. 2.61
Этап 6
завершен.
Указания к выполнению э
Придание чертежу профессио-
аль
масштабов для плоскостей P
ABC
и P
D
, соответ-
тву
м вершин параллелограмма
, показ невидимых ре-
ер
наты каждо- го аргумента (x, y, z) всех вершин находились в отдельном столбце. Затем найдем максимальные и минимальные значения координат x и y с помо- щью функции min( ), применяя ее к соответствующему столбцу. Составная матрица для вершин, расположенных на плоскости P
, имеет вид:
тапа 7
«
н
ного вида: расчет
ющих координата
с
б
пунктиром
».
1.
Сначала рассчитаем диапазоны переменных для плоскостей P
ABC
и
P
D
соответственно размерам параллелограмма. Для этого составим для ка- ждой плоскости матрицу координат вершин так, чтобы коорди
ABC
Point ABCE stack stack stack Point A 1 0
,
(
)
T
Point B 1 0
,
(
)
T
,




Point C 1 0
,
(
)
T
,




Point E 1 0
,
(
)
T
,




:=
2.
Без привычки такие сложные конструкты безошибочно создать трудно. Поэтому на первых порах лучше наращивать число строк матри- цы постепенно, начиная с координат двух вершин. Последовательность действий:
• Выбираем произвольно две любые вершины (например, вершины A и B). Их координаты заданы векторами Point
A
(1,0), Point
B
(1,0).
Транспонируем векторы (<Ctrl>+<1>) и соединяем две строки «одна под другой», с помощью функции stack( ). Получится: stack Point A 1 0
,
(
)
T
Point B 1 0
,
(
)
T
,




• Охватываем полученный фрагмент синим контуром и вырезаем его в буфер (<Ctrl>+<x> или иконка «ножницы»)
81