Русскоязычный форум закрыт из-за отсутствия активности (доступен только для чтения).
Пожалуйста, пользуйтесь англоязычной его версией. Приносим извинения за неудобства
Добро пожаловать, Гость! Чтобы использовать все возможности Вход. Новые регистрации запрещены.

Уведомление

Icon
Error

Вход


Опции
К последнему сообщению К первому непрочитанному
Offline уни  
#1 Оставлено : 24 октября 2010 г. 20:08:53(UTC)
уни


Статус: 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)  | Причина: Не указана

Россия навсегда!
Вячеслав Мезенцев
thanks 1 пользователь поблагодарил уни за этот пост.
genf оставлено 25.01.2014(UTC)

Wanna join the discussion?! Login to your Форум проекта SMath forum account. Новые регистрации запрещены.

Offline уни  
#2 Оставлено : 24 октября 2010 г. 20:27:15(UTC)
уни


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 02.06.2009(UTC)
Сообщений: 346
Мужчина
Российская Федерация

Сказал «Спасибо»: 50 раз
Поблагодарили: 156 раз в 105 постах
Пример 2. Уравнение Пфаффа "Камешек"


Документ: Камешек.sm

Проблемы с reverse(). Она не работает в связке со stack(). Такая конструкция не работает в программном блоке:
Код:
вых:=stack(reverse(реш1);реш2)
Россия навсегда!
Вячеслав Мезенцев
thanks 1 пользователь поблагодарил уни за этот пост.
genf оставлено 25.01.2014(UTC)
Offline уни  
#3 Оставлено : 24 октября 2010 г. 20:50:52(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
Россия навсегда!
Вячеслав Мезенцев
thanks 1 пользователь поблагодарил уни за этот пост.
genf оставлено 25.01.2014(UTC)
Offline уни  
#4 Оставлено : 24 октября 2010 г. 21:30:05(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
Россия навсегда!
Вячеслав Мезенцев
thanks 2 пользователей поблагодарили уни за этот пост.
build_your_web оставлено 24.10.2010(UTC), genf оставлено 25.01.2014(UTC)
Offline build_your_web  
#5 Оставлено : 24 октября 2010 г. 23:50:35(UTC)
build_your_web


Статус: Advanced Member

Группы: Developers, Registered
Зарегистрирован: 28.08.2009(UTC)
Сообщений: 127

Сказал(а) «Спасибо»: 19 раз
Поблагодарили: 4 раз в 4 постах
Бублик особенно крут. Классно!
Offline уни  
#6 Оставлено : 25 октября 2010 г. 6:39:26(UTC)
уни


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 02.06.2009(UTC)
Сообщений: 346
Мужчина
Российская Федерация

Сказал «Спасибо»: 50 раз
Поблагодарили: 156 раз в 105 постах
Бублик построен в Mathcad, также как и мой аватар. Если бы вычисления происходили на низком уровне в неуправляемом коде на уровне ассемблера, то можно было бы строить картинки красивее, а так время тратится на интерпретацию и многочисленных посредников.

Отредактировано пользователем 25 октября 2010 г. 7:56:59(UTC)  | Причина: Не указана

Россия навсегда!
Вячеслав Мезенцев
Offline alekcey  
#7 Оставлено : 29 октября 2010 г. 20:37:41(UTC)
alekcey


Статус: 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)  | Причина: Не указана

Offline уни  
#8 Оставлено : 29 октября 2010 г. 20:49:27(UTC)
уни


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 02.06.2009(UTC)
Сообщений: 346
Мужчина
Российская Федерация

Сказал «Спасибо»: 50 раз
Поблагодарили: 156 раз в 105 постах
Ваша работа Good вот найду, покажу... по-моему у Вас там такой же получался, я и не стал дальше копать, тем более для Маткада это делать труднее.
Россия навсегда!
Вячеслав Мезенцев
Offline alekcey  
#9 Оставлено : 29 октября 2010 г. 21:11:39(UTC)
alekcey


Статус: Member

Группы: Registered
Зарегистрирован: 04.04.2010(UTC)
Сообщений: 16
Откуда: Ростов

уни написал:
Ваша работа Good вот найду, покажу... по-моему у Вас там такой же получался, я и не стал дальше копать, тем более для Маткада это делать труднее.

Так что же, и я когда-то молод был, горяч, спешил… Значит и там, где было, надо бы исправить. Поэтому и говорю о развитии, а не о повторе старого…
Offline уни  
#10 Оставлено : 29 октября 2010 г. 21:27:58(UTC)
уни


Статус: 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


Ааа, я начальную точку взял не точно Good и ориентация секущих плоскостей возможно неудачна - это yOz и xOy. Может надо было покосее взять. Для сфер формулы получаются страшнее, а самое главное, Маткад их считает дольше. Вот и причина таких "казусов".

Отредактировано пользователем 30 октября 2010 г. 11:15:54(UTC)  | Причина: Не указана

Россия навсегда!
Вячеслав Мезенцев
Offline уни  
#11 Оставлено : 30 октября 2010 г. 11:21:55(UTC)
уни


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 02.06.2009(UTC)
Сообщений: 346
Мужчина
Российская Федерация

Сказал «Спасибо»: 50 раз
Поблагодарили: 156 раз в 105 постах
Картинка у Алексея правильная, я ошибся при переписывании. Всё равно, построенная мной картинка верна Good правда не даёт полной картинки и вводит в некоторое заблуждение.


Мою реализацию следует использовать немножко по-другому. При использовании вспомогательных сфер меняется только дифурчик.
Россия навсегда!
Вячеслав Мезенцев
Offline уни  
#12 Оставлено : 30 октября 2010 г. 17:16:24(UTC)
уни


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 02.06.2009(UTC)
Сообщений: 346
Мужчина
Российская Федерация

Сказал «Спасибо»: 50 раз
Поблагодарили: 156 раз в 105 постах
Если убрать соединительные линии между отрезками, то будет красиво работать:

Документ: implicitplot2d.sm
Россия навсегда!
Вячеслав Мезенцев
Offline уни  
#13 Оставлено : 31 октября 2010 г. 8:46:50(UTC)
уни


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 02.06.2009(UTC)
Сообщений: 346
Мужчина
Российская Федерация

Сказал «Спасибо»: 50 раз
Поблагодарили: 156 раз в 105 постах
Тот же самый алгоритм (Лоренсена и Клайна - Марширующие кубы) для пространства 3D:

Документ: implicitplot3d_параболоид.sm
Дополнительные файлы: edgeTable и triTable

П.С.: Если убрать соединительные линии, то будет красиво.
Алгоритм: http://www.graphicon.ru/...urses/cg03b/assigns/hw6/
Россия навсегда!
Вячеслав Мезенцев
Offline alekcey  
#14 Оставлено : 31 октября 2010 г. 22:07:12(UTC)
alekcey


Статус: 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
Offline уни  
#15 Оставлено : 31 октября 2010 г. 22:12:07(UTC)
уни


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 02.06.2009(UTC)
Сообщений: 346
Мужчина
Российская Федерация

Сказал «Спасибо»: 50 раз
Поблагодарили: 156 раз в 105 постах
Я проверял, Алексей Борисович Good
Меня трудно огорчить.
Код:
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)  | Причина: Не указана

Россия навсегда!
Вячеслав Мезенцев
Offline genf  
#16 Оставлено : 25 января 2014 г. 19:39:04(UTC)
genf


Статус: 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 прикрепил следующие файлы:
Скриншот 2014-01-25 20.36.07.png
Ученье свет!
Offline уни  
#17 Оставлено : 25 января 2014 г. 21:35:46(UTC)
уни


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 02.06.2009(UTC)
Сообщений: 346
Мужчина
Российская Федерация

Сказал «Спасибо»: 50 раз
Поблагодарили: 156 раз в 105 постах
Нужно подобрать численный решатель для системы ДУ. В примере он выполнен в виде программы и этот вариант устарел уже, хотя должен быть работоспособен. Это решатель с фиксированным шагом. Можно попробовать другие решатели, в т.ч. для жестких систем. Нужно перебрать решатели из плагинов ODESolvers и DotNumerics, они имеют одинаковый интерфейс вызова. Также нужно уменьшить количество точек и шаг сетки. В любом случае, даже если какая-то картика будет, она не очень прояснит структуру поверхности.

Этот пример довольно сложный для SMath Studio.
Россия навсегда!
Вячеслав Мезенцев
Offline Ber7  
#18 Оставлено : 15 апреля 2014 г. 18:19:33(UTC)
Ber7


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 22.03.2010(UTC)
Сообщений: 223
Мужчина
Израиль
Откуда: Beer-Sheva

Сказал «Спасибо»: 173 раз
Поблагодарили: 256 раз в 133 постах
Уни,Ваш плагин rkfixed с фиксированным шагом прекрасно работает
с Вашими же примерами.Поверхности отображены на плоские графики.



Отредактировано пользователем 15 апреля 2014 г. 22:44:45(UTC)  | Причина: Не указана

Вложение(я):
PBB.smz (126kb) загружен 51 раз(а).
Kameshek1.smz (109kb) загружен 50 раз(а).
Метод расчета рычажных механизмов :
http://www.exponenta.ru/...litskiy-ivanov/index.asp
thanks 1 пользователь поблагодарил Ber7 за этот пост.
уни оставлено 15.04.2014(UTC)
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.