2014 dxdy logo

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

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


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


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



Начать новую тему Ответить на тему
 
 Нелинейные уравнения.
Сообщение17.04.2009, 14:05 
Аватара пользователя


11/06/08
125
Вот так выглядят некоторые решения системы уравнений:

$f_x = k_x \cos( a x ) \sin( b y ) \sin( c z ) = 0$
$f_y = k_y \sin( a x ) \cos( b y ) \sin( c z ) = 0$
$f_z = k_z \sin( a x ) \sin( b y ) \cos( c z ) + 1 = 0$

ИзображениеИзображениеИзображениеИзображение

ИзображениеИзображениеИзображениеИзображение

ИзображениеИзображениеИзображениеИзображение

Для того чтобы нарисовать решения я строил поверхность уровня для функции

$g = \sqrt{ f_x^2 + f_y^2 + f_z^2 } = \varepsilon$

где $\varepsilon$ достаточно мало. Решениями являются либо точки, либо "эллипсы" с точками либо пара пересекающихся "эллипсов". В точках пересечения у поверхности $g$ утолщение. Как по другому ввести функцию $g$ чтобы утолщений не было ?

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


30/01/09
7068
Draeden. Не совсем понятно про утолщение. Можно по-подробнее?

 Профиль  
                  
 
 
Сообщение17.04.2009, 15:50 
Аватара пользователя


11/06/08
125
Возьмём простой пример. Уравнение поверхности цилиндра вдоль оси $z$ записывается так:

$f(x,y,z) = x^2+y^2-1=0$

Найдём пересечение двух цилиндров:

$g(x,y,z)=\sqrt{f(x,y,0)^2+f(x,z,0)^2}=c$

Если взять $c=0$ то мы получим искомое пересечение, но это пересечение нельзя будет нарисовать средствами рейтрейсинга. Чтобы результат было видно нужно взять $c>0$, в этом случае будет видно что то вроде трубочек вокруг пересечения цилиндров. Хотелось бы, чтобы эти трубочки были равномерны по толщине, но как видно из рисунка, толщина увеличивается в некоторых местах.

Изображение

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


30/01/09
7068
Непонятно, утолщение соответствует геометрии отображаемой поверхности, или это глюк метода (рейтресинга) ? (Извините, в выходные я офф-лайн).

 Профиль  
                  
 
 
Сообщение17.04.2009, 18:59 
Аватара пользователя


11/06/08
125
Да, утолщение соответсвует геометрии. Мне бы хотелось так задать функцию $g$ чтобы поверхность $g(x,y,z)=c$ соответсвовала нулям исходной системы уравнений.

 Профиль  
                  
 
 
Сообщение17.04.2009, 21:32 
Заслуженный участник


22/01/07
605
Здорово построено! Хотя тут красота относится именно к тому, что поверхности гладкие и периодические. Можно попробовать $g=\max(|f_x|,|f_y|,|f_z|)$, но поверхности кое-где могут стать негладкими (липшецевыми). Или попробовать средние гармонические. Но тут непонятно, что получится.

 Профиль  
                  
 
 
Сообщение18.04.2009, 13:51 
Аватара пользователя


11/06/08
125
Пробовал с максимумом модулей: в этом случае построение идёт быстрее (таков алгоритм POV Ray) но поверхности становятся неэстетичными.

Изображение

Если $f=0$ это первый цилиндр, а $g=0$ второй, то на этой картинке:

Красный - $\sqrt{f^2+g^2}$
Синий - $(f^3+g^3)^{\frac 1 3}$
Зелёный - $\text{max}(|f|,|g|)$
Черный - $(f^6+g^6)^{\frac 1 6}$

Однако ни один из способов не даёт равномерного изображения - трубочек вокруг двух пересекающихся окружностей.

 Профиль  
                  
 
 
Сообщение18.04.2009, 14:40 
Аватара пользователя


18/10/08
454
Омск

 Профиль  
                  
 
 
Сообщение18.04.2009, 14:47 
Заслуженный участник


22/01/07
605
Во всех этих примерах норма в $l_p$? $p\ge2$. Для полноты картины только нормы в $l_1$ $|f|+|g|$ не хватает :)

Возможно, тут проблема по существу. Поскольку пересечение двух окружностей - негладкое многоборазие, а его предлагается приблизить гладкими. Вот в окрестности точек пересечения приближение и ухудшается. Для анализа и подгонки нормы можно взять случай попроще в меньшей размерности - объединение прямых $x=0$ и $y=0$. И пытаться получить две полоски вокруг них в окрестности нуля. Проблема будет в том, что на пересечении полосок будут углы, чего у поверхностей уровня гладких фунций быть не может.

 Профиль  
                  
 
 
Сообщение26.04.2009, 14:33 


08/01/08
58
Пересечение двух окружностей можно представить в виде опорной функции к этому множеству, а далее сгладить её с любой степенью точности(стандартными методами). По сглаженной опорной функции можно легко построить само множество. При высокой точности приближения визуально теряется гладкость, а при низкой - гладкость хорошая, но сильно отличается от исходного множества. Так что нужно искать золотую середину.

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

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



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

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


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

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