2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Какие сплайны в автофигурах MS Office...?
Сообщение14.06.2007, 00:26 
Заблокирован


23/03/06

2
Подскажите, какие сплайны используются при рисовании автофигур в приложениях MSOffice.
Вообще, меня интересует сплайн, проходящий через все заданные узловые (опорные) точки с возможностью ЛОКАЛЬНОЙ подстройки формы каждого сегмента полученного сплайна и возможностью добавления новых узловых точек в произвольных местах кривой. Причем форма остальных сегментов сплайна при этом искажаться не должна. И именно такую возможность я увидел в автофигурах (сплайнах) Office! В справке Office про это - ни слова. В Интернет - тоже никакой существенной инфы про это нет.
Кто знает - подскажите!

 Профиль  
                  
 
 
Сообщение14.06.2007, 00:43 
Модератор
Аватара пользователя


11/01/06
5702
Нафига дублировать темы?! http://dxdy.ru/viewtopic.php?t=8125

 Профиль  
                  
 
 
Сообщение14.06.2007, 01:55 
Экс-модератор
Аватара пользователя


30/11/06
1265
 !  Jek
Замечание за дублирование темы.

 Профиль  
                  
 
 
Сообщение14.06.2007, 02:03 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
Любые? Поскольку основным свойством сплайна является минимизация соответствующего функционала, то добавление точки возможно всегда (оно не изменяет порядок сплайна).

 Профиль  
                  
 
 Re: Какие сплайны в автофигурах MS Office...?
Сообщение14.06.2007, 11:17 
Заслуженный участник
Аватара пользователя


01/08/06
3131
Уфа
Jek писал(а):
форма остальных сегментов сплайна при этом искажаться не должна.

Из этого условия следует, что построенный сплайн, вообще говоря, не однозначно зависит от множества точек, по которым строится. Т.е. зависит от порядка, в котором мы берём точки. Так что это действительно какой-то нестандартный сплайн.

Например, исходя из обычного кубического интерполяционного сплайна можно сравнительно легко построить сплайн четвёртой степени, удовлетворяющий указанному условию. Но его 3-я производная, вообще говоря, не будет непрерывной (как можно было бы ожидать от обычного интерполяционного сплайна 4-й степени). И при классическом определении его коэффициентов число уравнений будет меньше числа неизвестных на число узлов интерполяции. Эти неизвестные как раз и будут определяться исходя из порядка указания узлов.

Добавлено спустя 11 минут 2 секунды:

Сейчас посмотрел офис --- не всё так просто. При добавлении узла изменяется не только тот сегмент, который разбивается данным узлом, но и соседние с ним сегменты с обеих сторон. Так что, похоже, там используются самые обыкновенные B-сплайны.

 Профиль  
                  
 
 
Сообщение14.06.2007, 19:50 
Заблокирован


23/03/06

2
maxal писал(а):
Нафига дублировать темы?! viewtopic.php?t=8125

Ты ссылку свою сначала проверь, умник!

нг писал(а):
Jek Замечание за дублирование темы.

Замечание считаю НЕОБОСНОВАННЫМ!

С уважением, Jek.

 !  dm:
Замечание обоснованно. 8-) На нашем форуме темы бесследно не удаляются. :wink:
За обсуждение действий модераторов в непредназначенном для этого разделе, попытку дезинформации и разжигание флейма: неделя.


 !  dm:
За регистрацию дубля во время действия временного бана бан стал постоянным.
17.06.2007

 Профиль  
                  
 
 
Сообщение15.06.2007, 00:00 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
worm2 писал(а):
Из этого условия следует, что построенный сплайн, вообще говоря, не однозначно зависит от множества точек, по которым строится. Т.е. зависит от порядка, в котором мы берём точки. Так что это действительно какой-то нестандартный сплайн.

Не следует. Рассмотрите кубический сплайн. Вы вставили точку, отчего же сегменты слева и справа перестали быть кубическими кривыми.

Другой вопрос, что судя по Вашему сообщению, речь идет о том, что все узлы сплайна равноотстоящие. Тогда вставка узла изменяет параметры для всей кривой.

Именно поэтому я предпочитаю кривые Безье сплайнам: там таких проблем нет. Кроме того, гораздо логичнее требовать сохранение геометрических характеристик в точке спайки, а не производных (геометрические характеристики — более слабое условие).

 Профиль  
                  
 
 
Сообщение15.06.2007, 08:05 
Заслуженный участник
Аватара пользователя


01/08/06
3131
Уфа
незваный гость писал(а):
Не следует. Рассмотрите кубический сплайн. Вы вставили точку, отчего же сегменты слева и справа перестали быть кубическими кривыми.

Я имел в виду, что перед нами стоит задача не изменять кривую вне отрезка, разбиваемого новой точкой, а также сохранить гладкость исходного сплайна. Тогда новый сплайн уже не будет кубическим. Пусть, например, изначально были 4 точки с координатами -2, -1, 1 и 2, и значения в этих точках равны 0. Куб. сплайн для такой функции будет тождественным нулём. Далее, добавляем новую точку с координатой 0 и значением 1. Требуем, чтобы на отрезках [-2, -1] и [1, 2] новый сплайн остался равным нулю, а также непрерывности нового сплайна, его первых и вторых производных (что логично, т.к. у кубических сплайнов такие свойства есть). Кубических кривых для выполнения всех этих условий уже недостаточно (получается 10 уравнений, а у двух кубических кривых 8 неизвестных).[/quote]

 Профиль  
                  
 
 
Сообщение16.06.2007, 19:29 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
worm2 писал(а):
Я имел в виду, что перед нами стоит задача не изменять кривую вне отрезка, разбиваемого новой точкой, а также сохранить гладкость исходного сплайна.

Имеет место быть взаимонепонимание. Я имел в виду следующую ситуацию: У нас задан кубический сплайн на точках $\{x_k\}$, со значаниями $y_k$. Тогда для точке в интервале $x \in (x_j, x_{j+1})$ мы можем выбрать значение $y = S(x)$, такое, что добавив $x$ к $\{x_k\}$ и перенумеровав точки, мы опять получим кубический сплайн. Один из ключевых моментов — что $\{x_k\}$ — множество, а не последовательность, и при построении упорядочиваются по возрастанию.

В случае кривых ситуация несколько иная: там обычно нет $\{x_k\}$ (параметра сплайна). Поэтому обычно $t_k=k$. Под вставкой точки понимают (опять-таки, обычно), выбор точки, лежащей на кривой, и вставке ее как узла сплайна. Поскольку мы не можем задать для нее значения параметра $t$ (хотя легко можем определить), это приводит к искажению кривой.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group