Сообщество программистов Autodesk в СНГ

ADN Club => Revit API => Тема начата: enot от 26-04-2021, 16:39:07

Название: Проекция вектора на прямую
Отправлено: enot от 26-04-2021, 16:39:07
Вектора и линия лежат в одной плоскости.

1.) Есть вектор АВ  . Как получить точку А* (проекция точки А по направлению вектора АВ на линию (отрезок) L) 

2.) Как определить, что если проецируем точку С или D на линию L по направлению CD , то пересечения нет

(https://i.postimg.cc/svwzg2Rw/2021-04-26-16-24-46.png) (https://postimg.cc/svwzg2Rw)
Название: Re: Проекция вектора на прямую
Отправлено: Александр Ривилис от 26-04-2021, 20:29:57
enot,
Line.CreateBound - для создания отрезка l
Line.CreateUnbound - для создания бесконечной прямой L
l.Intersect(L) - для получения результата пересечения.
Это если использовать Revit API. Но можно и при помощи обычной аналитической геометрии.
Название: Re: Проекция вектора на прямую
Отправлено: enot от 27-04-2021, 10:01:22
Line.CreateUnbound - для создания бесконечной прямой L
Вот и узнал, что означает CreateUnbound   :)
Спасибо за ответ, буду пробовать
Название: Re: Проекция вектора на прямую
Отправлено: enot от 27-04-2021, 13:29:58
Александр Ривилис,
Спасибо , все получилось

Уточню для себя, в CreateUnbound нужно задавать не координаты двух точек, а именно точку начала startPoint, и вектор directionPt
Код - C# [Выбрать]
  1. Line line = Line.CreateUnbound(startPoint, directionPt);
Название: Re: Проекция вектора на прямую
Отправлено: Yusuf от 19-01-2023, 07:18:50
проекция точки А по направлению вектора АВ на линию
Подскажите как это реализовать в AutoCad API
Название: Re: Проекция вектора на прямую
Отправлено: Александр Ривилис от 19-01-2023, 11:43:36
проекция точки А по направлению вектора АВ на линию
Подскажите как это реализовать в AutoCad API
Создавай темы в правильных разделах форума. Причем здесь AutoCAD API?
Название: Re: Проекция вектора на прямую
Отправлено: Agens от 13-08-2023, 21:08:05
бесконечная прямая - луч, так правильно )