| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
26.12.2019, 15:23 | #1 | |
Как построить касательную к окружности?
Регистрация: 30.03.2015
Сообщений: 152
|
||
Просмотров: 5295
|
|
||||
Если знаешь точку на окружности смотри функции (vlax-curve-getParamAtPoint <vla-obj> <point>) и (vlax-curve-getFirstDeriv <vla-obj> <param>).
ну и по полученному значению производной вычисляй угол наклона своей касательной
__________________
Не труд сделал из обезьяны человека, а лень и жажда халявы... |
||||
|
||||
Регистрация: 30.03.2015
Сообщений: 152
|
как раз то и не знаю точку на окружности и хочу найти, но не высчитывая=>
Хочу чтобы автокад сам вычислил или построил касательную от произвольной точки к окружности(точнее там две касательные, если конечно точка не внутри окружности или ее грани) Последний раз редактировалось prajdziswet, 27.12.2019 в 11:07. |
|||
|
||||
Регистрация: 09.11.2017
Сообщений: 28
|
Координаты точек на окружности нужны в любом случае. А вот искать их можно по-разному. Самый простой вариант - построить вспомогательную окружность, ее центр - середина между заданной (произвольной) точкой и центром исходной окружности, радиус - расстояние до заданной (произвольной) точки. Через точки пересечения вспомогательной окружности и исходной пройдут касательные. Кода 5 строчек...
|
|||
|
||||
|
||||
|
||||
Регистрация: 30.03.2015
Сообщений: 152
|
Код:
Буду пробывать а точку попробую подсунуть верхнию-нижнию, боковую (квадранта). Большое спасибо, чуть позже отпишусь - вроде должно работать (вопрос как оно воспримет список вместо ensel)... |
|||
|
||||
|
||||
|
||||
Регистрация: 30.03.2015
Сообщений: 152
|
я и хочу попробывать скормить список из имени окружности и точки - вместо ensel
----- добавлено через ~33 мин. ----- Код:
а как если надо середину подсунуть "_mid" в линию, какой список (имя точка имя точка), или просто две точки? Последний раз редактировалось prajdziswet, 27.12.2019 в 12:50. |
|||
|
||||
|
||||
|
||||
Регистрация: 30.03.2015
Сообщений: 152
|
koMon - Спасибо, за подсказку!
это уже тебе решать. у меня это уравнение прямой, когда мне надо я строю с двух сторон касательную, когда надо с одной... п.с не совсем понятно - нет это скорее проверка подсовывания (чуть преобразовал твое выражение - по сути особо не менял), что работает. а если надо получить координаты -так это просто получаем последний примитив (это линия) и их неё получаем вторую точку ___________________ Большое спасибо. Что я хотел -ты ответил -спасибо. |
|||
|
||||
а что пишет когда прерывается?
|
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,847
|
А привязки случайно не срабатывают?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,847
|
Или включить мозг, вспомнить геометрию и тригонометрию и решить задачку
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 30.03.2015
Сообщений: 152
|
1) = ничего не пишет. Точнее второй конец линии просто зависает в воздухе, как будто не привязалось. одна точна стоит линии -вторая, называется привязывайся сам.
(раза два-три запустишь программу потом без проблем чертит) 2) Нет. На это - я так и подумал самым первым делом. Да и почему только при первом разе, потом как раза два прочертил, оно без проблем чертит. 3) - гениально (извиняюсь, но это полный бред! как прочертить радиус круга - по кругу?)..или я что-то не догоняю... 4) Цитата:
п.с ВСЕХ с наступившим новым годом!!! tmp.lsp - пытался комментировать, но все равно не дорисовывает первые пару раз.. наверное придется решать так - и проставлять просто точкой.... Последний раз редактировалось prajdziswet, 03.01.2020 в 08:43. |
|||
|
||||
Вы хоть и модератор, но ХАМИТЬ, не надо, соблюдайте этикет сударь.. Я высказал свое мнение, как прочертить касательную к окружности без математичесих вычислений.
__________________
Сам по себе Последний раз редактировалось Регистр, 03.01.2020 в 11:23. |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,847
|
Регистр, а если внимательно прочитать условия задачи: построить касательную из указанной точки. Программно, используя LISP. Расписанное построение касательной имеет такую же ценность, как и описание построения отрезка "от балды".
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,847
|
Дело было почти вечером, делать было нечего...
Код:
Сработает только если окружность и точка лежат в одной плоскости. Проверял только на WCS.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Какой язык перспективен для инженера-конструктора с условием | The_Mercy_Seat | Программирование | 705 | 17.03.2021 14:19 |
Почему диаметр делительной окружности шлицевого соединения не равен сумме s+e? | koval222 | Машиностроение | 4 | 19.09.2019 19:16 |
Помогите с лабораторной по AutoLISP (построить 6 шестригранников на окружности) | itshpit | LISP | 19 | 15.11.2018 09:18 |
Как построить касательную к сплайну? | Ромчик | AutoCAD | 5 | 14.05.2016 15:59 |
Построить касательную | Абдула | AutoCAD | 31 | 13.11.2012 19:54 |