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

ADN Club => ObjectARX => Тема начата: Debalance от 11-06-2017, 18:19:08

Название: Некорректное определение средней точки для сплайна
Отправлено: Debalance от 11-06-2017, 18:19:08
Был удивлён (мягко скажем) "неточностью" вычисления средней точки для сплайна.
Создал чертёж с тремя сплайнами. Сплайны отличаются расположением и количеством управляемых точек (см. рисунок и чертёж во вложении):

(https://adn-cis.org/forum/proxy.php?request=http%3A%2F%2Fimg-fotki.yandex.ru%2Fget%2F3900%2F105409719.1%2F0_166a15_8723d5f8_orig.png&hash=3c9b926c73b1bd58929c54a087450c23)

После этого определяю средние точки (зелёные кружки). Гипотетически все сплайны должны иметь средние точки строго расположенные по вертикали, но это почему-то не так. Кстати, сам AutoCAD (согласно привязке) определяет их корректно (жёлтые кружки).

Метод определения точек классический:
Код - C++ [Выбрать]
  1. AcDbSpline* pSpline = AcDbSpline::cast(TmpEnt);
  2. if (pSpline != NULL)
  3. {
  4.         double StartParam;
  5.         double EndParam;
  6.         pSpline->getStartParam(StartParam);
  7.         pSpline->getEndParam(EndParam);
  8.  
  9.         AcGePoint3d MidPoint;
  10.         pSpline->getPointAtParam((StartParam + EndParam ) * 0.5, MidPoint);
  11. }
  12.  

Что не так?

P.S.
AutoCAD 2016
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Александр Ривилис от 11-06-2017, 19:21:31
Что не так?
Не так я думаю твоё предположение, что средняя точка находится в среднем параметре. Для получения средней точки однозначно нужно использовать AcDbCurve::getPointAtDist и использовать в качестве значения половину длины сплайна.
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Debalance от 11-06-2017, 19:39:47
Не так я думаю твоё предположение ...
Это не совсем моё предположение, это скорее Ваше предложение. Как-то Вы писали о нахождении средней точки дуги (http://www.caduser.ru/forum/index.php?PAGE_NAME=message&FID=24&TID=39019&MID=219933#message219933). Я полагал, что для сплайнов данный метод также работает.
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Debalance от 11-06-2017, 20:02:25
Для получения средней точки однозначно нужно использовать AcDbCurve::getPointAtDist ...
Да. Данный метод работает корректно. В связи с этим возникают вопросы:
1. Как быть с AcGe-кривыми? Там (если Вы помните) есть только работа с интервалами. Преобразовывать в AcDb-кривые?
2. Где, вообще, можно найти подробную инфу про геометрическую суть параметров для каждого типа кривой (а то надоело быть слепым котёнком)?
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Александр Ривилис от 11-06-2017, 20:37:03
1. Как быть с AcGe-кривыми? Там (если Вы помните) есть только работа с интервалами. Преобразовывать в AcDb-кривые?
Посмотри описание методов:

Код - C++ [Выбрать]
  1. double AcGeCurve3d::length(
  2.     double fromParam,
  3.     double toParam,
  4.     double tol = AcGeContext::gTol.equalPoint()
  5. );
  6.  
  7. double AcGeCurve3d::paramAtLength(
  8.     double datumParam,
  9.     double length,
  10.     Adesk::Boolean posParamDir = Adesk::kTrue,
  11.     double tol = AcGeContext::gTol.equalPoint()
  12. );
  13.  
Если не поможет, то придётся конвертировать в AcDb.
2. Где, вообще, можно найти подробную инфу про геометрическую суть параметров для каждого типа кривой (а то надоело быть слепым котёнком)?
Нигде явно это не описано и для всех видов кривых параметры имеют свой смысл.
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Александр Ривилис от 11-06-2017, 20:41:46
Я полагал, что для сплайнов данный метод также работает.
Нет. В силу того что параметры у дуги линейные (от начального угла до конечного), а у сплайна нет. Если мне не изменяет память, то у сплайнов параметры определяются расстоянием между управляющими точками. Кстати, и для полилиний этот алгоритм бы не сработал, так как каждое целое значение параметра попадает на очередную вершину полилинии, а расстояние между вершинами может быть (и обычно бывает) разным.
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Debalance от 13-06-2017, 11:52:03
double AcGeCurve3d::paramAtLength
Про эту функцию я что-то подзабыл. Спасибо за напоминание.

так как каждое целое значение параметра попадает на очередную вершину полилинии
Да. До этого я уже сам дошёл...
Ну, и как я понимаю, у эллипса также как и у дуги параметр это - угол. Верно?
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Александр Ривилис от 13-06-2017, 12:08:55
Ну, и как я понимаю, у эллипса также как и у дуги параметр это - угол. Верно?
Насколько я помню - да. Кстати, можешь воспользоваться ARXDBG-> Curve Test для тестирования:
(https://farm5.staticflickr.com/4222/35150267371_c28bcb5621_o.png)
(https://farm5.staticflickr.com/4221/34436419494_8f06887892_o.png)

Название: Re: Некорректное определение средней точки для сплайна
Отправлено: trir от 22-06-2017, 07:15:47
Цитировать
Где, вообще, можно найти подробную инфу про геометрическую суть параметров для каждого типа кривой
в книжках (https://books.google.ru/books/about/The_NURBS_Book.html?id=7dqY5dyAwWkC&redir_esc=y)
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Debalance от 22-06-2017, 08:59:57
в книжках
В этих книжках мы ничего не найдём про параметры ибо они (параметры) - суть внутренняя "фича" от Autodesk.
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Александр Ривилис от 22-06-2017, 09:02:02
Цитировать
Где, вообще, можно найти подробную инфу про геометрическую суть параметров для каждого типа кривой
в книжках (https://books.google.ru/books/about/The_NURBS_Book.html?id=7dqY5dyAwWkC&redir_esc=y)
Перечитывай вопрос. Как книга по сплайнам поможет для дуг, полилиний, etc.???
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: trir от 22-06-2017, 09:09:06
Цитировать
Как книга по сплайнам поможет для дуг, полилиний, etc.
для этого понадобятся другие книжки, например учебник по геометрии

Цитировать
В этих книжках мы ничего не найдём про параметры ибо они (параметры) - суть внутренняя "фича" от Autodesk.
эти "фичи" пишут люди которые читали эти книжки (если сами их и не написали)
Я сравнивал функции из книжки с AutoCAD'ом - 1 в 1
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Александр Ривилис от 22-06-2017, 10:22:48
для этого понадобятся другие книжки, например учебник по геометрии
Еще раз. Как учебник геометрии поможет тебе догадаться, что целые значения параметров совпадают с вершинами полилинии? С таким же успехом можно было в качестве параметра полилинии использовать длину от начала полилинии. Или что в качестве параметра для круга и дуги используются углы?
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: trir от 22-06-2017, 10:52:36
Цитировать
что целые значения параметров совпадают с вершинами полилинии?
разве?

Цитировать
Или что в качестве параметра для круга и дуги используются углы?
The NURBS book, Глава 1, формула 1.1
параметрические формы уравнений есть в каждом хорошем учебнике геометрии, они конечно могут быть разные, но есть же канонические
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Александр Ривилис от 22-06-2017, 10:56:43
разве?
Угу. Можешь проверить.
The NURBS book, Глава 1, формула 1.1
Самая важная мысль написана чуть ниже:
Цитировать
Thus parametric representation of curve is not unique
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: trir от 22-06-2017, 11:03:18
для простых полилиний? это очевидно
А вот у NURBS всё очень весело

Хотелось бы, что бы документация была бы полнее, но тогда она начнёт напоминать учебник по Геометрии
Но если держать под рукой нужные книжки, многие вещи выглядят очевидными
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Debalance от 22-06-2017, 12:57:13
Но если держать под рукой нужные книжки, многие вещи выглядят очевидными
Это было бы очевидным, если бы разработчики AutoCAD в документации давали бы ссылки на главы в "нужных книжках". А в нынешней ситуации остаётся только ломать голову и догадываться: "так это или не так...?"
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Debalance от 13-07-2017, 11:28:20
Кстати, можешь воспользоваться ARXDBG-> Curve Test для тестирования:
Продолжая тестировать CurveTest у меня возник вопрос. В данной утилите есть два исполнения getClosestPointTo:

(https://adn-cis.org/forum/proxy.php?request=http%3A%2F%2Fimg-fotki.yandex.ru%2Fget%2F244154%2F105409719.1%2F0_16c113_761d152b_orig.png&hash=9cb3d7e43565f8fd28e79e16d08efdda)

В моём случае getClosestPointTo (projected) даёт более точные результаты. Но мне не совсем понятно как программно реализуется данная функция (в отличии от просто getClosesstPointTo)?
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Александр Ривилис от 13-07-2017, 12:01:38
В моём случае getClosestPointTo (projected) даёт более точные результаты. Но мне не совсем понятно как программно реализуется данная функция (в отличии от просто getClosesstPointTo)?
Читаем ObjectARX SDK Docs:
Цитировать
This function projects the curve onto the plane defined by givenPnt and normal, finds the point on the projected curve that is nearest to givenPnt, then projects this nearest point back onto the original curve and sets pointOnCurve to the result.
Вопросы еще остались?
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Debalance от 13-07-2017, 13:24:56
Вопросы еще остались?
Увы да и много. Кластер вопросов вытекает опять же из темы связанной со сплайнами и функцией getClosestPointTo.
Имеем конкретный сплайн (см. чертёж во вложении). И пытаемся определить на нём ближайшую точку к некой точке в пространстве:

(https://adn-cis.org/forum/proxy.php?request=http%3A%2F%2Fimg-fotki.yandex.ru%2Fget%2F194869%2F105409719.1%2F0_16c14a_a3bf387b_orig.png&hash=8292454e59e28cf83b2a628a0158902d)

На рисунке точка совпадает с центром жёлтого кружка. Однако, ближайшая точка определяется совсем в неожиданном месте (голубой маркер).
И так вопросы:
1. Это что уникальность сплайна?
2. Может это быть глюком самого AutoCAD?
3. Существует ли достойное решение нахождения ближайшей точки в таком случае (ибо аналогичные сплайны в моём случае попадаются весьма часто)?
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Дмитрий Загорулькин от 13-07-2017, 14:05:08
1. Это что уникальность сплайна?
2. Может это быть глюком самого AutoCAD?
Допускаю, что может. Мы как-то на DWG.RU коллективно составляли метод, которые корректно определял бы BoundingBox для сплайна, т.к. стандартный метод возвращал некорректный результат: http://forum.dwg.ru/showthread.php?t=41621&highlight=%EF%E5%F7%E0%F2%FC&page=2 сообщения #24 - #52.
Возможно, что и с определением ближайшей точки проблемы.
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Debalance от 13-07-2017, 14:16:05
т.к. стандартный метод возвращал некорректный результат
Ну БаундингБокс это отдельная тема - он и для дуги выдаёт некорректные результаты (в своё время я с этим тоже накувыркался). А если это касается точки на кривой - то Автокаду грош цена как инженерной системе...
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Дмитрий Загорулькин от 13-07-2017, 15:04:13
Сплайник-то длиной 0,1 ед. чертежа. Погрешность определения точки в этом случае составляет около 0,01 ед.чертежа. Зачем Вам такая точность?
Если хотя бы в 10 раз увеличить - ближайшая точка корректно определяется.
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Debalance от 13-07-2017, 15:30:37
Погрешность определения точки в этом случае составляет около 0,01 ед.чертежа
Откуда Вы взяли эту цифру?

Зачем Вам такая точность?
Ну значит нужна. А что, это разве большая точность для точного машиностроения и для возможностей AutoCAD?

Если хотя бы в 10 раз увеличить - ближайшая точка корректно определяется.
ХОТЯ БЫ В Д-Е-С-Я-Т-Ь?!!! То есть всё-таки глюк?
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Дмитрий Загорулькин от 13-07-2017, 15:38:11
Откуда Вы взяли эту цифру?
Измерил расстояние между полученной точкой и той, которую ожидалось получить.
Ну значит нужна. А что, это разве большая точность для точного машиностроения и для возможностей AutoCAD?
Тогда, наверное, лучше сплайн не использовать. Видимо, у него есть искусственное ограничение по точности вычисления. Подозреваю, что это ввели специально, чтобы не страдало быстродействие.
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Debalance от 13-07-2017, 15:50:00
Измерил расстояние между полученной точкой и той, которую ожидалось получить.
Я предпочитаю измерять погрешность в процентах. И в данном случае погрешность составляет примерно 400%.

Тогда, наверное, лучше сплайн не использовать.
Весьма жаль. В связи с этим область применения AutoCAD'а резко "скукоживается".

Подозреваю, что это ввели специально...
Выходит движок AutoCAD весьма негибкий ибо не может приспосабливаться к масштабу чертежа.
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Александр Ривилис от 13-07-2017, 15:52:12
Выходит движок AutoCAD весьма негибкий ибо не может приспосабливаться к масштабу чертежа.
Мы не обсуждаем это на данном форуме. По существу у тебя только один выход - выполнять аппроксимацию сплайна и находить ближайшую точку к аппроксимирующей кривой.
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Дмитрий Загорулькин от 13-07-2017, 16:03:18
Выходит движок AutoCAD весьма негибкий ибо не может приспосабливаться к масштабу чертежа.
Немного не так. Механизм сплайнов в AutoCAD не позволяет их использовать в нанотехнологиях :) Но с другими объектами все не так уж и плохо. В .NET API у сплайна есть метод ToPolylineWithPrecision. С его помощью можно получить нужную точку (переписать на C++ думаю не будет проблемой):
Код - C# [Выбрать]
  1. using Autodesk.AutoCAD.ApplicationServices;
  2. using Autodesk.AutoCAD.DatabaseServices;
  3. using Autodesk.AutoCAD.EditorInput;
  4. using Autodesk.AutoCAD.Geometry;
  5. using Autodesk.AutoCAD.Runtime;
  6.  
  7. namespace AcadTest
  8. {
  9.     public class CurveTest
  10.     {
  11.         [CommandMethod("TestClosestPoint")]
  12.         public void ClosestPoint()
  13.         {
  14.             SupportMethods.InitializeVars
  15.                 (out Document adoc, out Editor ed, out Database db);
  16.  
  17.             ObjectId id = SupportMethods.SelectEntity(ed, "\nSelect curve:");
  18.             if (!id.ObjectClass.IsDerivedFrom(RXClass.GetClass(typeof(Curve))))
  19.             {
  20.                 ed.WriteMessage("\nIt's not curve!");
  21.                 return;
  22.             }
  23.  
  24.             Point3d? pt = SupportMethods.GetPoint(ed);
  25.             if (!pt.HasValue)
  26.             {
  27.                 ed.WriteMessage("\nNo point!");
  28.                 return;
  29.             }
  30.  
  31.             Point3d? closPt = null;
  32.  
  33.             using (Curve curve = id.Open(OpenMode.ForRead) as Curve)
  34.             {
  35.                 if (curve != null)
  36.                 {
  37.                     if (curve is Spline spline)
  38.                     {
  39.                         using (Curve plCurve = spline.ToPolylineWithPrecision(5))
  40.                         {
  41.                             closPt = plCurve.GetClosestPointTo(pt.Value, false);
  42.                         }
  43.                     }
  44.                     else
  45.                     {
  46.                         closPt = curve.GetClosestPointTo(pt.Value, false);
  47.                     }
  48.                 }
  49.             }
  50.  
  51.             if (closPt.HasValue)
  52.             {
  53.                 using (Circle circle = new Circle())
  54.                 {
  55.                     circle.Center = closPt.Value;
  56.                     circle.Radius = 0.1 * closPt.Value.DistanceTo(pt.Value);
  57.                     circle.ColorIndex = 1;
  58.                     using (BlockTableRecord cSpace
  59.                         = id.Database.CurrentSpaceId.Open(OpenMode.ForWrite) as BlockTableRecord)
  60.                     {
  61.                         if (cSpace != null)
  62.                         cSpace.AppendEntity(circle);
  63.                     }
  64.                 }
  65.             }
  66.         }
  67.  
  68.         internal static class SupportMethods
  69.         {
  70.             public static void InitializeVars(out Document adoc, out Editor ed, out Database db)
  71.             {
  72.                 adoc = Application.DocumentManager.MdiActiveDocument;
  73.                 ed = adoc.Editor;
  74.                 db = adoc.Database;
  75.             }
  76.  
  77.             public static ObjectId SelectEntity(Editor ed, string msg = "\nSelect entity: ")
  78.             {
  79.                 PromptEntityResult entRes = ed.GetEntity(msg);
  80.                 return entRes.Status == PromptStatus.OK ? entRes.ObjectId : ObjectId.Null;
  81.             }
  82.  
  83.             public static string GetString(Editor ed, string msg = "\nInput string value: ")
  84.             {
  85.                 PromptResult stringRes = ed.GetString(msg);
  86.                 return stringRes.Status == PromptStatus.OK ? stringRes.StringResult : null;
  87.             }
  88.  
  89.             public static Point3d? GetPoint(Editor ed, string msg = "\nSelect point: ")
  90.             {
  91.                 PromptPointResult ptRes = ed.GetPoint(msg);
  92.                 return ptRes.Status == PromptStatus.OK ? (Point3d?)ptRes.Value : null;
  93.             }
  94.         }
  95.     }
  96. }
  97.  
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Debalance от 13-07-2017, 16:13:32
Мы не обсуждаем это на данном форуме.
А между тем это ключевая тема для любого программиста. Мы должны чётко понимать исходные возможности среды. Где я могу получить информацию о допусках при работе со сплайнами? И правильно ли я понял из Вашей безапелляционной тезы (что у меня всего лишь один выход), что это не является багом движка AutoCAD, а всего лишь изначально заложенное ограничение?

Механизм сплайнов в AutoCAD не позволяет их использовать в нанотехнологиях
Это Ваше предположение? К тому же насколько я помню нанотехнологии начинаются после точностей 0.000000001 ед.

В .NET API у сплайна есть метод ToPolylineWithPrecision
Ривилис уже предложил аппроксимировать, а это одно и тоже. Рудиментарный метод - вместо математической модели я буду хранить кучу точек с посредственной для "нанотехнологий" точностью.
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Александр Ривилис от 13-07-2017, 16:16:21
И правильно ли я понял из Вашей безапелляционной тезы (что у меня всего лишь один выход), что это не является багом движка AutoCAD, а всего лишь изначально заложенное ограничение?
Ты можешь считать как хочешь, но факт остаётся фактом - исправлять это не будут, т.к. это значительно ухудшит скорость работы со сплайнами.
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Александр Ривилис от 13-07-2017, 16:18:41
Рудиментарный метод - вместо математической модели я буду хранить кучу точек с посредственной для "нанотехнологий" точностью.
Нет формулы, которая позволила бы найти ближайшую точку на сплайне по характеристикам сплайна. Отсюда я вижу единственный способ - аппроксимацию.
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Debalance от 13-07-2017, 16:28:58
Ты можешь считать как хочешь...
Безусловно, но это меня как-то мало бодрит.

... исправлять это не будут.
Исправляют обычно ошибки и баги, а если это ни то ни другое, то обчём речь?

... т.к. это значительно ухудшит скорость работы со сплайнами.
Ну хорошо, ну тогда должен существовать некий точностной критерий абсолютной длины сплайна после которго все методы функционируют без сбоя?

Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Debalance от 13-07-2017, 16:36:16
Нет формулы, которая позволила бы найти ближайшую точку на сплайне по характеристикам сплайна.
Вы хотите сказать метод getСlosestPointTo использует принцип предварительной аппроксимации сплайна?
А как быть с точкой пересечения? Тоже нет формулы?
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Александр Ривилис от 13-07-2017, 17:58:09
Вы хотите сказать метод getСlosestPointTo использует принцип предварительной аппроксимации сплайна?
Если бы использовал, то ты бы получил правильную точку. Я так думаю.
А как быть с точкой пересечения? Тоже нет формулы?
Думаю что в общем случае нет.
Исправляют обычно ошибки и баги, а если это ни то ни другое, то обчём речь?
Это и то и другое. :) Кстати по поводу BoundingBox для сплайна на старом сайте ADN была статья: http://jprdintprev.autodesk.com/adn/servlet/devnote?siteID=4814862&id=5410164&linkID=4900509
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Debalance от 13-07-2017, 20:15:20
Кстати по поводу BoundingBox для сплайна на старом сайте ADN была статья
Совершить миллион итераций?!!! Какое неэлегантное решение... Я разочарован в креативности программистов из AutoDesk.
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Дмитрий Загорулькин от 13-07-2017, 20:26:57
Совершить миллион итераций?!!! Какое неэлегантное решение...
С этим я, пожалуй, соглашусь. Мне оно тоже не по душе.
Я разочарован в креативности программистов из AutoDesk.
Этих людей очень условно можно назвать "программисты из Autodesk", т.к. это специалисты техподдержки ADN. Там довольно толковые ребята, но ввиду широкой области их задач и, вследствие этого, большой загруженности, не стоит рассчитывать на их высокую "креативность".
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Александр Ривилис от 13-07-2017, 23:43:18
Совершить миллион итераций?!!! Какое неэлегантное решение... Я разочарован в креативности программистов из AutoDesk.
Это не код, работающий в AutoCAD, а лишь пример того, как можно получить более точно BoundingBox. Там в коде есть еще более нелогичные вещи типа:
Код - C++ [Выбрать]
  1.  AcGePoint3d mPtTemp;
  2.  pSpline->getStartPoint(mPtTemp);
  3.  pSpline->getParamAtPoint(mPtTemp,mStartParam);
  4.  
  5.  pSpline->getEndPoint(mPtTemp);
  6.  pSpline->getParamAtPoint(mPtTemp,mEndParam);
В большинстве случаев код на сайте просто демонстрирует идею и не блистает элегантностью, которая могла бы скрыть саму идею.
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Debalance от 14-07-2017, 08:49:19
... код на сайте просто демонстрирует идею ...
Ну если "идея" этих ста пятидесяти строчек кода заключена в том, чтобы научить юзера неуклюже пользоваться методом getPointAtParam, то я (по мимо обозначенного выше) разачарован также и в общей концепции приподнесения обучающего материала в ADN.
Данный форум (на фоне такого примера из "Базы Знаний" ADN) выглядит намного более креативным. Это просто кладезь фонтанирующий элегантными идеями.
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Дмитрий Загорулькин от 14-07-2017, 12:15:31
Off-Topic: показать
Данный форум (на фоне такого примера из "Базы Знаний" ADN) выглядит намного более креативным. Это просто кладезь фонтанирующий элегантными идеями.

(https://s3.postimg.org/z5e9wk7b3/image.jpg) (https://postimg.org/image/z5e9wk7b3/)

Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Debalance от 14-07-2017, 13:06:03
Off-Topic: показать
(https://adn-cis.org/forum/proxy.php?request=http%3A%2F%2Fimg0.liveinternet.ru%2Fimages%2Fattach%2Fc%2F3%2F75%2F75%2F75075986_gif_008.gif&hash=21b2907c975cd5e4d21f96f947b9177d)
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Александр Ривилис от 14-07-2017, 13:41:51
Данный форум (на фоне такого примера из "Базы Знаний" ADN) выглядит намного более креативным. Это просто кладезь фонтанирующий элегантными идеями.
Спасибо за высокую оценку данного форума. Кстати, многие мои ответы - это "креативно" переработанные примеры из базы знаний ADN. Самое существенное в этих примерах - это идея, а всё остальное можно и самостоятельно реализовать.
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Debalance от 15-07-2017, 13:01:28
Спасибо за высокую оценку...
Ну что Вы! Это роскошество с вашей стороны. Спасибо - это слишком много. Мне бы хватило маленького плюса в карму за этот пост...

Кстати, многие мои ответы - это "креативно" переработанные примеры...
Да, это заметно. Надеюсь, что Ваше начальство также по достоинству ценит Ваш труд.
Название: Re: Некорректное определение средней точки для сплайна
Отправлено: Александр Ривилис от 15-07-2017, 13:24:48
Ну что Вы! Это роскошество с вашей стороны. Спасибо - это слишком много. Мне бы хватило маленького плюса в карму за этот пост...
Уговорил. :)