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

Уведомление

Icon
Error

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


Статус: Advanced Member

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

Сказал «Спасибо»: 50 раз
Поблагодарили: 151 раз в 103 постах
По точкам.

Пример 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)
Offline уни  
#2 Оставлено : 24 октября 2010 г. 20:27:15(UTC)
уни


Статус: Advanced Member

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

Сказал «Спасибо»: 50 раз
Поблагодарили: 151 раз в 103 постах
Пример 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 раз
Поблагодарили: 151 раз в 103 постах
Пример 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 раз
Поблагодарили: 151 раз в 103 постах
Пример 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 раз
Поблагодарили: 151 раз в 103 постах
Бублик построен в 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 раз
Поблагодарили: 151 раз в 103 постах
Ваша работа 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 раз
Поблагодарили: 151 раз в 103 постах
Вот документ с выкладками в 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 раз
Поблагодарили: 151 раз в 103 постах
Картинка у Алексея правильная, я ошибся при переписывании. Всё равно, построенная мной картинка верна Good правда не даёт полной картинки и вводит в некоторое заблуждение.


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


Статус: Advanced Member

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

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

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


Статус: Advanced Member

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

Сказал «Спасибо»: 50 раз
Поблагодарили: 151 раз в 103 постах
Тот же самый алгоритм (Лоренсена и Клайна - Марширующие кубы) для пространства 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 раз
Поблагодарили: 151 раз в 103 постах
Я проверял, Алексей Борисович 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
Мужчина
Российская Федерация

Сказал «Спасибо»: 261 раз
Поблагодарили: 5 раз в 5 постах
Автор: уни Перейти к цитате
Пример 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 раз
Поблагодарили: 151 раз в 103 постах
Нужно подобрать численный решатель для системы ДУ. В примере он выполнен в виде программы и этот вариант устарел уже, хотя должен быть работоспособен. Это решатель с фиксированным шагом. Можно попробовать другие решатели, в т.ч. для жестких систем. Нужно перебрать решатели из плагинов ODESolvers и DotNumerics, они имеют одинаковый интерфейс вызова. Также нужно уменьшить количество точек и шаг сетки. В любом случае, даже если какая-то картика будет, она не очень прояснит структуру поверхности.

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


Статус: Advanced Member

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

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



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

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