Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
 Аватар для matviiv
429 / 313 / 129
Регистрация: 09.02.2021
Сообщений: 1,096
Записей в блоге: 1

Анимация системи уравнений движения

02.11.2021, 18:59. Показов 2653. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
WindowsFormsApp6.rar
Почему то не рисует и не могу понять как сделать анимацию.Фигура движения квадрат
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.11.2021, 18:59
Ответы с готовыми решениями:

Анимация движения
Подскажите, как создать анимацию движущегося человечка на Windows Forms без OpenGL и прочего

Анимация движения по спирали
Ребята, помогите с решениям задачи. Нужно создать приложение, отображающее движение окружности по спирали. Знаю, что нужно использовать...

Анимация движения шарика по параболе
Помогите написать программу для движения шарика с регулируемой скоростью . График функции у = х*х Пример работы(но он работает...

20
 Аватар для roach1967
983 / 463 / 233
Регистрация: 27.06.2014
Сообщений: 1,033
02.11.2021, 20:27
В программе при выполнении коэффициент ky = 6.34767E-37. Это нормально?
Видимо где-то забыли поиск тех самых значений по y
Да и по x не совсем адекватный коэффициент
0
 Аватар для matviiv
429 / 313 / 129
Регистрация: 09.02.2021
Сообщений: 1,096
Записей в блоге: 1
02.11.2021, 20:36  [ТС]
roach1967, брал програму з интернета как пример,и переделал под свою задачу ,но видно не получилось
0
 Аватар для roach1967
983 / 463 / 233
Регистрация: 27.06.2014
Сообщений: 1,033
02.11.2021, 20:38
Измените так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
        private void CalcFunction()
        {
            List<PointF> points = new List<PointF>(100);
            for (int i = (int)minX; i < maxX; i++)
            {
                float y = GetFuncValueY(i);
                float x = GetFuncValueX(i);
                points.Add(new PointF(x, y));
            }
            Points = points.ToArray();
            for (int i = 0; i < Points.Length; i++)
            {
                if (minX > Points[i].X) minX = Points[i].X;
                if (maxX < Points[i].X) maxX = Points[i].X;
                if (minY > Points[i].Y) minY = Points[i].Y;
                if (maxY < Points[i].Y) maxY = Points[i].Y;
            }
        }
(и он построит какую-то мохнатую линию )
0
 Аватар для matviiv
429 / 313 / 129
Регистрация: 09.02.2021
Сообщений: 1,096
Записей в блоге: 1
02.11.2021, 22:04  [ТС]
roach1967, да но чет если подумать там две параболи и нужно анимация етих двух уравнений движения , а тут виходить линия и не понимаю как она должна анимироваться
0
 Аватар для roach1967
983 / 463 / 233
Регистрация: 27.06.2014
Сообщений: 1,033
03.11.2021, 08:56
А можно узнать, как звучит само задание?

Добавлено через 1 час 34 минуты
Вот, изменил, что-бы выводил два графика:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        PointF[] Points, Points2;
        float minX = -50;
        float maxX = 50;
        float maxY = float.MinValue;
        float minY = float.MaxValue;
 
        public Form1()
        {
            InitializeComponent();
            CalcFunction();
        }
        protected override void OnSizeChanged(EventArgs e)
        {
            base.OnSizeChanged(e);
            panel1.Invalidate();
        }
        private void CalcFunction()
        {
            List<PointF> points = new List<PointF>(100);
            float y, x;
            for (int i = (int)minX; i < maxX; i++)
            {
                y = GetFuncValueY(i);
                x = i;
                points.Add(new PointF(x, y));
            }
            Points = points.ToArray();
            points.Clear();
            for (int i = (int)minX; i < maxX; i++)
            {
                y = GetFuncValueX(i);
                x = i;
                points.Add(new PointF(x, y));
            }
            Points2 = points.ToArray();
            for (int i = 0; i < Points.Length; i++)
            {
                if (minX > Points[i].X) minX = Points[i].X;
                if (maxX < Points[i].X) maxX = Points[i].X;
                if (minY > Points[i].Y) minY = Points[i].Y;
                if (maxY < Points[i].Y) maxY = Points[i].Y;
            }
        }
        float GetFuncValueY(float t)
        {
            return 5 * t * t - 5 / 3 * t - 2;
        }
        float GetFuncValueX(float t)
        {
            return Math.Abs(3 * t * t - t + 1);
        }
        private void Panel_Paint(object sender, PaintEventArgs e)
        {
            Size size = panel1.ClientSize;
            e.Graphics.DrawLine(Pens.Red, 0, size.Height / 2, size.Width, size.Height / 2);
            e.Graphics.DrawLine(Pens.Red, size.Width / 2, 0, size.Width / 2, size.Height);
            float kx = size.Width / (maxX - minX);
            float ky = size.Height / 2 / Math.Max(Math.Abs(maxY), Math.Abs(minY));
            Point[] points = new Point[Points.Length];
            for (int i = 0; i < Points.Length; i++)
            {
                points[i] = new Point((int)(kx * (Points[i].X - minX)), size.Height / 2 - (int)(ky * (Points[i].Y - minY)));
            }
            e.Graphics.DrawLines(Pens.Blue, points);
            for (int i = 0; i < Points2.Length; i++)
            {
                points[i] = new Point((int)(kx * (Points2[i].X - minX)), size.Height / 2 - (int)(ky * (Points2[i].Y - minY)));
            }
            e.Graphics.DrawLines(Pens.Green, points);
        }
    }
}
0
 Аватар для roach1967
983 / 463 / 233
Регистрация: 27.06.2014
Сообщений: 1,033
03.11.2021, 08:56
Результат:

Но что анимировать?
0
 Аватар для matviiv
429 / 313 / 129
Регистрация: 09.02.2021
Сообщений: 1,096
Записей в блоге: 1
03.11.2021, 09:34  [ТС]
roach1967, сам не понимаю задание указано вот: за даними уравнениями движения фигури(квадрат) построить анимационную картину движения
0
fly
 Аватар для I can
4946 / 4629 / 843
Регистрация: 13.04.2015
Сообщений: 9,810
03.11.2021, 09:41
Может движение квадрата по параболе?
0
 Аватар для matviiv
429 / 313 / 129
Регистрация: 09.02.2021
Сообщений: 1,096
Записей в блоге: 1
03.11.2021, 09:42  [ТС]
I can, я не понимаю условие, но интересно как сделать
0
Модератор
Эксперт CЭксперт С++
 Аватар для Volga_
5209 / 2927 / 1509
Регистрация: 14.12.2018
Сообщений: 5,267
Записей в блоге: 1
03.11.2021, 10:43
Цитата Сообщение от matviiv Посмотреть сообщение
I can, я не понимаю условие
Откуда ты взял эту задачу ?
0
 Аватар для matviiv
429 / 313 / 129
Регистрация: 09.02.2021
Сообщений: 1,096
Записей в блоге: 1
03.11.2021, 10:48  [ТС]
Volga_, нашел в интернете,не могу уже скинуть источник но условие я скопировал

Добавлено через 51 секунду
Volga_, интересно стало что в windows form можно делать такое
0
fly
 Аватар для I can
4946 / 4629 / 843
Регистрация: 13.04.2015
Сообщений: 9,810
03.11.2021, 11:18
Может что-то типа этого?
Миниатюры
Анимация системи уравнений движения  
1
 Аватар для matviiv
429 / 313 / 129
Регистрация: 09.02.2021
Сообщений: 1,096
Записей в блоге: 1
03.11.2021, 11:46  [ТС]
I can, походу так
0
 Аватар для roach1967
983 / 463 / 233
Регистрация: 27.06.2014
Сообщений: 1,033
03.11.2021, 12:15
Так пойдёт:WindowsFormsApp1.rar
3
 Аватар для matviiv
429 / 313 / 129
Регистрация: 09.02.2021
Сообщений: 1,096
Записей в блоге: 1
03.11.2021, 12:25  [ТС]
roach1967, Спасибо большое пойду розбираться
0
 Аватар для matviiv
429 / 313 / 129
Регистрация: 09.02.2021
Сообщений: 1,096
Записей в блоге: 1
10.11.2021, 10:08  [ТС]
roach1967, вопрос просто мне сказали что я делаю параметрически хотя ето не верно а нужно y(x) x(y),ето возможно?
0
 Аватар для roach1967
983 / 463 / 233
Регистрация: 27.06.2014
Сообщений: 1,033
10.11.2021, 10:34
Т.е. выводить графики и анимацию не с помощью массива точек, а строго через GetFuncValueY и GetFuncValueX?
Но если так выводить, будет очень медленный вывод на экран - сплошное мерцание...
0
 Аватар для matviiv
429 / 313 / 129
Регистрация: 09.02.2021
Сообщений: 1,096
Записей в блоге: 1
10.11.2021, 10:34  [ТС]
roach1967, хмм а можете показать?
0
Модератор
Эксперт CЭксперт С++
 Аватар для Volga_
5209 / 2927 / 1509
Регистрация: 14.12.2018
Сообщений: 5,267
Записей в блоге: 1
10.11.2021, 10:58
roach1967, вроде
C#
1
2
3
4
        float GetFuncValueY(float t)
        {
            return 5 * t * t - 5 / 3 * t - 2;
        }
не правильно !

По-моему должно быть:
C#
1
2
3
4
        float GetFuncValueY(float t)
        {
            return 5 * t * t - 5f / 3 * t - 2;
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.11.2021, 10:58
Помогаю со студенческими работами здесь

Анимация движения по оси X
Хочу сделать навигационное меню, где при выборе пункта начнётся анимация перемещения элемента, указывающего на выбранный пункт (с старой...

Анимация движения человека
Нужно реализовать анимацию движения человека (или отдельных его частей). Например человечек из спичек. Пишем на WPF/Metro. Подскажите...

Анимация движения Control-ов в .NET
Захотелось мне написать шахматы, что-бы не писать свой UI решил что ничего особого делать не буду и напишу клиент на .NET-те. Сделать...

Анимация движения на определенное смещение
Доброго дня, дорогие форумчане. Подскажите пожалуйста, задача простая, но что-то не получается решить. Есть форма, на ней 10 компонентов...

Анимация движения по окружностям множества тел
Доброго времени суток! Подскажите, как реализовать анимацию движения закрашенных кругов (например &quot;планет&quot;), причем текущие...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru