Статус: Advanced Member
Группы: Registered
Зарегистрирован: 02.06.2009(UTC)
Сообщений: 346
Сказал «Спасибо»: 50 раз Поблагодарили: 156 раз в 105 постах
По точкам.
Пример 1. Уравнение
f(x;y;z)←x^2+y^2+z^2+sin(4*x)+cos(3*y)+sin(2*z)-4.486 Документ:
Blobby2.sm Как это выглядит в Mathcad'е:
Blobby2.pdf Пояснения: Берётся одна начальная точка на поверхности. Далее алгоритм скользит вдоль поверхности и вычисляет точки вдоль перпендикулярных направлений. Сначала вычисляется одна линия поверхности как результат пересечения поверхности и плоскости, а затем эти найденные точки кривой используются для построения перпендикулярных линий пересечения поверхности и другой плоскости. Т.о. можно получить облако точек, принадлежащих поверхности.
Отредактировано пользователем 24 октября 2010 г. 20:20:43(UTC)
| Причина: Не указана
Россия навсегда! Вячеслав Мезенцев
1 пользователь поблагодарил уни за этот пост.
genf оставлено 25.01.2014(UTC)
Статус: Advanced Member
Группы: Registered
Зарегистрирован: 02.06.2009(UTC)
Сообщений: 346
Сказал «Спасибо»: 50 раз Поблагодарили: 156 раз в 105 постах
Пример 2. Уравнение Пфаффа "Камешек"
Документ:
Камешек.sm Проблемы с reverse(). Она не работает в связке со stack(). Такая конструкция не работает в программном блоке:
Код: вых:=stack(reverse(реш1);реш2)
Россия навсегда! Вячеслав Мезенцев
1 пользователь поблагодарил уни за этот пост.
genf оставлено 25.01.2014(UTC)
Статус: Advanced Member
Группы: Registered
Зарегистрирован: 02.06.2009(UTC)
Сообщений: 346
Сказал «Спасибо»: 50 раз Поблагодарили: 156 раз в 105 постах
Пример 3. Подушка
Уравнение:
f(x;y;z)←y^2+(x^2-y^2)^2+z^2-1 Документ:
Подушка.sm Россия навсегда! Вячеслав Мезенцев
1 пользователь поблагодарил уни за этот пост.
genf оставлено 25.01.2014(UTC)
Статус: Advanced Member
Группы: Registered
Зарегистрирован: 02.06.2009(UTC)
Сообщений: 346
Сказал «Спасибо»: 50 раз Поблагодарили: 156 раз в 105 постах
Пример 4. Бублик
Уравнение:
a←1 c←1.1 f(x;y;z)←(c-sqrt(x^4+y^4))^2+sin(z)^2-a^2 Будет желание, посчитайте:
Бублик.sm Россия навсегда! Вячеслав Мезенцев
2 пользователей поблагодарили уни за этот пост.
Статус: Advanced Member
Группы: Developers, Registered Зарегистрирован: 28.08.2009(UTC) Сообщений: 127
Сказал(а) «Спасибо»: 19 раз Поблагодарили: 4 раз в 4 постах
Бублик особенно крут. Классно!
Статус: Advanced Member
Группы: Registered
Зарегистрирован: 02.06.2009(UTC)
Сообщений: 346
Сказал «Спасибо»: 50 раз Поблагодарили: 156 раз в 105 постах
Бублик построен в Mathcad, также как и мой аватар. Если бы вычисления происходили на низком уровне в неуправляемом коде на уровне ассемблера, то можно было бы строить картинки красивее, а так время тратится на интерпретацию и многочисленных посредников.
Отредактировано пользователем 25 октября 2010 г. 7:56:59(UTC)
| Причина: Не указана
Россия навсегда! Вячеслав Мезенцев
Статус: Member
Группы: Registered
Зарегистрирован: 04.04.2010(UTC) Сообщений: 16 Откуда: Ростов
уни написал: Пример 4. Бублик
Уравнение:
a←1 c←1.1 f(x;y;z)←(c-sqrt(x^4+y^4))^2+sin(z)^2-a^2 Будет желание, посчитайте:
Бублик.sm Вячеслав Николаевич, чего это Вы? Картинка совсем не такая. Ведь поверхность неограниченная…
Отредактировано пользователем 29 октября 2010 г. 20:40:09(UTC)
| Причина: Не указана
Статус: Advanced Member
Группы: Registered
Зарегистрирован: 02.06.2009(UTC)
Сообщений: 346
Сказал «Спасибо»: 50 раз Поблагодарили: 156 раз в 105 постах
Ваша работа
вот найду, покажу... по-моему у Вас там такой же получался, я и не стал дальше копать, тем более для Маткада это делать труднее.
Россия навсегда! Вячеслав Мезенцев
Статус: Member
Группы: Registered
Зарегистрирован: 04.04.2010(UTC) Сообщений: 16 Откуда: Ростов
уни написал: Ваша работа
вот найду, покажу... по-моему у Вас там такой же получался, я и не стал дальше копать, тем более для Маткада это делать труднее.
Так что же, и я когда-то молод был, горяч, спешил… Значит и там, где было, надо бы исправить. Поэтому и говорю о развитии, а не о повторе старого…
Статус: Advanced Member
Группы: Registered
Зарегистрирован: 02.06.2009(UTC)
Сообщений: 346
Сказал «Спасибо»: 50 раз Поблагодарили: 156 раз в 105 постах
Вот документ с выкладками в Mathcad'е:
Бублик.pdf И у меня и у Вас была нарисована правда, просто от стыка видимо отскочил решатель:
f(x;y;z)←(1.1-sqrt(x^4+y^4))^2+sin(z^2)-1^2 - я поспешил, тут
z^2 , а не
sin(z)^2 Ааа, я начальную точку взял не точно
и ориентация секущих плоскостей возможно неудачна - это yOz и xOy. Может надо было покосее взять. Для сфер формулы получаются страшнее, а самое главное, Маткад их считает дольше. Вот и причина таких "казусов".
Отредактировано пользователем 30 октября 2010 г. 11:15:54(UTC)
| Причина: Не указана
Россия навсегда! Вячеслав Мезенцев
Статус: Advanced Member
Группы: Registered
Зарегистрирован: 02.06.2009(UTC)
Сообщений: 346
Сказал «Спасибо»: 50 раз Поблагодарили: 156 раз в 105 постах
Картинка у Алексея правильная, я ошибся при переписывании. Всё равно, построенная мной картинка верна
правда не даёт полной картинки и вводит в некоторое заблуждение.
Мою реализацию следует использовать немножко по-другому. При использовании вспомогательных сфер меняется только дифурчик.
Россия навсегда! Вячеслав Мезенцев
Статус: Advanced Member
Группы: Registered
Зарегистрирован: 02.06.2009(UTC)
Сообщений: 346
Сказал «Спасибо»: 50 раз Поблагодарили: 156 раз в 105 постах
Если убрать соединительные линии между отрезками, то будет красиво работать:
Документ:
implicitplot2d.sm Россия навсегда! Вячеслав Мезенцев
Статус: Advanced Member
Группы: Registered
Зарегистрирован: 02.06.2009(UTC)
Сообщений: 346
Сказал «Спасибо»: 50 раз Поблагодарили: 156 раз в 105 постах
Россия навсегда! Вячеслав Мезенцев
Статус: Member
Группы: Registered
Зарегистрирован: 04.04.2010(UTC) Сообщений: 16 Откуда: Ростов
Не хотелось Вас огорчать, но на всякий случай проверьте картинку, Вас здесь представляющую. Если, конечно, это ей соответствует:
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
Статус: Advanced Member
Группы: Registered
Зарегистрирован: 02.06.2009(UTC)
Сообщений: 346
Сказал «Спасибо»: 50 раз Поблагодарили: 156 раз в 105 постах
Я проверял, Алексей Борисович
Меня трудно огорчить.
Код: 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]);
Эту картинку я поэлементно создавал, перебрав кучу вариантов. То, что это именно она можно и вручную посмотреть, сделав ряд преобразований и упрощений.
Вот ещё подобная формула (у меня есть несколько вариаций на эту тему):
Отредактировано пользователем 31 октября 2010 г. 22:29:39(UTC)
| Причина: Не указана
Россия навсегда! Вячеслав Мезенцев
Статус: Advanced Member
Группы: Registered
Зарегистрирован: 02.12.2010(UTC)
Сообщений: 93
Сказал «Спасибо»: 311 раз Поблагодарили: 7 раз в 6 постах
Автор: уни Пример 4. Бублик
Уравнение:
a←1 c←1.1 f(x;y;z)←(c-sqrt(x^4+y^4))^2+sin(z)^2-a^2 Будет желание, посчитайте:
Бублик.sm Не смог посчитать. Ошибка - "Значение вышло за пределы максимально допустимого положительного числа" (скриншот прилагаю)
Пользователь genf прикрепил следующие файлы:
Ученье свет!
Статус: Advanced Member
Группы: Registered
Зарегистрирован: 02.06.2009(UTC)
Сообщений: 346
Сказал «Спасибо»: 50 раз Поблагодарили: 156 раз в 105 постах
Нужно подобрать численный решатель для системы ДУ. В примере он выполнен в виде программы и этот вариант устарел уже, хотя должен быть работоспособен. Это решатель с фиксированным шагом. Можно попробовать другие решатели, в т.ч. для жестких систем. Нужно перебрать решатели из плагинов ODESolvers и DotNumerics, они имеют одинаковый интерфейс вызова. Также нужно уменьшить количество точек и шаг сетки. В любом случае, даже если какая-то картика будет, она не очень прояснит структуру поверхности. Этот пример довольно сложный для SMath Studio.
Россия навсегда! Вячеслав Мезенцев
Статус: Advanced Member
Группы: Registered
Зарегистрирован: 22.03.2010(UTC)
Сообщений: 223
Откуда: Beer-Sheva
Сказал «Спасибо»: 173 раз Поблагодарили: 256 раз в 133 постах
Уни,Ваш плагин rkfixed с фиксированным шагом прекрасно работает
с Вашими же примерами.Поверхности отображены на плоские графики.
Отредактировано пользователем 15 апреля 2014 г. 22:44:45(UTC)
| Причина: Не указана
Вложение(я):
PBB.smz (126kb) загружен 51 раз(а).
1 пользователь поблагодарил Ber7 за этот пост.
уни оставлено 15.04.2014(UTC)
Быстрый переход
Форум проекта SMath
SMath Studio
- Скачать SMath Studio
--- Архив
--- Ночные сборки
- Примеры использования
- Вопросы по использованию
- Предложения
- Ошибки
Математика
- Документы
- Алгоритмы
- Математические задачи
Общение
- О проекте
- Общение
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.