| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Почему результаты функции вычисляющей первую производную кривой не согласуется с результатами дифференцирования по формуле?

Почему результаты функции вычисляющей первую производную кривой не согласуется с результатами дифференцирования по формуле?

Ответ
Поиск в этой теме
Непрочитано 16.02.2022, 18:31 #1
Почему результаты функции вычисляющей первую производную кривой не согласуется с результатами дифференцирования по формуле?
Сергей Логин
 
Регистрация: 14.02.2022
Сообщений: 2

Не знаю остались ли корифеи программирования в Autocade- Ривилис, Кулик, Елпанов. Раньше (лет 10 назад)я получал квалифицированную помощь от них. Надеюсь и сейчас ее получить на DWG, хотя вопрос м.б. не совсем касается программирования. Дело в том, что я решил подтвердить известную формулу производной радиуса-вектора на примере эллипса. Сначала рассчитал все в MatchCade, потом построить в AutoCade, помятуя о FirstDeriv. Проделал все это и удивился. Производный вектор не вписался в разложение по формуле. Ведь первое слагаемое в формуле это вектор длина, которого равна скорости изменения длины исходного вектора в точке, а направление естественно вдоль его. Второе слагаемое - вектор длины исходного вектора в перпендикулярном правлении. И естественно производный вектор должен раняться сумме этих векторов. Но увы! Проделывал не один раз с разными эллипсами и разными углами. Идаже задавал вопрос на матфоруме. Пока ответа не получил. Вот и решил обратиться на старый добрый форум. В прилагаемом фале изобразил все как мог.

Вложения
Тип файла: dwg
DWG 2010
Производный_вектор.dwg (360.6 Кб, 14 просмотров)

Просмотров: 3739
 
Непрочитано 16.02.2022, 21:46
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844


А каким кодом ты это проверяешь?
Код:
[Выделить все]
 (setq ent (entsel)
      pt  (cadr ent)
      ent (car ent)
      pt  (vlax-curve-getclosestpointto ent pt)
) ;_ end of setq
(setq vector (mapcar (function +)
                     pt
                     (vlax-curve-getfirstderiv ent (vlax-curve-getparamatpoint ent pt))
             ) ;_ end of mapcar
) ;_ end of setq
(setq line (vla-addline
             (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object)))
             (vlax-3d-point pt)
             (vlax-3d-point vector)
           ) ;_ end of vla-AddLine
) ;_ end of setq
(vla-put-color line 1)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 17.02.2022, 14:50 О проверочном коде.
#3
Сергей Логин


 
Регистрация: 14.02.2022
Сообщений: 2


Код простой, но пока реализовывал возник вопрос. Я думал, что параметр это расстояние от начала кривой, но похоже что это не так. И еще. Для функций определения параметра или расстояния до точки нужно дать координаты этой точки. Ввести координаты через список (list) не удается, очевидно из-за "точноcчти", т.е. не попадания на кривую. По этому пришлось выходить на точку приближениями. Как же передать вычисленные координаты в функции работы с кривыми, что бы не возникала ошибка? И еще! Почему начальная точка кривой определяется слева от начала координат, ведь углы считаются против часовой стрелки от положительного направления OX. Понятно, что за параметр принимается либо угол либо длина дуги, но все же. И наконец если обрезать эллипс, то начальная точка вообще окажется на другом конце дуги. Но это все вторичные вопросы. А вот основной остается тот же. Мой код строит только векторы - исходный и производный, ну еще вспомогательные точки. Он не строит векторы разложения, их я строил вручную. И если будете экспериментировать советую поступить так же. Я считал, что код будет в DWG. Ну раз его нет - высылаю.
Вложения
Тип файла: lsp Deriv_1_2.LSP (2.3 Кб, 11 просмотров)
Сергей Логин вне форума  
 
Непрочитано 17.02.2022, 23:19
#4
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844


1. Грабли, здрасьте, давно не виделись?
2. Что за магическое число 12?
3. Ошибки надо обрабатывать по-другому.
4. Ты мой-то код тестировал?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Почему результаты функции вычисляющей первую производную кривой не согласуется с результатами дифференцирования по формуле?

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разные результаты проверки сечений в SCAD и KRISTALL. Почему? Gen79 SCAD 12 23.11.2012 22:12
Почему не согласуется расчет витков резьбы на срез с рекомендациями из Анурьева?? Avksent Машиностроение 6 20.08.2012 14:23
Ошибка в формуле. Почему так...? hprx Прочее. Архитектура и строительство 4 25.12.2011 19:05
Почему в lisp отсутствует аналог функции (arxload ...) для .NET сборок. Pastor LISP 16 17.11.2010 13:15
Почему результаты расчета в программе СКАД отличаются от результатов расчета программы Кристалл vedinzhener SCAD 9 17.11.2009 21:08