Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
user7824
1 / 1 / 0
Регистрация: 24.07.2014
Сообщений: 9
1

Задача моделирования и управление движением

27.07.2014, 12:44. Просмотров 609. Ответов 6
Метки нет (Все метки)

Суть в том что, клетка находится изначально в любой клетке(например в верхней) и пользователь должен управлять ей (как я понял пользователь сначала выбирает направление по часовой или против, потом продолжать двигаться по кругу или свернуть).
Задача моделирования и управление движением

На каком ЯП будет написано не важно.
Спасибо что помогли.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.07.2014, 12:44
Ответы с готовыми решениями:

Управление движением объектов с клавиатуры
Постоянное движение нескольких графических объектов с отражением от границ окна...

Полет самолета. С движением по окружности
Здравствуйте, у меня появилась проблема с анимацией. Нужна помощь!! Сижу уже...

Игра. Проблемы с плавным движением объектов
господа а на C# нельзя пример у меня форма должна вращаться увеличиваясь в...

Как вставить анимированную картинку с движением по форме
Как вставить Анимированную картинку + чтоб она передвигалась! пробовал...

Построение графика с масштабированием, движением по полю - какие способы?
Какие есть способы построения графика с масштабированием, удобным движением по...

6
user7824
1 / 1 / 0
Регистрация: 24.07.2014
Сообщений: 9
27.07.2014, 20:21  [ТС] 2
Как сделать чтобы моя точка двигалась по всей фигуре? Или нужно фигуру как-то по другому рисовать?


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
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 Проект
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        
 
        private void Form1_Load(object sender, EventArgs e)
        {
            this.Text = "Проект";
            button1.Text = "Рисовать";
            button2.Text = "Старт";
          
        }
        private void button1_Click(object sender, EventArgs e)
        {
            Pen Перо = new Pen(Color.Black, 1);
 
            Graphics g = pictureBox1.CreateGraphics();
            Graphics g1 = pictureBox1.CreateGraphics();
            Graphics g2 = pictureBox1.CreateGraphics();
 
            Graphics t = pictureBox1.CreateGraphics();
            Graphics t1 = pictureBox1.CreateGraphics();
            Graphics t2 = pictureBox1.CreateGraphics();
 
            int b = 25;
            int a = 43;
            g.DrawLine(Перо, 110, 260, 210, 260);
            g1.DrawLine(Перо, 110 + b, 60 + a, 60 + b, 210 + (50 - a));
            g2.DrawLine(Перо, 160 + b, 60 + a, 210 + b, 210 + (50 - a));
 
            t.DrawEllipse(Перо, 110, 10, 100, 100);
            t1.DrawEllipse(Перо, 210, 210, 100, 100);
            t2.DrawEllipse(Перо, 10, 210, 100, 100);
 
            Pen Перо1 = new Pen(Color.Red, 1);
            Graphics w = pictureBox1.CreateGraphics();
            w.DrawRectangle(Перо1, 160, 10, 2, 2);
 
 
        }
 
    }
}
вот что получилось
Задача моделирования и управление движением
0
ViterAlex
6458 / 3628 / 1484
Регистрация: 11.02.2013
Сообщений: 7,978
Завершенные тесты: 3
28.07.2014, 02:33 3
Лучший ответ Сообщение было отмечено user7824 как решение

Решение

Чтобы точка двигалась по какому-либо маршруту, этот маршрут нужно описать математически, если маршрут можно представить каким-либо уравнением или как иначе, если маршрут нельзя описать уравнением.
Я так понял, что клетка, это одна из окружностей. Значит, их нужно как-то идентифицировать. Скажем, вверху — номер один, внизу справа — номер два, внизу слева — номер три. Теперь при перемещении точки по часовой стрелке, её нужно рисовать поочерёдно в 1-2-3 и так по кругу. Против часовой — в обратном порядке.
Таким образом, эту фигуру нужно реализовывать в виде класса, имеющего методы MoveCounterClockWise и MoveClockWise, для движения против часовой и по соответственно.
Внутри класса следует рисовать саму фигуру и точку, причём точку нужно перерисовывать при вызове вышеупомянутых методов. Класс должен возвращать картинку, описывающую текущее состояние фигуры и положение точки.
Если будет время, до завтра могу набросать примерный проект

Ну вот, примерно так. Проект под VS2013
1
Вложения
Тип файла: zip sourceCode.zip (13.5 Кб, 6 просмотров)
user7824
1 / 1 / 0
Регистрация: 24.07.2014
Сообщений: 9
28.07.2014, 12:02  [ТС] 4
ViterAlex, Спасибо!
Я понял так
Частица находится в любой клетке и движется по контуру(по ячейкам).
Например вверху
Название: 34.jpg
Просмотров: 86

Размер: 26.9 Кб
Сначала я выбираю как она будет двигаться по часовой стрелке или против нее, по окружности. Но когда частица доходит до места где у нее есть выбор продолжать двигаться по окружности или свернуть на прямую, мы выбираем дальнейший ее путь. И так каждый раз.
То есть движется по ячейкам
0
ViterAlex
6458 / 3628 / 1484
Регистрация: 11.02.2013
Сообщений: 7,978
Завершенные тесты: 3
29.07.2014, 01:02 5
Цитата Сообщение от user7824 Посмотреть сообщение
Я понял так
А я пока смутно понимаю. Вот этот маршрут в виде треугольника с кругами на вершинах, он всегда такой или может быть любой конфигурации?
Цитата Сообщение от user7824 Посмотреть сообщение
когда частица доходит до места где у нее есть выбор продолжать двигаться по окружности или свернуть на прямую, мы выбираем дальнейший ее путь
Вариантов выбора может быть только два или больше? Т.е. сколько разветвлений может иметь одна ячейка: два, три, четыре?
К чему эта задача вообще относится? К какой области человеческих знаний?
0
user7824
1 / 1 / 0
Регистрация: 24.07.2014
Сообщений: 9
30.07.2014, 18:22  [ТС] 6
Цитата Сообщение от ViterAlex Посмотреть сообщение
К чему эта задача вообще относится? К какой области человеческих знаний?
ну это такие задания по практике первого курса)) на прикладной математике.
пришел я к препаду, сказал что не знаю как делать тыры пыры
он дал задачку с одним кругом
сделал все сам сижу довольный))
и вот результат Задача.rar
1
ViterAlex
6458 / 3628 / 1484
Регистрация: 11.02.2013
Сообщений: 7,978
Завершенные тесты: 3
30.07.2014, 21:03 7
Меня этот вопрос заинтересовал. Есть наброски, но мало времени. В результате будет возможность строить маршрут любой конфигурации
0
30.07.2014, 21:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.07.2014, 21:03

Моделирования кольцевого маршрута автобуса
Разработать программу моделирования кольцевого маршрута автобуса. Исходные...

моделирования управления предприятиями.(совет!)
Добрый день. Я пишу програму для моделирования управления предприятиями. Ето...

Что лучше использовать для моделирования интерференции?
Здравствуйте! что лутше использовать OpenGL,Direct3D или стандартные компоненты...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru