1 Pages (18 items)
Визуализация поверхностей - Messages
#1 Posted: 10/24/2010 1:08:53 PM
По точкам.
Пример 1. Уравнение [MATH]f(x;y;z)←x^2+y^2+z^2+sin(4*x)+cos(3*y)+sin(2*z)-4.486[/MATH]

Документ: Blobby2.sm
Как это выглядит в Mathcad'е: Blobby2.pdf
Пояснения: Берётся одна начальная точка на поверхности. Далее алгоритм скользит вдоль поверхности и вычисляет точки вдоль перпендикулярных направлений. Сначала вычисляется одна линия поверхности как результат пересечения поверхности и плоскости, а затем эти найденные точки кривой используются для построения перпендикулярных линий пересечения поверхности и другой плоскости. Т.о. можно получить облако точек, принадлежащих поверхности.
Пример 1. Уравнение [MATH]f(x;y;z)←x^2+y^2+z^2+sin(4*x)+cos(3*y)+sin(2*z)-4.486[/MATH]
Документ: Blobby2.sm
Как это выглядит в Mathcad'е: Blobby2.pdf
Пояснения: Берётся одна начальная точка на поверхности. Далее алгоритм скользит вдоль поверхности и вычисляет точки вдоль перпендикулярных направлений. Сначала вычисляется одна линия поверхности как результат пересечения поверхности и плоскости, а затем эти найденные точки кривой используются для построения перпендикулярных линий пересечения поверхности и другой плоскости. Т.о. можно получить облако точек, принадлежащих поверхности.
Россия навсегда!
Вячеслав Мезенцев
1 users liked this post
Serg 1/25/2014 12:34:00 PM
#2 Posted: 10/24/2010 1:27:15 PM
Пример 2. Уравнение Пфаффа "Камешек"

Документ: Камешек.sm
Проблемы с reverse(). Она не работает в связке со stack(). Такая конструкция не работает в программном блоке:
Документ: Камешек.sm
Проблемы с reverse(). Она не работает в связке со stack(). Такая конструкция не работает в программном блоке:
вых:=stack(reverse(реш1);реш2)
Россия навсегда!
Вячеслав Мезенцев
1 users liked this post
Serg 1/25/2014 12:34:00 PM
#3 Posted: 10/24/2010 1:50:52 PM
Россия навсегда!
Вячеслав Мезенцев
1 users liked this post
Serg 1/25/2014 12:34:00 PM
#4 Posted: 10/24/2010 2:30:05 PM
Пример 4. Бублик
Уравнение: [MATH]a←1[/MATH] [MATH]c←1.1[/MATH] [MATH]f(x;y;z)←(c-sqrt(x^4+y^4))^2+sin(z)^2-a^2[/MATH]

Будет желание, посчитайте: Бублик.sm
Уравнение: [MATH]a←1[/MATH] [MATH]c←1.1[/MATH] [MATH]f(x;y;z)←(c-sqrt(x^4+y^4))^2+sin(z)^2-a^2[/MATH]
Будет желание, посчитайте: Бублик.sm
Россия навсегда!
Вячеслав Мезенцев
2 users liked this post
#5 Posted: 10/24/2010 4:50:35 PM
Бублик особенно крут. Классно!
#6 Posted: 10/24/2010 11:39:26 PM
Бублик построен в Mathcad, также как и мой аватар. Если бы вычисления происходили на низком уровне в неуправляемом коде на уровне ассемблера, то можно было бы строить картинки красивее, а так время тратится на интерпретацию и многочисленных посредников.
[YOUTUBE]http://www.youtube.com/watch?v=EGbHbFCEtR8[/YOUTUBE]
[YOUTUBE]http://www.youtube.com/watch?v=EGbHbFCEtR8[/YOUTUBE]
Россия навсегда!
Вячеслав Мезенцев
#7 Posted: 10/29/2010 1:37:41 PM
#8 Posted: 10/29/2010 1:49:27 PM
Ваша работа
вот найду, покажу... по-моему у Вас там такой же получался, я и не стал дальше копать, тем более для Маткада это делать труднее.

Россия навсегда!
Вячеслав Мезенцев
#9 Posted: 10/29/2010 2:11:39 PM
WroteВаша работа
вот найду, покажу... по-моему у Вас там такой же получался, я и не стал дальше копать, тем более для Маткада это делать труднее.
Так что же, и я когда-то молод был, горяч, спешил… Значит и там, где было, надо бы исправить. Поэтому и говорю о развитии, а не о повторе старого…
#10 Posted: 10/29/2010 2:27:58 PM
Вот документ с выкладками в Mathcad'е: Бублик.pdf
И у меня и у Вас была нарисована правда, просто от стыка видимо отскочил решатель:
[MATH]f(x;y;z)←(1.1-sqrt(x^4+y^4))^2+sin(z^2)-1^2[/MATH] - я поспешил, тут [MATH]z^2[/MATH], а не [MATH]sin(z)^2[/MATH]

Ааа, я начальную точку взял не точно
и ориентация секущих плоскостей возможно неудачна - это yOz и xOy. Может надо было покосее взять. Для сфер формулы получаются страшнее, а самое главное, Маткад их считает дольше. Вот и причина таких "казусов".
И у меня и у Вас была нарисована правда, просто от стыка видимо отскочил решатель:
[MATH]f(x;y;z)←(1.1-sqrt(x^4+y^4))^2+sin(z^2)-1^2[/MATH] - я поспешил, тут [MATH]z^2[/MATH], а не [MATH]sin(z)^2[/MATH]
Ааа, я начальную точку взял не точно

Россия навсегда!
Вячеслав Мезенцев
#11 Posted: 10/30/2010 4:21:55 AM
Картинка у Алексея правильная, я ошибся при переписывании. Всё равно, построенная мной картинка верна
правда не даёт полной картинки и вводит в некоторое заблуждение.

Мою реализацию следует использовать немножко по-другому. При использовании вспомогательных сфер меняется только дифурчик.

Мою реализацию следует использовать немножко по-другому. При использовании вспомогательных сфер меняется только дифурчик.
Россия навсегда!
Вячеслав Мезенцев
#12 Posted: 10/30/2010 10:16:24 AM
Если убрать соединительные линии между отрезками, то будет красиво работать:

Документ: implicitplot2d.sm
Документ: implicitplot2d.sm
Россия навсегда!
Вячеслав Мезенцев
#13 Posted: 10/31/2010 2:46:50 AM
Тот же самый алгоритм (Лоренсена и Клайна - Марширующие кубы) для пространства 3D:

Документ: implicitplot3d_параболоид.sm
Дополнительные файлы: edgeTable и triTable
П.С.: Если убрать соединительные линии, то будет красиво.
Алгоритм: http://www.graphicon.ru/oldgr/courses/cg03b/assigns/hw6/
Документ: implicitplot3d_параболоид.sm
Дополнительные файлы: edgeTable и triTable
П.С.: Если убрать соединительные линии, то будет красиво.
Алгоритм: http://www.graphicon.ru/oldgr/courses/cg03b/assigns/hw6/
Россия навсегда!
Вячеслав Мезенцев
#14 Posted: 10/31/2010 4:07:12 PM
Wrote...
Не хотелось Вас огорчать, но на всякий случай проверьте картинку, Вас здесь представляющую. Если, конечно, это ей соответствует:
1 + (((x-0.61*cos(0.5*Pi*x))^2 +(y-0.61*cos(0.5*Pi*y))^2-0.9)^2 + (2*z)^2)*(((x^8+y^8+z^8)*0.4^8)^6-1) = 0
#15 Posted: 10/31/2010 4:12:07 PM
Я проверял, Алексей Борисович 
Меня трудно огорчить.
Эту картинку я поэлементно создавал, перебрав кучу вариантов. То, что это именно она можно и вручную посмотреть, сделав ряд преобразований и упрощений.
Вот ещё подобная формула (у меня есть несколько вариаций на эту тему):
[YOUTUBE]http://www.youtube.com/watch?v=ejZv9vcBlgI[/YOUTUBE]

Меня трудно огорчить.
with(plots):
implicitplot3d(1 + (((x-0.61*cos(0.5*Pi*x))^2 +(y-0.61*cos(0.5*Pi*y))^2-0.9)^2 + (2*z)^2)*(((x^8+y^8+z^8)*0.4^8)^6-1)=0, x=-3..3, y=-3..3, z=-3..3, grid=[21,21,21]);
Вот ещё подобная формула (у меня есть несколько вариаций на эту тему):
[YOUTUBE]http://www.youtube.com/watch?v=ejZv9vcBlgI[/YOUTUBE]
Россия навсегда!
Вячеслав Мезенцев
#16 Posted: 1/25/2014 12:39:04 PM
WroteПример 4. Бублик
Уравнение: [MATH]a←1[/MATH] [MATH]c←1.1[/MATH] [MATH]f(x;y;z)←(c-sqrt(x^4+y^4))^2+sin(z)^2-a^2[/MATH]
Будет желание, посчитайте: Бублик.sm
Не смог посчитать. Ошибка - "Значение вышло за пределы максимально допустимого положительного числа" (скриншот прилагаю)
Ученье свет!
#17 Posted: 1/25/2014 2:35:46 PM
Нужно подобрать численный решатель для системы ДУ. В примере он выполнен в виде программы и этот вариант устарел уже, хотя должен быть работоспособен. Это решатель с фиксированным шагом. Можно попробовать другие решатели, в т.ч. для жестких систем. Нужно перебрать решатели из плагинов ODESolvers и DotNumerics, они имеют одинаковый интерфейс вызова. Также нужно уменьшить количество точек и шаг сетки. В любом случае, даже если какая-то картика будет, она не очень прояснит структуру поверхности.
Этот пример довольно сложный для SMath Studio.
Этот пример довольно сложный для SMath Studio.
Россия навсегда!
Вячеслав Мезенцев
#18 Posted: 4/15/2014 11:19:33 AM
Уни,Ваш плагин rkfixed с фиксированным шагом прекрасно работает
с Вашими же примерами.Поверхности отображены на плоские графики.



Kameshek1.smz (108 KiB) downloaded 75 time(s).
с Вашими же примерами.Поверхности отображены на плоские графики.




Kameshek1.smz (108 KiB) downloaded 75 time(s).
Метод расчета рычажных механизмов :
http://www.exponenta.ru/educat/systemat/selitskiy-ivanov/index.asp
1 users liked this post
уни 4/15/2014 1:42:00 PM
1 Pages (18 items)
-
New Posts
-
No New Posts