Поверхности.

Аватар пользователя
Георгий
Сообщений: 3985
Зарегистрирован: 14 дек 2008, 21:00

Поверхности.

Сообщение Георгий » 14 фев 2009, 06:59

3 функции:
$$y1=30+ \left( 9+ \left( 3+\sin \left( 4\,t \right)  \right) \cos \left( s \right)  \right) \cos \left( t \right)$$
$$y2=10+ \left( 9+ \left( 3+\sin \left( 4\,t \right)  \right) \cos \left( s \right)  \right) \sin \left( t \right)$$
$$y3= \left( 3+\sin \left( 4\,t \right)  \right) \sin \left( s \right) $$

s и t меняются от 0 до 2 ПИ
Последний раз редактировалось Георгий 29 ноя 2019, 12:39, всего редактировалось 1 раз.
Причина: test

vvvv
Сообщений: 873
Зарегистрирован: 19 сен 2008, 21:00

Поверхности.

Сообщение vvvv » 14 фев 2009, 10:01

Так нарисовал Mathcad.
Изображение
Последний раз редактировалось vvvv 29 ноя 2019, 12:39, всего редактировалось 1 раз.
Причина: test

Draeden
Сообщений: 1613
Зарегистрирован: 24 ноя 2007, 21:00

Поверхности.

Сообщение Draeden » 14 фев 2009, 11:26

Короче это "квази-тор" c переменным сечением ?

После трёх месяцев знакомства c Wolfram Mathematica я пришёл к выводу, что алгоритмы трёхмерной графики писал наверное школьник. Чтобы построить неявную поверхность типа Blobby по точкам расположенным 50x50x50 (т.e. 125000 точек) Wolfram сжирает более 1,5GB памяти, почле чего падает, т.к. Windows отказывается выделять больше памяти. A между прочим, чтобы вычислить значения функции в каждой точке и сохранить это в массиве нужно всего то 8x50x50x50 = 1 MB памяти. Жутко...
Последний раз редактировалось Draeden 29 ноя 2019, 12:39, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
Георгий
Сообщений: 3985
Зарегистрирован: 14 дек 2008, 21:00

Поверхности.

Сообщение Георгий » 14 фев 2009, 17:27

Мне нравится тор. Можно делать самые разные сюжеты. Вот только что нашел:


Изображение
Последний раз редактировалось Георгий 29 ноя 2019, 12:39, всего редактировалось 1 раз.
Причина: test

vvvv
Сообщений: 873
Зарегистрирован: 19 сен 2008, 21:00

Поверхности.

Сообщение vvvv » 15 фев 2009, 13:52

Вот бутылки Клейна.Отрендерерить бы их.
Изображение
Изображение
Последний раз редактировалось vvvv 29 ноя 2019, 12:39, всего редактировалось 1 раз.
Причина: test

Draeden
Сообщений: 1613
Зарегистрирован: 24 ноя 2007, 21:00

Поверхности.

Сообщение Draeden » 15 фев 2009, 14:27

Напишите уравнение, попробую красиво отрендерить.
Последний раз редактировалось Draeden 29 ноя 2019, 12:39, всего редактировалось 1 раз.
Причина: test

Draeden
Сообщений: 1613
Зарегистрирован: 24 ноя 2007, 21:00

Поверхности.

Сообщение Draeden » 15 фев 2009, 16:07

Обнаружил "скрытые" возможности Wolfram: компилирование выражений. Я строил таблицу чисел 300x300 после чего рисовал контурные поверхности c помощью ListContourPlot, т.e. имитировал работу ContourPlot. Каждый этап замерен таймером. Из полученной таблицы видно, что при простой записи вида:

Код: Выбрать все

ContourPlot[Sin[x] + Cos[y], {x, -1, 2}, {y, -3, 5}]


производительность падает в двух местах. Первое место: ContourPlot подставляет точки (x, y) в заданную функцию которая вычисляется символьно. Второе место: ContoutPlot строит линии уровня по созданной таблице значений функции. Эти значения не вещественные (как double или float), они хранятся в каком то внутреннем формате, хранящим большую точность. Правильно писать так:

Код: Выбрать все

ContourPlot[Compile[{x, y}, Sin[x] + Cos[y]], {x, -2, 7}, {y, -3, 4}, PlotPoints -> 100]
Последний раз редактировалось Draeden 29 ноя 2019, 12:39, всего редактировалось 1 раз.
Причина: test

vvvv
Сообщений: 873
Зарегистрирован: 19 сен 2008, 21:00

Поверхности.

Сообщение vvvv » 15 фев 2009, 17:20

Draeden писал(а):Source of the post
Напишите уравнение, попробую красиво отрендерить.

Уравнения нет, есть программка написанная на Mathcad`e, но Вы работаете в Математике.A если я пришлю массив (матрицы)?
Последний раз редактировалось vvvv 29 ноя 2019, 12:39, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
Георгий
Сообщений: 3985
Зарегистрирован: 14 дек 2008, 21:00

Поверхности.

Сообщение Георгий » 15 фев 2009, 17:27

Вот что нашел. He знаю - то это или нет:

[url=http://dic.academic.ru/dic.nsf/ruwiki/52754]http://dic.academic.ru/dic.nsf/ruwiki/52754[/url]

Параметризация

"Классическая параметризация " Бутылки Клейна:

При $$0\le;u\le;\pi;$$:

$$x=6cos u(1+sin u)+4r(1-\frac{cos u}{2})cos ucos v$$

$$y=16sin u+4r(1-\frac{cos u}{2})sin ucos v$$
$$ z=4r(1-\frac{cos u}{2})sin v$$

При $$\pi \le;u\le;2\pi;$$:

$$x=6cos u(1+sin u)-4r(1-\frac{cos u}{2})cos v$$

$$ y=16sin u$$

$$z=4r(1-\frac{cos u}{2})sin v$$

Бутылка Клейна в виде "восьмёрки " имеет довольно простую параметризацию:

: $$x = \left(r + cos\frac{u}{2}sin v - sin\frac{u}{2}sin 2v \right) cos u$$
$$ y = \left(r + cos\frac{u}{2}sin v - sin\frac{u}{2}sin 2v \right) sin u$$
$$ z = sin\frac{u}{2}sin v + cos\frac{u}{2}sin 2v$$

B этом виде самопересечение имеет форму геометрического круга в плоскости XY. Константа r равна радиусу круга. Параметр u задаёт угол на плоскости XY и v обозначает положение около 8-образного сечения.

PS Никак не мог отладить LaTex. Смотрите в оригинале по ссылке. (Bce-таки добил... B черновом варианте, вроде смотрится нормально).

У меня в Мапле так:

3 уравнения для дна бутылки:

(2.5+1.5*cos(v))*cos(u)
(2.5+1.5*cos(v))*sin(u)
-2.5*sin(v)

3 уравнения для средней части бутылки:

(2.5+1.5*cos(v))*cos(u)
(2.5+1.5*cos(v))*sin(u)
3*v

Для ручки:

2-2*cos(v)+sin(u)
cos(u)
3*v

Верх:

2+(2+cos(u))*cos(v)
sin(u)
3*Pi+(2+cos(u))*sin(v)

Сам еще не строил и не проверял.
Последний раз редактировалось Георгий 29 ноя 2019, 12:39, всего редактировалось 1 раз.
Причина: test

vvvv
Сообщений: 873
Зарегистрирован: 19 сен 2008, 21:00

Поверхности.

Сообщение vvvv » 15 фев 2009, 17:53

Георгий писал(а):Source of the post
Вот что нашел. He знаю - то это или нет:

[url=http://dic.academic.ru/dic.nsf/ruwiki/52754]http://dic.academic.ru/dic.nsf/ruwiki/52754[/url]

Параметризация

"Классическая параметризация " Бутылки Клейна:

При $$0\le;u\le;\pi;$$:

$$x=6cos u(1+sin u)+4r(1-\frac{cos u}{2})cos ucos v$$

$$y=16sin u+4r(1-\frac{cos u}{2})sin ucos v$$
$$ z=4r(1-\frac{cos u}{2})sin v$$

При $$\pi \le;u\le;2\pi;$$:

$$x=6cos u(1+sin u)-4r(1-\frac{cos u}{2})cos v$$

$$ y=16sin u$$

$$z=4r(1-\frac{cos u}{2})sin v$$

Бутылка Клейна в виде "восьмёрки " имеет довольно простую параметризацию:

: $$x = \left(r + cos\frac{u}{2}sin v - sin\frac{u}{2}sin 2v \right) cos u$$
$$ y = \left(r + cos\frac{u}{2}sin v - sin\frac{u}{2}sin 2v \right) sin u$$
$$ z = sin\frac{u}{2}sin v + cos\frac{u}{2}sin 2v$$

B этом виде самопересечение имеет форму геометрического круга в плоскости XY. Константа r равна радиусу круга. Параметр u задаёт угол на плоскости XY и v обозначает положение около 8-образного сечения.

PS Никак не мог отладить LaTex. Смотрите в оригинале по ссылке. (Bce-таки добил... B черновом варианте, вроде смотрится нормально).

Вот что получилось, но это не бутылка Клейна.
Изображение
Последний раз редактировалось vvvv 29 ноя 2019, 12:39, всего редактировалось 1 раз.
Причина: test


Вернуться в «Computer Science»

Кто сейчас на форуме

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