|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
11.06.2008, 13:21 | #1 | |
vlax-curve-getclosestpointtoprojection - непонятный результат
Moderator
LISP, C# (ACAD 200[9,12,13,14])
С.-Петербург
Регистрация: 25.08.2003
Сообщений: 39,848
|
||
Просмотров: 5021
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Нда... Не очень известия. Если для прямых участков я еще могу что-то наваять, то с дугами придется ковырять геометрию... Эх-эх-эх, где мои учебники за 7 класс?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Цитата:
1. Делаешь проекцию исходной точки на плоскость дуги 2. Прибавляешь к центру дуги вектор, который имеет длину, равную радиусу и направление на полученную точку. В этом смысле, для прямого сегмента, надо еще найти нужную нормаль плоскости, в которой искать перпендикуляр... |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
У меня в моей конкретной ситуации все еще проще: только мировая система координат, Elevation (Z) = 0. То есть все двумерное и гарантированно принадлежит одной плоскости.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
А почему, тогда, не воспользоваться более стабильной функцией vlax-curve-getclosestpointto?
|
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Дело в том, что обрабатываются АЕС-объекты (объекты ADT). А для них vlax-curve-getclosestpointto вообще зачастую отказывается срабатывать. Увы и ах, завтра (когда протрезвею) придется садиться за уравнения 2-мерной геометрии
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 26.12.2013
Сообщений: 284
|
аналогичная проблема, но на порядок непонятнее у меня.
Кто разобрался как работает. Акад 2013 ----- добавлено через ~7 мин. ----- сработало только когда принудительно вторую точку откинул на 100000000 (в бесконечность). аргумент <продолжение> плоскости не работает как надо. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
tujn08, ты сам-то понял чего написал? Теперь код, исходник и все остальное. А заодно - справка, в чем разница между vlax-curve-getclosestpointto и vlax-curve-getclosestpointtoprojection.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Не понимаю... Если координаты хотя бы по Х известны, то на фига использовать проекцию на горизонтальную прямую? Не проще ли просто поменять одну из координат точки?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Поехали... Что такое нормаль? На какую плоскость ты выполняешь проецирование?
В качестве подсказки: что такое единичные векторы? Что такое векторное произведение векторов?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Код:
tujn08, если "желтая - нормаль к проекции", то на какую плоскость / прямую ты проецируешь точки? Мне почему-то кажется, что если это - нормаль, то проецировать ты будешь не на горизонт, а на вертикаль. Которая, правда, непонятно где находится.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||