Параметрические изображения объектов проектирования на основе использования языка АВТОЛИСП в среде АВТОКАД. Притыкин Ф.Н. - 23 стр.

UptoLike

Составители: 

23
Рис. 2.2. Вычисление координат точки в полярных координатах
(angle <точка1> <точка2>)функция вычисления угла (в радиа-
нах), образованного вектором V, направленным из <точки1> в <точку2> ,
и осью x (рис. 2.3). Этот угол измеряется против часовой стрелки.
Пример: (angle '(10 10) '(20 30)) возвращает результат 1.10715. (setq u
(angle p1 p2)) – если точки заданы переменными р1 и р2 (рис. 2.3). Точ-
ки р1 и р2 определяют направление вектора V.
Рис. 2.3. Вычисление значения угла между направлением луча,
заданного вектором V, и направлением оси x
Функцию (inters <точка1> <точка2> <точка3> <точка4> [<С>])
применяют для вычисления точки пересечения двух отрезков, задан-
ных точками: <точка 1> , <точка2> отрезок1 и <точка3>, <точка4>
соответственно второй отрезок. Если факультативный аргумент <С> при-
сутствует и равен nil, то отрезки воспринимают как отрезки бесконечной
длины и координаты точки пересечения будут возвращаться всегда.
В случае, если <С> отсутствует или не nil, то точка должна находиться на
этих отрезках или функция возвращает nil.
Примеры: (inters '(10 10) '(20 30) '(20 20) '(30 60) (nil)) возвращает
результат (13.3333 16.6667), где списки '(10 10) '(20 30) '(20 20) '(30 60) за-
дают координаты четырех точек. Если точки, определяющие прямые, за-
даны переменными р1, р2, р3 и р4, то точка р5 пересечения этих прямых
вычисляется по следующей записи функции: (setq р5 (inters p1 p2 p3 p4
nil)) (рис. 2.4а). Переменной р5 будет возвращено значение координат
l
р1
р2
U
x
y
d
р1
р2
u
х
V
                                     l             р2
                  y
                                                   U
                               р1                           d
                          x


          Рис. 2.2. Вычисление координат точки в полярных координатах


    • (angle <точка1> <точка2>) – функция вычисления угла (в радиа-
нах), образованного вектором V, направленным из <точки1> в <точку2> ,
и осью x (рис. 2.3). Этот угол измеряется против часовой стрелки.
Пример: (angle '(10 10) '(20 30)) − возвращает результат 1.10715. (setq u
(angle p1 p2)) – если точки заданы переменными р1 и р2 (рис. 2.3). Точ-
ки р1 и р2 определяют направление вектора V.


                               V
                                              р2
                                              u         х
                          р1

          Рис. 2.3. Вычисление значения угла между направлением луча,
                 заданного вектором V, и направлением оси x


     • Функцию (inters <точка1> <точка2> <точка3> <точка4> [<С>])
применяют для вычисления точки пересечения двух отрезков, задан-
ных точками: <точка 1> , <точка2> − отрезок1 и <точка3>, <точка4> −
соответственно второй отрезок. Если факультативный аргумент <С> при-
сутствует и равен nil, то отрезки воспринимают как отрезки бесконечной
длины и координаты точки пересечения будут возвращаться всегда.
В случае, если <С> отсутствует или не nil, то точка должна находиться на
этих отрезках или функция возвращает nil.
     Примеры: (inters '(10 10) '(20 30) '(20 20) '(30 60) (nil)) − возвращает
результат (13.3333 16.6667), где списки '(10 10) '(20 30) '(20 20) '(30 60) за-
дают координаты четырех точек. Если точки, определяющие прямые, за-
даны переменными р1, р2, р3 и р4, то точка р5 пересечения этих прямых
вычисляется по следующей записи функции: (setq р5 (inters p1 p2 p3 p4
nil)) (рис. 2.4а). Переменной р5 будет возвращено значение координат

                                         23