Тема: Расчет промежуточных точек Spline

Добрый день.
Необходимо расчитать промежуточные точки Spline. Не могу найти описание как вытащить все необходимые для этого параметры.
Помогите пожалуйста. Советы, ссылки на описания и т.д.
Спасибо

Re: Расчет промежуточных точек Spline

> Беликов Сергей
В каком смысле "рассчитать"? Получить координаты или вывести формулу описывающую кривую?:)
К тому же сплайн (полноценная NURBS-кривая) может содержать либо два типа управляющих вершин: "Сontrol point" и "Fit Point", либо только "Control point". Еще бывают 2D-Spline, образованные из полилинии командой pedit>spline, там вершины называются "vertex" и принцип построения кривой по-моему другие.
Это что касается моих наблюдений над сплайнами. Более детально нужно в хелпе смотреть. Там все есть.

Re: Расчет промежуточных точек Spline

Расчитать - получить координаты.
Речь идет ополноценном Spline.

Re: Расчет промежуточных точек Spline

Расчитать — получить координаты.

И?..
Есть методы GetControlPoint(Index) и GetFitPoint(Index).. есть свойства сплайнов NumberOfControlPoints и NumberOfFitPoints для определения границ цикла считывания..

Re: Расчет промежуточных точек Spline

Спасибо поигрался, НО
Эти свойства дают возможность считать значения точек сплайна. Как найти точки между ними.При аппроксимации сплайном расчитываются коэффициенты уравнения для каждого узла и затем с их помощью расчитывается любая точка "внутри" сплайна. Как вытянуть эти значения из ACAD.

Re: Расчет промежуточных точек Spline

> Беликов Сергей
Забыть про VBA и написать программу на lisp или ObjectARX

Re: Расчет промежуточных точек Spline

Спасибо за совет. Но мне проще написать программу аппроксимации чем освоить новый язык.

Re: Расчет промежуточных точек Spline

> Беликов Сергей
Я не зря предложил эти языки - для них задача решается в пару строк и главное (!!!) апроксимация будет абсолютно такой, как и в самом AutoCAD. Придумать же на VBA алгоритм апроксимации сплайна, который будет выдвать в точности теже точки, что и сам AutoCAD - задача значительно более сложная. Но если ты не ищешь легких путей - вперед! :)

Re: Расчет промежуточных точек Spline

Если я правильно понял, на LISP есть возможность использовать алгоритмы ACAD. Можно ли это делать на VBA. Именно это и интересует.
Спасибо

Re: Расчет промежуточных точек Spline

> Беликов Сергей
Именно этот алгоритм на VBA использовать нельзя - только на Lisp или ObjectARX. Об этом я все время и говорю...

Re: Расчет промежуточных точек Spline

Жалко.
Спасибо

Re: Расчет промежуточных точек Spline

Александр подскажите какую литературу почитать.
Програмирую много лет только на VB.
Какой язык выбрать.
Спасибо

Re: Расчет промежуточных точек Spline

> Беликов Сергей
Я бы посоветовал ObjectARX (C++), хотя если много лет пишешь на VB и очень нехочется с него "слезать" и программы должны работать на AutoCAD 2006, 2007 и т.д. (но не младше) то можешь попробовать воспользоваться VB.NET

Re: Расчет промежуточных точек Spline

Спасибо.
В любом случае нужен доступ к алгоритмам ACAD.
Где можно прочитать об этом (названия функций ...)

Re: Расчет промежуточных точек Spline

> Беликов Сергей
Уточни. ObjectARX или C# или VB.NET?

Re: Расчет промежуточных точек Spline

VB.NET

Re: Расчет промежуточных точек Spline

> Беликов Сергей
Можно воспользоваться Autodesk.AutoCAD.DatabaseServices.Curve.GetPointAtParameter()
Задавая параметры от минимального до максимального можно получить набор точек, лежащих на сплайне.
Следует учесть, что Spline - это производный от Curve класс.
Есть еще один вариант - более точный и красивый - преобразовать Spline в Autodesk.AutoCAD.Geometry.NurbCurve3d (геометрическое представление сплайна) и затем воспользоваться одним из методов Autodesk.AutoCAD.Geometry.Curve3d.GetSamplePoints() (NurbCurve3d производный класс от Curve3d).

Re: Расчет промежуточных точек Spline

Александр огромное спасибо.
Буду искать описание этих функций.