2014 dxdy logo

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

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


Правила форума


В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

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

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

Обязательно просмотрите тему Правила данного раздела, иначе Ваша тема может быть удалена или перемещена в Карантин, а Вы так и не узнаете, почему.



Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Кривая Безье как функция x(y), без параметра t
Сообщение05.05.2014, 23:28 


05/05/14
9
Условие: Даны на координатной плоскости точки $P_0$, $P_1$, $P_2$ (см. рисунок), образующие прямоугольный треугольник.

Задача: вывести формулу кривой, соединяющей точки $P_0$ и $P_2$, и, изменяя один параметр, менять её форму от прямой $P_0$P_2$ до максимально повторяющей контур прямого угла $P_0 P_1 P_2$, не выходя за рамки этого прямоугольного треугольника. Должна быть функция вида $y(x)$.

Изображение

Я выбрал для этого рациональную кривую Безье 2 порядка с переменным весом $w_1$ в точке $P_1$ и с весами $w_1$ и $w_2$в точках $P_0$ и $P_2$ равными 1.
Как раз и получается: $w_1=0$ мы имеем прямую $P_0P_2$, при $w_1\rightarrow\infty$ мы приближаемся к контуру прямого угла $P_0 P_1 P_2$, притом не выходя за рамки прямоугольного треугольника.

Вывел её параметрическую запись: $B(t)=\frac{(1-t)^2P_0+2t(1-t)P_1w_1+t^2P_2}{(1-t)^2+2t(1-t)w_1+t^2}$
Но вот незадача: мне нужна функция $y(x)$
В какую сторону думать?
Я догадываюсь, что если $x=f(t)$ и $y=g(t)$, то можно сделать как-то вроде $t=b(x)$ и тогда $y=g(b(x))$, но как оттуда выковырять $t$ ?

P.S. Я рассматривал другие варианты: гипербола или парабола по трём точкам ($P_0$, $P_2$ и дополнительная $O$ на диагонали прямоугольника)
Изображение
но тогда кривая может вылезти за границы треугольника, что противоречит условиям

P.P.S. Какой это вообще раздел математики? (чтобы правильно запрашивать помощь)

 Профиль  
                  
 
 Posted automatically
Сообщение06.05.2014, 01:15 


20/03/14
12041
 i  Тема перемещена из форума «Помогите решить / разобраться (М)» в форум «Карантин»
1. Все формулы запишите в соответствии с требованиями Правил форума, т.е. в $\TeX$.
Краткие инструкции можно найти здесь: topic8355.html и topic183.html.
Кроме этого, в теме Видео-пособия для начинающих форумчан можно посмотреть видео-ролик "Как записывать формулы".

2. Использование формул на рисунке не допускается. Рисунок можно оставить только с целью иллюстрации, как проходит кривая.

После того как исправите сообщение, сообщите об этом в теме Сообщение в карантине исправлено, и тогда тема будет возвращена.

 Профиль  
                  
 
 Posted automatically
Сообщение07.05.2014, 13:53 
Супермодератор
Аватара пользователя


20/11/12
5728
 i  Тема перемещена из форума «Карантин» в форум «Помогите решить / разобраться (М)»
вернул

 Профиль  
                  
 
 Re: Кривая Безье как функция x(y), без параметра t
Сообщение07.05.2014, 19:36 
Заслуженный участник


27/04/09
28128
destination_sirius в сообщении #859600 писал(а):
P.P.S. Какой это вообще раздел математики? (чтобы правильно запрашивать помощь)
Просто замените в
destination_sirius в сообщении #859600 писал(а):
$B(t)=\frac{(1-t)^2P_0+2t(1-t)P_1w_1+t^2P_2}{(1-t)^2+2t(1-t)w_1+t^2}$
точки их координатами и выразите что нужно через что нужно. У вас будут два уравнения и три переменные $x,y,t$.

-- Ср май 07, 2014 22:38:40 --

destination_sirius в сообщении #859600 писал(а):
Я догадываюсь, что если $x=f(t)$ и $y=g(t)$, то можно сделать как-то вроде $t=b(x)$ и тогда $y=g(b(x))$, но как оттуда выковырять $t$ ?
Откуда? В последней формуле и не будет $t$.

 Профиль  
                  
 
 Re: Кривая Безье как функция x(y), без параметра t
Сообщение08.05.2014, 13:28 


16/02/10
258
$y=y_2\left(\frac{x-x_0}{x_1-x_0}\right)^a, \, a\ge1 $. Не подойдет?

 Профиль  
                  
 
 Re: Кривая Безье как функция x(y), без параметра t
Сообщение08.05.2014, 22:40 


29/09/06
4552
destination_sirius в сообщении #859600 писал(а):
Но вот незадача: мне нужна функция $y(x)$
В какую сторону думать?

Ваши параметрические кривые --- конические сечения типа $$ Ax^2+2Bxy+Cy^2+2Dx+2Ey+F=0. \eqno(1)$$
Решая это уравнение как квадратное относительно $y$, Вы получите два варианта функции $y(x)$. Из них надо будет выбрать один, отвечающий Вашей конфигурации на рисунке. Как получить уравнение (1) для Вашего случая --- сейчас допишу.

-- 08 май 2014, 23:51:19 --

destination_sirius в сообщении #859600 писал(а):
Я догадываюсь, что если $x=f(t)$ и $y=g(t)$, ...

Приведите левые части уравнений $x-f(t)=0$ и $y-g(t)=0$ к общему знаменателю (оставьте только числители). Полученную систему из двух уравнений рассмотрите как линейную относительно $t$ и $t^2$. Так её и решите, и получите $t=L_1(x,y)$ и $t^2=L_2(x,y)$. Приравняв $(t)^2=t^2$ т.е. $L_1^2(x,y)=L_2(x,y)$, получите уравнение (1). На этом высокая математика заканчивается. Смотрим школьный учебник по квадратным уравнениям, решаем, выбираем нужный корень из $y_{1,2}(x)=\dfrac{-b\,{\color{magenta}\pm}\,\sqrt{\ldots}}{2?a}$ (пардон, формулу в деталях не помню), и всё.

-- 08 май 2014, 23:58:06 --

(Оффтоп)

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

 Профиль  
                  
 
 Re: Кривая Безье как функция x(y), без параметра t
Сообщение10.05.2014, 16:24 


05/05/14
9
Спасибо за ответы, буду пробовать.

VPro в сообщении #860549 писал(а):
$y=y_2\left(\frac{x-x_0}{x_1-x_0}\right)^a, \, a\ge1 $. Не подойдет?
Выглядит просто, но из похожих кривулек будет состоять форма волны цифрового сигнала с переменной частотой. Форма кривой тоже будет меняться. Тысячи раз в секунду возведение в большую дробную степень может быть слишком ресурсоёмким. Надо пробовать, спасибо за формулу, может быть, прокатит.

Алексей К., спасибо за доходчивое объяснение.
Алексей К. в сообщении #860695 писал(а):

(Оффтоп)

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

(Оффтоп)

Стопудово, я много чего не умею и не знаю и придумал себе ерунду )) Спасибо, что теперь знаю чуть больше. Осталось прекратить ерунду придумывать )) Цель в принципе и состоит в моделировании подобных кривулек. Из двух похожих кривых и их зеркальных отображений относительно оси X будет состоять форма волны сигнала. Требуется чтобы форма волны регулировалась с помощью одного параметра, таким образом, как я описал. Этот сигнал нужен сам по себе, для проектирования электронного музыкального инструмента. Я упростил задачу, чтобы не засорять эфир.

 Профиль  
                  
 
 Re: Кривая Безье как функция x(y), без параметра t
Сообщение10.05.2014, 16:37 
Заслуженный участник


27/04/09
28128
destination_sirius в сообщении #861385 писал(а):
Тысячи раз в секунду возведение в большую дробную степень может быть слишком ресурсоёмким.
Ога, а таблицы и интерполяцию никто не изобретал?

-- Сб май 10, 2014 19:38:14 --

Вообще, стоит сначала проверить, а потом уже оптимизировать. Может, и нечего будет. :wink:

 Профиль  
                  
 
 По мотивам обмена оффтопиками.
Сообщение10.05.2014, 20:08 


29/09/06
4552
Зачем Вам $y(x)$? Почему $x(t),\, y(t), t=0,.1,.2,...,.9,1.0$ не катит для моделирования сигнала?

 Профиль  
                  
 
 Re: Кривая Безье как функция x(y), без параметра t
Сообщение10.05.2014, 21:41 


05/05/14
9
Шаг 0.1 слишком грубый для этой задачи. Сигнал цифровой, с большой частотой дискретизации. От начала до конца кривой по оси X может быть до 2400 отсчётов. То есть значения X мне уже даны, по ним нужно найти значения Y

Так так... в любом случае можно подумать в этом направлении...
Сигнал цифровой. Есть частота дискретизации. ось $x$ на рисунке - ось времени. То есть шаг $\delta$ по оси $x$ известен.

Я вижу это только так:

Начальная позиция: $t=0$, $x=x_0$

Теперь нужно найти такое значение $t$, чтобы оно удовлетворяло значению $x$ на следующем шаге $x+\delta$:
$x+\delta=f(t)$

У меня получатся два корня: $t_1$ и $t_2$. Нужно один из них подставить в $y=g(t)$. Пока не пытался решить уравнение, но надеюсь один из корней будет всегда отрицательным, иначе непонятно, какой из них брать.

 Профиль  
                  
 
 Re: Кривая Безье как функция x(y), без параметра t
Сообщение10.05.2014, 22:22 


29/09/06
4552
destination_sirius в сообщении #861464 писал(а):
У меня получатся два корня: $t_1$ и $t_2$.

Полагаю, только один из них имеет право быть в интервале (0;1), и этого теста достаточно для дискриминации корней. В рамках
#ifdef DEBUG
...
#endif

можно записать, что если таковое случилось, то или где-то ошибка в программе, или мир перевернулся (зависимо от стиля программирования).
Также не забывайте, что $\delta\,[=\Delta x]=\Delta t\cdot\left.\frac{dx}{dt}\right|_{t=t_i}$. Типа точно не знаю, но при таком мелком делении отрезка может и сгодится.

 Профиль  
                  
 
 Re: Кривая Безье как функция x(y), без параметра t
Сообщение10.05.2014, 22:39 


05/09/12
2587

(Оффтоп)

Как-то читал некоего Володина про ЭМИ, книжка еще докомпьютерной эры, так он там вроде писал, что ухо не различает фаз спектральных составляющих сигнала, а только их амплитудные соотношения, поэтому совершенно разные картинки сигналов во временнОй области (на экране осциллографа) звучат абсолютно идентично, а незаметные глазу различия могут выражаться в радикальном изменении тембра. А сейчас, в наш век, когда вычислительные мощности бороздят космические просторы, можно применить регистровый синтез (чтобы оправдать термин "синтезатор"), чем пытаться рисовать Безьём форму сигнала во временнОй области с непредсказуемым результатом.
UPD ссылка на книжку Володина (читается сразу, без скачивания), прочитать лучше всю (пропуская конкретные схемы отдельных узлов)

 Профиль  
                  
 
 Re: Кривая Безье как функция x(y), без параметра t
Сообщение11.05.2014, 21:28 


05/05/14
9
_Ivana в сообщении #861484 писал(а):

(Оффтоп)

Как-то читал некоего Володина про ЭМИ, книжка еще докомпьютерной эры, так он там вроде писал, что ухо не различает фаз спектральных составляющих сигнала, а только их амплитудные соотношения, поэтому совершенно разные картинки сигналов во временнОй области (на экране осциллографа) звучат абсолютно идентично, а незаметные глазу различия могут выражаться в радикальном изменении тембра. А сейчас, в наш век, когда вычислительные мощности бороздят космические просторы, можно применить регистровый синтез (чтобы оправдать термин "синтезатор"), чем пытаться рисовать Безьём форму сигнала во временнОй области с непредсказуемым результатом.
UPD ссылка на книжку Володина (читается сразу, без скачивания), прочитать лучше всю (пропуская конкретные схемы отдельных узлов)

(Оффтоп)

Спасибо, интересно почитать. Вот краткий обзор всего что сегодня распространено на этом поприще: http://rutracker.org/forum/viewtopic.php?t=3643455 1998 год, правда, но немногое прибавилось

 Профиль  
                  
 
 Re: Кривая Безье как функция x(y), без параметра t
Сообщение11.05.2014, 21:32 


29/09/06
4552
Надеюсь, то, что я всюду писал про $y(x)$, а Вы, оказывается, спрашивали про $x(y)$, проблемы не составляет. :?

 Профиль  
                  
 
 Re: Кривая Безье как функция x(y), без параметра t
Сообщение11.05.2014, 21:48 


05/05/14
9
Я ошибся, нужна y(x), нельзя было изменить название темы. Проблемы не составляет, составляет наоборот много радости ) теперь буду выбирать наименее ресурсоёмкий вариант

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.

Модераторы: Модераторы Математики, Супермодераторы



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

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


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

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