Форум программистов, компьютерный форум, киберфорум
AutoLISP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/42: Рейтинг темы: голосов - 42, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 11.07.2018
Сообщений: 3

Построить график функции

01.03.2021, 12:15. Показов 8322. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, помогите построить график с помощью AutoLISP для вот такой вот функции: y=x+e^x
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.03.2021, 12:15
Ответы с готовыми решениями:

Построить график функции
нужно построить график функции y(x)=abs(x-6)/(2*x*x+49) нужно срочно.. кто может помочь? Буду оочень признателен.

Построить график для функции
Здравствуйте, помогите построить график с помощью AutoLISP для вот такой вот функции: y=2cos(2x+1.57)

В графическом режиме построить график функции
помогите сделать лабу по лиспу, ничего нормально не выходит, вот задание: в графическом режиме построить график функции. Реализовать...

5
 Аватар для vlisp
1067 / 988 / 153
Регистрация: 10.08.2015
Сообщений: 5,394
01.03.2021, 12:19
Что сложного?
0
0 / 0 / 0
Регистрация: 11.07.2018
Сообщений: 3
01.03.2021, 12:29  [ТС]
Не знаком с autolisp, в этом и сложность.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38203 / 21135 / 4310
Регистрация: 12.02.2012
Сообщений: 34,741
Записей в блоге: 14
01.03.2021, 13:59
Лучший ответ Сообщение было отмечено Eldragen как решение

Решение

На всякий случай. HomeLisp:
Миниатюры
Построить график функции  
1
0 / 0 / 0
Регистрация: 11.07.2018
Сообщений: 3
01.03.2021, 18:28  [ТС]
Catstail, спасибо.
0
1075 / 968 / 113
Регистрация: 04.11.2012
Сообщений: 1,013
17.08.2024, 19:38
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
;;; Для рисования графика функции можно использовать сплайн, проходящий через набор точек, определенных функцией.
;; Метод 'vla-AddSpline для создания сплайна.
 
;; 1. Определение алгебраической функции.
 
(defun FuncMath (x)
  ;; здесь будет определение функции
  (* x x)
)
 
;; 2. Создание списка точек для графика, через которые должен пройти сплайн:
 
(defun GeneratePts (xmin xmax step / x y points)
  ; xmin и xmax — начальное и конечное значения по оси X.
  ; step        — шаг вычисления значения [X Y].
 
  (setq x xmin)
  (while (<= x xmax)
    (cond
      ( (vl-catch-all-error-p (setq y (vl-catch-all-apply 'FuncMath (list x))))
        (prompt "\nПроверьте диапазон аргумента функции.")
        (vl-exit-with-error ""))
      (T 
        ;; Добавляем точку в список точек
        (setq points (cons (list x y 0.) points))
        ;; Переходим к следующему значению X
        (setq x (+ x step)))))
  (reverse points))
 
;; 3. Рисование графика сплайном.
 
(defun DrawGraph (points / ms rowPoints startTan endTan fitPoints)
  (vl-load-com)
  (setq ms (vla-get-ModelSpace (vla-get-ActiveDocument (vlax-get-acad-object))))
    (setq rowPoints (apply 'append points))  ; слияние точек в слошной ряд для массива
 
  ;; Создаем сплайн, проходящий через указанные точки
  (setq startTan (vlax-3d-point 0 0 0)
        endTan   (vlax-3d-point 0 0 0))
  (setq fitPoints (vlax-make-safearray vlax-vbDouble (cons 0 (1- (length rowPoints)))))
  (vlax-safearray-fill fitPoints rowPoints)
    
  ;; Глобальная переменная, для дальнейшего взятия производной.
  (setq *splineObj* (vla-AddSpline ms fitPoints startTan endTan))  ; метод создания сплайна
  (vla-put-Color *splineObj* 6)  ; фиолетовый
 
  (prompt "\nГрафик нарисован. ")
)
 
;; 4. Main routine.
 
(defun DrawFunctionGraph (xmin xmax step / points)
  ;; Генерируем точки для функции. В диапазоне от-до с шагом.
  (setq points (GeneratePts xmin xmax step))
  ;; Рисуем сплайн по этим точкам
  (DrawGraph points)
  (princ)
)
 
;; Вызов:
(DrawFunctionGraph -5 5 0.1)
Пример с экспонентой.
Lisp
1
2
3
4
5
6
(defun FuncMath (x / e y)
  (setq e (exp 1.0))  ; экспонента
  (+ x (expt e x))  ; пользовательская функция
)
 
(DrawFunctionGraph -10 3 0.1)
Добавлено через 2 часа 39 минут
Практическое применение производной.
1. Устанавливаем вид сверху. Будем рисовать плоскую кривую.
2. Рисуем кривую в пространстве модели. Варианты: по формуле, по точкам, или от руки.
3. Берём первую производную, для получения касательной к графику в конкретной точке.
Действия: выбираем исследуемый примитив, выбираем точку этой на кривой.
Подходящие кривые: SPLINE, LINE, LWPOLYLINE и 2DPOLYLINE, ARC, CIRCLE, ELLIPSE.

Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
;;; Визуализация вектора касательной.
(defun DrawTangentVector (curveObj param / point-on-curve tangent-vector endPnt)
  ;; Вычисляем точку на кривой, соответствующую параметру
  (setq point-on-curve (vlax-curve-getPointAtParam curveObj param))
  ;; Вычисляем вектор касательной
  (setq tangent-vector (vlax-curve-getFirstDeriv curveObj param))
    (setq tangent-vector (mapcar '(lambda (n) (* n 5)) tangent-vector)) ; масштаб визуализации
 
  ;; Определяем конечную точку вектора как сумму начальной точки и вектора смещения
  ;; [сложение координат начальной точки и вектора смещения]
  (setq endPnt (mapcar '+ point-on-curve tangent-vector))
  ;; Создаем линию в пространстве модели для визуализации вектора касательной
  (vla-AddLine
      (vla-get-ModelSpace (vla-get-ActiveDocument (vlax-get-acad-object)))
      (vlax-3d-point point-on-curve)
      (vlax-3d-point endPnt))
  
  (prompt "\nВектор касательной визуализирован как линия.")
)
 
;; Main.
(defun C:VisualizeTangent (/ curveObj point param)
  ;; Выбор кривой
  (setq curveObj (vlax-ename->vla-object (car (entsel "\nВыберите кривую: "))))
  (setq point (getpoint "\nВыберите точку на кривой: ")
        param (vlax-curve-getParamAtPoint curveObj point))
  ;; Визуализация касательной
  (DrawTangentVector curveObj param)
  (princ))
 
;; Вызов:
(C:VisualizeTangent)
 
; => должна появиться линия касательной в выбраной точке.
Вектор касательной полезен для анализа направления кривой в конкретной точке, и может быть использован для различных задач в AutoCAD, таких как построение перпендикуляров, нормалей или расчет углов.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.08.2024, 19:38
Помогаю со студенческими работами здесь

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

Нужно построить график функции y = x2 на интервале [-3,3] и Построить график функции (эллипс) x^2/16 + y^2/9 = 1
Нужно построить график функции y = x2 на интервале и Построить график функции (эллипс) x^2/16 + y^2/9 = 1. На C++

Найти производные функции и на одном графике построить график данной функции, график первой и второй производной.
найти производные первого и второго порядка функции и на одном графике построить график данной функции , график первой и второй...

Построить график функции, на этом же графике построить графики первой и второй производных функции
построить график функции,на этом же графике построить графики первой и второй производных функции,определить и вывести на графике...

Построить график функции. вычислить и построить все асимптоты для этой функции
Помогите пожалуйста... Устал с ней возиться... Задание: Построить график функции,вычислить и построить все асимптоты для этой функции. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru