|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Построение касательной к двум окружностям
CAD Operator
Samara-Gorodok
Регистрация: 01.11.2005
Сообщений: 389
|
||
Просмотров: 73763
|
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
В случае расположения окружностей в одной плоскости можно использовать для начальной и конечной точек отрезка объектную привязку "_tan" ("кас"). Возможность проведения касательной к двум окружностям, произвольно расположенных в ПРОСТРАНСТВЕ, вызывает сомнение.
|
|||
![]() |
|
||||
Регистрация: 22.08.2006
/dev/null
Сообщений: 92
|
1. Имеем две окружности: малая О1, большая О2.
2. Строим отрезок С, соединяющий центры О1,О2. 3. Точку пересечения С и О2 именуем Т1. 4. Откладываем на отрезке С от точки Т1 к центру О2 величину радиуса О1. Это точка Т2. 5. Из центра О2 строим окр. через Т2. Это окружность О3. 6. Из центра О1 проводим касательную K к О2. Точка пересечения К и О3 это Т3. 7. Прводим луч Л из центра О2 и точку Т3. Точка пересечения данного луча с О2 это Т4. 8. Копируем К в точку Т4. Последний примитив и будет касательной к двум окружностям. проверка правильности построений: 1. Строим перпиндикуляры к отрезку С в его концах. 2. Измеряем углы: - между С и К; - между Л и перпиндикуляром к отр. С, убеждаемся, что они равны. |
|||
![]() |
|
||||
котлостроение Регистрация: 15.04.2005
Екатеринбург
Сообщений: 22
![]() |
Поскольку окружность это плоская фигура, то и касательная должна быть в той же плоскости. т.о. провести касательную к окружностям в разных плоскостях невозможно.
Можно провести касательную к 2 шарам (ну или сферам) ![]() все остальное как написал Profan |
|||
![]() |
|
||||
архитектор Регистрация: 10.08.2005
Ростов-на-Дону
Сообщений: 5,342
|
Цитата:
Ну ты даешь :P См. что Profan написал, касательная строится в пару щелчков мыши. |
|||
![]() |
|
||||
Проектировщик свиноводство Регистрация: 21.08.2003
Сообщений: 2,290
|
Цитата:
Если лиспом - то все равно придется высчитывать ориентировочные точки касательных для _TAN. Иначе результаты могут быть непредсказуемы. А в таком случае проще их (точки) сразу рассчитать лиспом математически. И обойтись без _TAN. |
|||
![]() |
|
||||
Вернусь к касательным.
А есть ли возможность построить касательную от окружности просто в произвольно выбранной точке на этой окружности? Имею ввиду - без построения линии от этой точки к центру этой окружности. И тот же вопрос о перпендикуляре. Т.е., как построить перпендикуляр ИЗ произвольной точки уже начерченной прямой. ..........................................Павел. |
||||
![]() |
|
||||
Конструктор, инженер-механик на пенсии Регистрация: 03.10.2003
Новосибирск
Сообщений: 6,953
|
Цитата:
|
|||
![]() |
|
||||
Дороги, Конструкции, Тоннели Регистрация: 20.05.2004
Сочи
Сообщений: 102
![]() |
РОВНО ЗА 7 ЩЕЛЧКОВ МЫШИ!!!!
1 Нажимаем чертить линию 2 При нажатом CTRL щелкаем правой кнопкой мыши 3 Щелкаем КАСАТЕЛЬНАЯ 4 Щелкаем на 1-й окружности 5 см щелчек 2 6 см щелчек 3 7 Щелкаем на 2-й окружности Время 10 сек. максимум!!! |
|||
![]() |
|
||||
Сообщений: n/a
|
Цитата:
Если я правильно понял автора?!! |
|||
|
||||
Цитата:
Нет никаких вторых точек и вторых окружностей. Нужна просто касательная (неважна её длина и направление от точки на окружности). В итоге, она предназначена как вспомогательная для определения углов между ней (касательной) и другими линиями. И по перпендикуляру ОТ прямой - есть способ построения? ...............................................Павел. |
||||
![]() |
|
||||
Регистрация: 29.10.2004
СПб
Сообщений: 16,379
|
Ещё касательную можно построить след. образом
Команда _xline , указать привязку Tangent (касательная), указать окружность, к которой строится касательная. Далее, обратите внимание, мы при помощи мышки можем перемещать эту прямую, которая обкатывается по окружности |
|||
![]() |
|
||||
Хмурый,
все мои потуги сделать касательную, ну ни к чему не приводят. Заготовил две произвольные окружности, которые пересекаются между собой (соответственно, в двух точках). Пытаюсь в одной из точек их пересечения, указанным Вами способом, построить касательную - сначала к одной из них. Мои действия. 1. Даю команду _xline. 2. Указываю привязку Tangent (касательная) 3. Указываю окружность, к которой строится касательная. Левый щелчёк. Просит точку. 4. Указываю интересующую меня - точку пересечения окружностей (или произвольную точку на окружности). Результат: "Specify through point: *Invalid*" Аналогично, если указываю точку произвольно, вне (снаружи) окружности (т.е., произвольно щёлкаю левой - так же пишет: " Specify through point: *Invalid*" А дальше - ничего никуда не обкатывается. И ничего не строится. С перпендикуляром всё нормально. Спасибо. ..................................Павел. |
||||
![]() |
|
||||
У меня 2002.
Ничего не строится. Спишу всё не глюк. ![]() После обозначения Tangent (касательной) и вывода курсора вне окружности - никаких _xline посто нет, передвигать нечего. Вариантов не осталось. ....................................Павел. |
||||
![]() |
|
||||
Привет.
Задача при помощи черчения решается следующим образом: - рисуется линия через центра окружностей; - через центра окружностей перепендикулярно предыд. линии рисуются еще две линии; - откладываются точки на этих линиях, одинаково лежащие от пересечения с окружностью (можно и без этого шага, но так нагляднее); - через эти точки проводится линия пересекающая обе окружности (т.е. при ее обрезании окружностями, получается две хорды); - строятся линии проходящие через центр окружности и середину хорды (для каждой окр.); - точки пересечения этих линий с окружностями и есть точки касательной к обеим окружностям. По этому алгоритму можно написать лиспик и все будет происходить в авто режиме. ![]() ![]() [ATTACH]1163602143.jpg[/ATTACH]
__________________
Для ухода за пожилым программистом требуется приятная женщина, говорящая на FОRTRАN, BАSIС и С++ |
||||
![]() |
|
||||
К сплайну всё строится. Наблюдаю "обкатку" и могу зафиксировать _xline.
Но. Опять-таки, обозначаю на сплайне произвольную точку. Мои попытки провести касательную в этой точке - безуспешны. Линия на S-образном сплайне проводится ЧЕРЕЗ эту точку и по касательной к сплайну - в другом месте. Если с окружностью, хоть и неудобно, но можно решить вопрос построением радиальной линии + перпендикуляр к ней, то как же быть со сплайном - совершенно не ясно. .............................................Павел. |
||||
![]() |
|
||||
Цитата:
![]() Я отрезками редко пользуюсь и как-то о них не подумал. Спасибо. Ты для меня открыл еще один плюсик этой команды.
__________________
Для ухода за пожилым программистом требуется приятная женщина, говорящая на FОRTRАN, BАSIС и С++ |
||||
![]() |
|
||||
Цитата:
Почертил, подумал... Алгоритмик-то вышел "битый", не рабочий, не даёт он двух касательных. Да, расстояния А равны, но, построив по ним линию, расстояния от их середин до окружностей - разные. ............................Павел. |
||||
![]() |
|
||||
Правильный алгоритм - у nmr.
И то, вкралась опечатка. Цитата:
Судя по всему, Цитата:
|
||||
![]() |
|
||||
Итак, в сухом остатке остались непонятыми два вопроса.
Есть ли возможность делать такое вообще?? 1. Окружность. Построение касательной из произвольной точки на окружности. Без построения радиальной линии. 2. Сплайн. Построение касательной из произвольной точки на сплайне. Любым способом. .....................................Павел. |
||||
![]() |
|
||||
Речь о другом.
Из любой точки, расположенной на кривой, можно провести единственную касательную к этой кривой. Саму эту точку определяю и задаю я!!! Как её построить в акаде? По окружности - без вспомогательных линий, а в сплайне - как угодно. |
||||
![]() |
|
||||
Конструктор, инженер-механик на пенсии Регистрация: 03.10.2003
Новосибирск
Сообщений: 6,953
|
Экий спор возник из ничаГо
Цитата:
![]() Цитата:
Цитата:
ЗЫ. Да кстати напрасно ты писал, что xline в 2002 не работает |
|||
![]() |
|
||||
архитектор Регистрация: 23.05.2005
Сообщений: 123
|
Может я чего не понимаю. В чем проблема.
Выбираешь рисование бесконечной линией (не отрезок) Выбираешь привязку TAN указываешь на окружность, линия вращается вокруг окружности, опять выбираешь tan и указываешь на другую окружность. Она фиксируется в единственных точках.
__________________
vpud |
|||
![]() |
|
||||
инженер (КМ) Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837
|
Цитата:
2. Намечаем точку на нем в которой хотим построить касательную (например пересечь отрезоком) 3. Вводим команду Xline, выбираем привязку "перпендикуляр" и щелкаем по сплайну в любом месте. Прямая бегает по сплайну "нормально", вторую точку ставим на той самой точке пересечения сплайна с отрезком. 4. Вводим команду Xline, выбираем привязку "перпендикуляр" и щелкаем по уже построенному Xline в любом месте, второй раз щелкаем по нашей точке. Вот эта Xline и будет касательной к сплайну в заданной точке. |
|||
![]() |
|
||||
Регистрация: 29.10.2004
СПб
Сообщений: 16,379
|
Вот здесь обсуждалась тема построения касательной к сплайну
http://www.autocad.ru/cgi-bin/f1/board.cgi?t=27132DG |
|||
![]() |
|
||||
2 Pool
Алгоритм правильный. Таким образом строится одна касательная (см. рис.). А вторую касательную получаем зеркаля первую относительно центров окр. Если методом черчения надо, то нужно повторить несколько шагов для противоположной стороны. Да и не актуально это уже. Отрезком все хорошо строится.
__________________
Для ухода за пожилым программистом требуется приятная женщина, говорящая на FОRTRАN, BАSIС и С++ |
||||
![]() |
|
||||
Конструктор, инженер-механик на пенсии Регистрация: 03.10.2003
Новосибирск
Сообщений: 6,953
|
Не не в тему
![]() Цитата:
Цитата:
![]() |
|||
![]() |
|
||||
Цитата:
НУ НЕТУ НИКАКОЙ ВТОРОЙ ОКРУЖНОСТИ И ВТОРОЙ ТОЧКИ. ЕСТЬ ТОЛЬКО ОДНА ОКРУЖНОСТЬ И ОДНА ТОЧКА НА НЕЙ. КАК ИМЕННО В ЭТОЙ ТОЧКЕ (ИЗ ЭТОЙ ТОЧКИ) ПОСТРОИТЬ КАСАТЕЛЬНУЮ, НЕ СТРОЯ РАДИУСНУЮ ЛИНИЮ. У меня _xline + tan к окружности и линия (любая), и тем более "обкатка" не наблюдаются. Это глюк 2002? ............................................Павел. ЗЫ Похоже, автокад действительно подглючивает - по сплайну вчера нормаль не строились, сегодня нормаль к сплайну пошла. Вопрос касательной к сплайну снят. Цитата:
. . |
||||
![]() |
|
||||
Регистрация: 16.05.2006
Сообщений: 31
|
Всем здрасти! почитал все что вы тут пишите и не увидел реализацию данной задачи через LISP, я просто щас пытаюсь изучить LISP и неплохобы увидеть пример реализации лисп программы , если можно конечно, заранее спасибо.
ЗЫ: в MDT есть прям такая команда "прямая по касательной к двум окружностями" и чертится в спецслое AM_CL, кроме этого там еще много вспомогательных прямых. |
|||
![]() |
|
||||
Регистрация: 12.01.2006
Донецк
Сообщений: 30
|
;*********************************************************
; Касательная к 2 окружностям ;********************************************************* (defun C:PSW (/ A A1 A2 A200 B C OB R1 R2 T1 T2 T3 TIP U U1 UA) ;********************************************************* (prompt "\nКасательная к 2-м окружностям...") (setq A1 (car(entsel "\nВыбери 1-ую окружность: "))) (setq A2 (entget A1)) (setq TIP (cdr (assoc 0 A2))) (setq A200 NIL) (if (= TIP "CIRCLE") (progn (setq T1 (cdr (assoc 10 A2))) (setq R1 (cdr (assoc 40 A2))) ) ;progn ) ;if ;********************************************************* (setq A1 (car(entsel "\nВыбери 2-ую окружность: "))) (setq A2 (entget A1)) (setq TIP (cdr (assoc 0 A2))) (if (= TIP "CIRCLE") (progn (setq T2 (cdr (assoc 10 A2))) (setq R2 (cdr (assoc 40 A2))) ) ;progn ) ;if ;********************************************************* (If (> R1 R2) (progn (setq TT T1) (setq RR R1) (setq T1 T2) (setq R1 R2) (setq T2 TT) (setq R2 RR) ) ) ;********************************************************* (setq c (distance T1 T2)) (setq b (- R2 R1)) (setq a (sqrt (- (* c c) (* b b)))) ;********************************************************* (setq U (angle T1 T2)) (setq uA (atan b a)) (setq T3 (polar T1 (+ U uA) a)) (command "LINE" T1 T3 "") (setq Ob (entlast)) (setq U1 (angle T2 T3)) (command "MOVE" Ob "" T3 (polar T3 U1 R1)) ;********************************************************* (SetVar "FILEDIA" 1) (princ) |
|||
![]() |
|
|||||
Конструктор, инженер-механик на пенсии Регистрация: 03.10.2003
Новосибирск
Сообщений: 6,953
|
Цитата:
Касательную в точке на кривой, стандартными можно построить токо xline (IMHO) c дополнительными построениями: сначало xline с перпендикуляром к кривой, а дальше перепендикуляр к этой бесконечной. Настройках нужно включить osnap, пересечение Цитата:
![]() |
||||
![]() |
|
||||
Регистрация: 14.09.2019
Сообщений: 7
|
Чтобы провести касательную к двум произвольно расположенным на плоскости окружностям разного (одинакового) диаметра необходимо:
1. Из центра большей окружности построить окружность диаметром равным: а) разности диаметров данных окружностей - если нужно построить касательную с одной стороны двух окружностей; б) сумме диаметров данных окружностей - если нужно построить касательную с разных сторон данных окружностей. 2. Из центра меньшей окружности провести касательную линию к построенной окружности (начальная точка линии будет центр меньшей окружности, вторая - касательная к построенной окружности). 3. Опустить перпендикуляр от одной из вершин линии до одной из данных окружностей (длина которой будет равна радиусу меньшей окружности) и перенести касательную от одной вершины перпендикуляра к другой. То же самое написал nmr, но только для касательной с одной стороны обеих окружностей. |
|||
![]() |
|
||||
Регистрация: 14.09.2019
Сообщений: 7
|
Цитата:
Только недавно столкнулся с такой задачей. Прочел то что nmr написал и решил немного упрощенно написать то же самое и добавить для касательных с разных сторон окружностей. |
|||
![]() |
|
||||
Регистрация: 14.09.2019
Сообщений: 7
|
Параметрическими зависимостями не получается. Двигает с места окружность.
----- добавлено через ~47 мин. ----- В AutoCAD-Mechanical есть команда для построения касательной к двум окружностям - Построение вспомогательной линии по касательной к двум окружностям В обычном AutoCAD этой команды нет. |
|||
![]() |
|
||||
Инженер-конструктор Регистрация: 24.08.2007
Волгоград
Сообщений: 806
![]() |
Так верните окружности на место. Касательная, прилипшая к окружностям будет менять угол.
__________________
Никогда не стоит недооценивать предсказуемость глупости |
|||
![]() |
|
||||
|
||||
![]() |
|
||||
|
||||
![]() |
|
||||
Регистрация: 20.04.2011
Сообщений: 480
|
Цитата:
Автокад, используя штатные привязки, строит эту касательную весьма точно! Откуда у вас столько итераций? ![]() |
|||
![]() |
|
||||
Регистрация: 29.10.2004
СПб
Сообщений: 16,379
|
для чего это всё?
Решение в #2 https://forum.dwg.ru/showpost.php?p=88441&postcount=2 справедливо для примитивов _line, _xline, _ray |
|||
![]() |
|
||||
Регистрация: 14.09.2019
Сообщений: 7
|
Цитата:
![]() ![]() Речь идет об одной линии как касательная сразу двум окружностям. |
|||
![]() |
|
||||
Регистрация: 29.10.2004
СПб
Сообщений: 16,379
|
valerik88, а я что-то про полилинию написал?
Это относится к отрезку, прямой и лучу, но не к полилинии. PS 1. команда _line 2. На запрос ввести точку- Включаем привязку "касательная" 3. указываем на одну из окружностей 4. На запрос ввести вторую точку- Включаем привязку "касательная" 5. указываем на вторую окружность ВСЁ Об этом и написано в #2 тринадцать лет назад Цитата:
|
|||
![]() |
|
||||
|
||||
![]() |
|
||||
Остекляем!!! Алюминим!!! Регистрация: 21.02.2005
Москва
Сообщений: 3,917
![]() |
Хм, прикольно.
Судя по всему при использовании полилинии AutoCAD строит касательную к окружности как будто продолжение от последней точки любого построенного объекта.
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search: |
|||
![]() |
|
||||
Регистрация: 14.09.2019
Сообщений: 7
|
Цитата:
Действительно так |
|||
![]() |
|
||||
Архитектор, 3д-виз. Регистрация: 26.07.2019
Москва
Сообщений: 731
|
Что-то меня заклинило при анализе этой темы. Прошу прощения, но мне кажется очевидным, что касательные могут быть только к окружностям, расположенным в одной плоскости.
А если они лежат в разных плоскостях (как указано в первоначальном задании) , то касательной будет любая линия, просто имеющая общую точку с каждой окружностью. Ведь что есть касательная в геометрическом смысле? Это линия, имеющая только одну точку касания с окружностью. Если линия и окружность расположены в одной плоскости, а линия исходит из ранее определенной точки, то касание ее к окружности возможно только в одной единственной точке, и это дает известная привязка Автокада. Но если линия и окружность в разных плоскостях, то линия может коснуться окружности в любой точке, и все они будут "касательными". Собственно, достаточно провести в 3д-виде линию между такими окружностями с помощью привязки "NEAREST" - и это будет касательная к обоим окружностям. Причем, таких "касательных" можно создать бесконечно много. Другое дело, если требуется чтобы касательная в результате была создана в какой-то указанной ранее проекции просмотра обоих окружностей, находящихся в разных плоскостях. Тогда задача сводится к проведению касательной к проекции этих окружностей, из которых как минимум одна неизбежно будет тогда уже эллипсом. .Но в начальном примере вроде-бы речь не об этом. |
|||
![]() |
|
||||
кстати да! если это окружности в пространстве, то линией, касающейся обеих окружностей (не касательной), может быть любая прямая лежащая на замкнутой криволинейной поверхности соединяющей эти окружности и имеющая с ней общую прямю линию соприкосновения.
|
||||
![]() |
|
||||
Хмурый, я #2 не читал
![]() |
||||
![]() |
|
||||
Регистрация: 05.08.2008
Сообщений: 828
|
Цитата:
|
|||
![]() |
|
||||
Конструктор по сути (машиностроитель) Регистрация: 10.10.2005
Набережные Челны (это где КамАЗ)
Сообщений: 11,391
|
для автокада норм (хотя при наличии привязки "касательно" нафига вообще такие построения?), а графически не хватает точек пересечения с малой окружностью. Да, в теории будет одна точка у каждой проведенной линии. Но это в теории.
__________________
Век живи, век учись - ... |
|||
![]() |
|
||||
Регистрация: 08.08.2019
Сообщений: 21
|
это к предыдущему посту, привязка "касательная" конечно есть
точка пересечения с малой окружностью находится на прямой, проходящей через центр малой окружности и параллельной перпендикуляру (вот так вот) из центра большой окружности к касательной. Прямые углы там показаны заменил как еще проще Последний раз редактировалось avatarez, 21.01.2020 в 12:12. |
|||
![]() |
|
||||
Регистрация: 10.05.2016
Сообщений: 8
|
|
|||
![]() |
|
||||
Регистрация: 29.10.2004
СПб
Сообщений: 16,379
|
Просто не владеют грамотностью современные проектировщики.
ответ дан в сообщении №2 22.08.2006 Полный и исчерпывающий. Никакие дополнительные построения не нужны PS матчасть следует изучить и знать |
|||
![]() |