Математический форум Math Help Planet
Обсуждение и решение задач по математике, физике, химии, экономике Теоретический раздел |
Часовой пояс: UTC + 3 часа [ Летнее время ] |
новый онлайн-сервис число, сумма и дата прописью |
|
Часовой пояс: UTC + 3 часа [ Летнее время ] |
Страница 2 из 3 |
[ Сообщений: 21 ] | На страницу Пред. 1, 2, 3 След. |
|
Автор | Сообщение | |
---|---|---|
Excalibur921 |
|
|
Подскажете как с RunScheduledTask обновлять координаты точки на графике от координат мышки? Или помочь накидать код таскания одной точки? Наверно с RunScheduledTask. ===================== RadiusClick=12 MouseClick = X,Y нажатия левой кнопки -------------- -------------- прерывание таймера timer0 Если { RascZakon4en==1} то {вывод графики из буфера} иначе выход } -------------- -------------- Отпуск левой кнопки мышки{ если LmouseDown!=1 то выход иначе LmouseDown=0 timer0=0 остановка таймера } -------------- -------------- Нажатие левой кнопки мышки { Если {"расстояние MouseClick и xA yA">RadiusClick} // не попадание на точку A то {выход} иначе {LmouseDown=1,запуск таймера с циклами 0.016 сек timer0=1} } -------------- -------------- Если {LmouseDown==1} то RascZakon4en=0,(много расчетов основной код программы),(отрисовка графики в буфер),RascZakon4en=1} -------------- |
||
Вернуться к началу | ||
SAVANTOS |
|
|
Можно попробовать конструкцию с Manipulate, используя Locator.
|
||
Вернуться к началу | ||
Excalibur921 |
|
|
SAVANTOS писал(а): Можно попробовать конструкцию с Manipulate, используя Locator. Также и ее пробовал. Лаги еще больше. Я думаю лучше чем с RunScheduledTask Простого таскания точки ничего не будет. Сделать расчет внутри функции а вывод в другой по алгоритму выше, но не знаю синтаксиса, пытался но ничего… Все-таки хотелось бы сделать в Mathematica т.к. дальше хочу попробовать многопараметрическую нелинейную оптимизацию. Но все больше склоняюсь что намного быстрей сделать все самому на С++( и возможно с ассемблерными вставками) и OpenGL изучив и разобрав методы оптимизации... |
||
Вернуться к началу | ||
SAVANTOS |
|
|
Я вам написал ЛС с информацией куда можно обратиться к профессионалам за помощью.
|
||
Вернуться к началу | ||
Excalibur921 |
|
|
SAVANTOS писал(а): Я вам написал ЛС Так я ответил давно. А может тут подскажете почему не работают? RunScheduledTask[a0=MousePosition[{"Graphics",Graphics},{0,0}],3], Graphics[ Point[[a0]] ] Slider[Dynamic[a],{0,10}]; ControllerManipulate[Plot[{Sin[x+a]+b,Sinc[x+c]+d},{x,-2Pi,2Pi},PlotRange2],{a,0,10},{b,0,1},{c,0,10},{d,0,1}] |
||
Вернуться к началу | ||
SAVANTOS |
|
|
Я с такими конструкциями не сталкивался, поэтому не могу сказать.
|
||
Вернуться к началу | ||
Excalibur921 |
|
|
Исправил, всеравно не хочет читать с массива p1[[]].
Причина всего в двух строчках: может нужно data=Table… не понимаю как сделать. Или записать array а в Table просто брать типа Array[1,1]. Указатель но как не знаю не хочет. Это наверно самый лучший вариант. (*-----Eror----*) (*p0[{1,1}]+(Cos[Angle]*0.2), (*<--------------------------Eror*) p0[{1,2}]+(Sin[Angle]*0.2)*) (*-----Eror----*) Вот готовый фаил работает: https://dropmefiles.com/YAjZp |
||
Вернуться к началу | ||
Excalibur921 |
|
|
И так не хочет:
Angle2 = 0.1; |
||
Вернуться к началу | ||
Excalibur921 |
|
|
Теперь работает правильно, сделал через адекватные массивы и циклы. Как я и думал те рукожопы из wolfram намудрили в Table.
Баг 1. Если в Table1 бралась переменная, то ее нельзя брать в Table2. Сбоит в формуле и не говорит об ошибке. Баг2. Указатели на массив типа a1[[i,1]]=a0[[2,1]]+Cos[Angle2]*0.2; Не будут работать внутри Table, вообще в Table лучше рисовать точки и ничего не считать. Суть: создается пустой массив, в For заполняется, в Table пробегает по указателям на массив. По другому не пашет не знаю, 5 форумов не помогли =)… вообще жутко лаговая вещь эта Mathematica. {xA, yA} = {0, 0}; |
||
Вернуться к началу | ||
SAVANTOS |
|
|
Процедурный стиль программирования не любят в Wolfram Mathematica. Обычно всё делают в функциональном стиле.
|
||
Вернуться к началу | ||
На страницу Пред. 1, 2, 3 След. | [ Сообщений: 21 ] |
Похожие темы | Автор | Ответы | Просмотры | Последнее сообщение |
---|---|---|---|---|
Индекс массива является не допустимым для этого массива
в форуме MathCad |
9 |
695 |
04 янв 2022, 19:38 |
|
Доступ к Matlab из стороних приложений через COM(DCOM). Как?
в форуме MATLAB |
0 |
318 |
26 май 2017, 10:12 |
|
Найти компоненту тензора в новом базисе
в форуме Линейная и Абстрактная алгебра |
1 |
229 |
04 июн 2023, 19:24 |
|
Найти 1ую главную компоненту и проекции выборки
в форуме Линейная и Абстрактная алгебра |
0 |
196 |
17 май 2020, 21:12 |
|
Построить график по данным из массива
в форуме MathCad |
18 |
212 |
21 июн 2023, 19:12 |
|
Быстрый поиск элементов массива
в форуме Численные методы |
0 |
409 |
26 сен 2014, 14:14 |
|
Поменять местами элементы массива - C++
в форуме Информатика и Компьютерные науки |
1 |
701 |
25 окт 2016, 15:08 |
|
Обращение к элементу массива ячеек
в форуме MATLAB |
0 |
460 |
14 апр 2015, 22:35 |
|
Прикладная задача с оценкой массива данных | 3 |
273 |
20 апр 2017, 11:43 |
|
Задача оптимизации числового ряда / массива | 0 |
485 |
25 ноя 2014, 23:52 |
Часовой пояс: UTC + 3 часа [ Летнее время ] |
Кто сейчас на конференции |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7 |
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения |