Обучение AutoLISP в 8 уроках


Обучение AutoLISP в восьми уроках - стр. 36


рый должен быть списком.
 
CAR  возвращает первый элемент списка.
 
CDR  возвращает список и все в нем КРОМЕ первого элемента.
 
Если функцию CAR применить к переменной PT,  какой  значение  она
будет возвращать? К какой координате его можно приравнять?
 
    Command: (car pt)
    1.0
 
CAR возвращает первый  элемент  PT,  который  является  значением
координаты X.
 
Что будет возвращать функция CDR когда она будет применена к PT?
 
    Command: (cdr pt)
    (2.0 3.0)
 
На первый взгляд, это не является особенно полезным. Но что  слу-
чится если мы применим CAR  к  результату  описному  выше?  Какое
координатное значение будет возвращать комбинация CAR и CDR?
 
    Command: (car (cdr pt))
    2.0
 
CDR возвращает список после того, как первый элемент удаляется, в
этом случае список ( 2.0 3.0 ). Когда CAR  получает  этот  список
как параметр, она возвращает первый элемент, который является Y -
координатой точки.
 
(car <точка>) возвращает X - координату точки.
 
(car (cdr <точка>)) возвращает Y - координату точки.
 
И, наконец, (car ( cdr ( cdr <точка> ))) возвращает Z - координа-
ту точки.
 
ВЫЧИСЛЕНИЕ ДРУГИХ ТОЧЕК
 
Если PT1 и PT2 содержат значения  двух  точек  которые  формируют
диагональ прямоугольника, тогда другие его точки могут быть опре-
делены объединяя X и Y значения PT1 с Y и X значениями PT2. В на-
шем случае, мы игнорируем значения Z, потому что мы имеем дело  с
2-мерной полилинией.
 
PT3 совместно использует значение X от PT1 и значением Y от PT2.
 
PT4 совместно использует значение X от PT2 и значением Y от PT1.
 
    PT3 -------------------------------- PT2
     |                                  |
     |                                  |
     |                                  |
     |                                  |
    PT1 -------------------------------- PT4
 
Как мы будем использовать функции CAR и CDR чтобы  извлечь  соот-



Начало  Назад  Вперед