Разнообразные поверхности.

Форум для обсуждения вопросов математики

Модератор: Admin

алексей_алексей
Сообщения: 1776
Зарегистрирован: Вс май 01, 2005 9:02 pm

Разнообразные поверхности.

Сообщение алексей_алексей » Пн апр 06, 2009 9:41 pm

Затравка для любителей порисовать “искусства” ради, дабы отвлечь их внимание от более ли менее, но математических тем, например, решения систем нелинейных уравнений… Кроме как точками, лично я изображать не умею, зато посмотреть вместе с другими желающими на демонстрацию возможностей истинных мастеров жанра мог бы в ЭТОЙ теме. И выразил бы общее мнение, чтобы показ сопровождался ликбезом с указанием на, возможно, личные достижения, естественно, никому до того неизвестные…
Поверхность, соответствующая объединению двух множеств :
1) x(x-1.1sin(11x))+ y(y-1.1 sin(11y))+z(z-1.1sin(11z))-1=0;
2) x^2+y^2+z^2-1=0; с одновременным вычитанием из него объединения 1)>0 , 2)<0:
Изображение

Draeden
Сообщения: 62
Зарегистрирован: Вс фев 22, 2009 9:01 pm

Сообщение Draeden » Вт апр 07, 2009 4:33 pm

Не совсем понятно, что из чего вычитать. Лучше запишите требуемую поверхность в виде множеств. например: A + BC - D (Объединить A с пересечением B и C после чего вычесть D).

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

Здесь изображен только "синусный" кубик.

алексей_алексей
Сообщения: 1776
Зарегистрирован: Вс май 01, 2005 9:02 pm

Сообщение алексей_алексей » Вт апр 07, 2009 8:29 pm

Перепутал знаки у 1) и 2), их надо переставить. И, если:
1) = 0 это А;
1) < 0 это B;
2) = 0 это С;
2) > 0 это D;
то поверхность = (A+C) – (B + D)

Draeden
Сообщения: 62
Зарегистрирован: Вс фев 22, 2009 9:01 pm

Сообщение Draeden » Ср апр 08, 2009 3:59 pm

тогда поверхность имеет такой вид:

Изображение

Кстати говоря, можно написать свой простой рейтрейсер: он будет рендерить только неявные поверхности.

алексей_алексей
Сообщения: 1776
Зарегистрирован: Вс май 01, 2005 9:02 pm

Сообщение алексей_алексей » Ср апр 08, 2009 8:27 pm

Draeden писал(а):тогда поверхность имеет такой вид:



Нет, если речь об искусстве, то тогда поверхность может принимать любой вид, каким его себе представляет художник. Типа сюрреализм, кажется. Тогда уравнения никакие не нужны. Действительно, зачем художнику уравнения? Правда, нам с Паскалем далеко до искусства, и мы по старинке пользуемся уравнениями, вот и Мэпл ничего нового не увидел, чего до этого не увидел Паскаль… А может всё дело в инструментах?...
Изображение
Слава вернулся и скоро увидит, куда переселились поверхности…

Draeden
Сообщения: 62
Зарегистрирован: Вс фев 22, 2009 9:01 pm

Сообщение Draeden » Ср апр 08, 2009 9:07 pm

Вот так выглядит поверхность с точки зрения pov ray, уравнение которой писал uni.

Изображение

uni
Сообщения: 1817
Зарегистрирован: Сб ноя 13, 2004 3:06 pm
Откуда: п.г.т. Излучинск
Контактная информация:

Сообщение uni » Чт апр 09, 2009 5:30 am

Судя по приведённой выше картинке, у меня получился только срез в виде сердечка почему-то (слева по-диагонали).
Меня смутило, что сфера получила дырку, но было красиво.
Документ мой сработал правильно. Я сам пределы рисования выбрал видимо неверно. Сколько их не менял - дальше не рисовалось.

Если смогу дорисовать дальше своим документом, то выложу исправление.

uni
Сообщения: 1817
Зарегистрирован: Сб ноя 13, 2004 3:06 pm
Откуда: п.г.т. Излучинск
Контактная информация:

Сообщение uni » Чт апр 09, 2009 5:51 am

Draeden, нарисуйте пожалуйста эту поверхность pov ray'ем ещё.

Вот ещё один экземпляр, т.н. поверхность "blobby". Она состоит из нескольких частей, это одна из них. Поверхность задаётся уравнением f(x, y, z) = x^2+y^2+z^2+Sin[4x]+Cos[3y]+Sin[2x] при условии f(x, y, z) = f(1, 0, 2). Подобрать хорошие криволинейные координаты сложно, да и в этом случае получилось не то чтобы очень... Как избавиться от этих сгущений точек ?

Draeden
Сообщения: 62
Зарегистрирован: Вс фев 22, 2009 9:01 pm

Сообщение Draeden » Чт апр 09, 2009 10:14 am

Четыре вида этой поверхности:

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

Цвета RGB соответсвуют осям XYZ, т.е. ось X красная, ось Y зелёная, ось Z синяя.

Я посмотрел исходный код POV Ray и обнаржуил, что в целях кроссплатформенности он не создаёт машинный код для функций, т.е. функцию x*x + y*y + z*z он будет вычислять как интерпретатор, хотя и оптимизированный. Так что можно дописать генерацию машинного кода для процессоров Intel, что ускорит рисование раз в десять.

uni
Сообщения: 1817
Зарегистрирован: Сб ноя 13, 2004 3:06 pm
Откуда: п.г.т. Излучинск
Контактная информация:

Сообщение uni » Чт апр 09, 2009 5:49 pm

Исправляюсь:
Изображение

pov ray и его возможности пару лет назад нам демонстрировал Юрий Владимирович (YuK). Тогда речь шла о ячеестых поверхностях. На том и закончилось тогда.

Вот pdf моего расчёта (MC14):
http://slil.ru/27434112 (1 Mb, pdf)

uni
Сообщения: 1817
Зарегистрирован: Сб ноя 13, 2004 3:06 pm
Откуда: п.г.т. Излучинск
Контактная информация:

Сообщение uni » Чт апр 09, 2009 6:10 pm

Изображение

Результат расчёта в MC14:
http://slil.ru/27434160 (pdf, ~1.2 Mb)

Draeden
Сообщения: 62
Зарегистрирован: Вс фев 22, 2009 9:01 pm

Сообщение Draeden » Чт апр 09, 2009 7:20 pm

Изображение

Draeden
Сообщения: 62
Зарегистрирован: Вс фев 22, 2009 9:01 pm

Сообщение Draeden » Чт апр 09, 2009 7:51 pm

Если не пользоваться встроенными функциями то POV Ray медленно рисует поверхности типа blobby. Есть интересное расширение POV Ray: http://www.hyperfun.org/wiki/doku.php?i ... n:language Судя по всему оно ускоряет процесс.

алексей_алексей
Сообщения: 1776
Зарегистрирован: Вс май 01, 2005 9:02 pm

Сообщение алексей_алексей » Чт апр 09, 2009 8:37 pm

Draeden писал(а):тогда поверхность имеет такой вид:

Изображение

Кстати говоря, можно написать свой простой рейтрейсер: он будет рендерить только неявные поверхности.

Ну, а чё с затравкой будем делать? Будем дальше её рендерить, двигая искусство, или и так сойдёт?...

Draeden
Сообщения: 62
Зарегистрирован: Вс фев 22, 2009 9:01 pm

Сообщение Draeden » Пт апр 10, 2009 10:38 am

Ещё один вариант:

Изображение