Группы пользователей Autodesk

Перевод градусов в радианы


Построение границы дорожки

 

Построение границы дорожки 
 

Перевод градусов в радианы



Создадим функцию, которая в дальнейшем позволит не набирать многократно одну и ту же формулуї Она выглядит следующим образом:

(defun Degrees->Radians (numberOfDegrees)

(* pi (/ numberOfDegrees 180.0)))

Функция называется Degrees->Radians и служит для перевода углов, выраженных в градусах, в радианы.

Для чего необходимо переводить угловые величины в радианы? На заднем плане AutoCAD® при работе с углами оперирует радианами, тогда как большинство людей привыкли измерять углы в градусах. Благодаря этой функции пользователь может вводить значения углов в градусах, а AutoLISP® сам преобразует их в радианы.

Для проверки работы служебной функции

  • В ответ на подсказку в окне консоли VLISP введите следующее:
  • (defun Degrees->Radians (numberOfDegrees)

    (* pi (/ numberOfDegrees 180.0)))

  • В ответ на подсказку в окне консоли VLISP введите следующее:
  • (degrees->radians 180)

    Функция возвращает число 3,14159. Таким образом, 180 градусов преобразуются в 3,14159 радиан.

    Для того, чтобы использовать функцию в программе, следует просто скопировать ее из окна консоли в файл gpmain.lsp. Функцию можно вставить в любое место файла; но, естественно, не в код какой-либо уже имеющейся функции.

    Для форматирования вставленного текста выделите текст, а затем нажмите кнопку "Форматирование выделенного фрагмента". VLISP выполнит форматирование кода с соответствующими отступами.

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

    ;;;--------------------------------------------------------------;

    ;;; Функция: Degrees->Radians;

    ;;;--------------------------------------------------------------;

    ;;; Описание: Данная функция преобразует значение, представляющее точку с запятой (;)

    ;;; angular measurement in degrees, into its radian ;

    ;;; equivalent. There is no error checking on the ;

    ;;; numberOfDegrees parameter -- it is always ;

    ;;; expected to be a valid number. ;

    ;;;--------------------------------------------------------------;

    (defun Degrees->Radians (numberOfDegrees)

    (* pi (/ numberOfDegrees 180.0))

    )

     



    Содержание раздела