|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Разминка мозгов для знатных геометров
Lisp/VBA/VB.NET Hobbyist
Славен Град Петров
Регистрация: 24.03.2005
Сообщений: 367
|
||
Просмотров: 6121
|
|
||||
Ну типа прочнист Регистрация: 12.01.2005
Москва
Сообщений: 1,649
![]() |
У меня нет Автокада, поэтому рисунок не видел, но по словесному описанию задачки:
1. Длины хорды (l) недостаточно, нужны еще данные. 2. Если известен радиус (R), то угол дуги = 2*arcsin(l/2/R) расстояние от центра окружности до точки пересечения касательных к краям дуги = 2*R^2/sqrt(4*R^2-l^2)
__________________
ZZH |
|||
![]() |
|
||||
Lisp/VBA/VB.NET Hobbyist Регистрация: 24.03.2005
Славен Град Петров
Сообщений: 367
|
Цитата:
А по первой части необходимо найти точки касательных к отстоящей от дуги окружности, которые исходят из концов этой дуги Успехов Fatty |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
Ну если построения уже сделаны, то для линий-касательных (я так полагаю, что они строились с применением
Код:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Lisp/VBA/VB.NET Hobbyist Регистрация: 24.03.2005
Славен Град Петров
Сообщений: 367
|
Цитата:
не знаю у меня на компьютере построения дают угол в 2 раза меньше, может быть двойка лишняя? Fatty |
|||
![]() |
|
||||
Lisp/VBA/VB.NET Hobbyist Регистрация: 24.03.2005
Славен Град Петров
Сообщений: 367
|
Цитата:
вычисления точек В натуре ничего не построено, только заданы предварительные значения, в том то и вопрос... Regards, Fatty |
|||
![]() |
|
||||
Ну типа прочнист Регистрация: 12.01.2005
Москва
Сообщений: 1,649
![]() |
Цитата:
__________________
ZZH |
|||
![]() |
|
||||
Lisp/VBA/VB.NET Hobbyist Регистрация: 24.03.2005
Славен Град Петров
Сообщений: 367
|
Цитата:
делали такую деталь... Fatty [ATTACH]1124193431.GIF[/ATTACH] |
|||
![]() |
|
||||
Lisp/VBA/VB.NET Hobbyist Регистрация: 24.03.2005
Славен Град Петров
Сообщений: 367
|
Цитата:
функцию арксинуса, вот правильный вариант, правда, точность только до пятого знака, как сделать точнее не знаю, может, это не принципиально? Код:
|
|||
![]() |
|
||||
Ну типа прочнист Регистрация: 12.01.2005
Москва
Сообщений: 1,649
![]() |
Теперь понятно.
Итак R - большой радиус (800) r - малый (75), предполагается что центр у них общий l - ширина пластины, полная, т.е. 192.7 добавим два угла: a = arcsin(l/2/R) - половина угла дуги b = arcsin(r/R) Начало координат в центре окружностей точка p1 x = sqrt(R^2-l^2/4) y = l/2 точка p4 x = sqrt(R^2-l^2/4) - (R^2-r^2)*cos(a-b) y = l/2 - (R^2-r^2)*sin(a-b) точки p2 и p3 - симметрично.
__________________
ZZH |
|||
![]() |
|
||||
Ну типа прочнист Регистрация: 12.01.2005
Москва
Сообщений: 1,649
![]() |
В lisp не программирую, так что с синтаксисом не знаком, хотя понятно, что считаешь arcsin через atan, и то, что arcsin(a)=atan(a/sqrt(1-a^2)) тоже верно. А количество знаков - это уже заморочки lisp, видимо и сам atan считается примерно так же.
В предыдущем посте для p4 пропущены sqrt, т.е точка p4 x = sqrt(R^2-l^2/4) - sqrt(R^2-r^2)*cos(a-b) y = l/2 - sqrt(R^2-r^2)*sin(a-b)
__________________
ZZH |
|||
![]() |
|
||||
Lisp/VBA/VB.NET Hobbyist Регистрация: 24.03.2005
Славен Град Петров
Сообщений: 367
|
Цитата:
Буду жевать, результаты доложу Fatty |
|||
![]() |
|
||||
Lisp/VBA/VB.NET Hobbyist Регистрация: 24.03.2005
Славен Град Петров
Сообщений: 367
|
Цитата:
ВОСХИЩЕН! Вы сэкономили мне уйму времени теперь я успею доделать свою работу до ночи Всех благ Best regards, Fatty |
|||
![]() |
|
||||
Lisp/VBA/VB.NET Hobbyist Регистрация: 24.03.2005
Славен Град Петров
Сообщений: 367
|
Цитата:
Делает то же самое, но и 10 раз быстрее, вот в чем прикол! Посьба если не хочешь открывать свое имя, напиши мне его приватно на мой e-mail, чтобы я мог указать автора Regards Fatty |
|||
![]() |