Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 08.12.2016
Сообщений: 7

Плавно изменять цвет и положение заданного квадрата по высоте

08.12.2016, 19:14. Показов 2587. Ответов 9

Студворк — интернет-сервис помощи студентам
Зависит судьба сессии!!!!! Нужно написать простую, маленькую программу. Вот задание: Cчитать значения h1, h2 и color1, color2 и плавно изменять положение заданного квадрата по высоте и цвет квадрата. (Огромное спасибо заранее)))))))
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.12.2016, 19:14
Ответы с готовыми решениями:

Считать значения r1, r2 и color1, color2 и плавно изменять размер и цвет заданной фигуры
Зравствуйте, у меня такое задание: считать значения r1, r2 и color1, color2 и плавно изменять размер и цвет заданной фигуры (ромб). И я в...

Разработать приложение, обладающее возможностью плавно изменять цвет формы
Разработать приложение, обладающее возможностью плавно изменять цвет формы при перемещении указателя мыши по формк: (a) левая границы...

разработать приложение, обладающие возможность плавно изменять цвет фона при перемеще
1.разработать приложение, обладающие возможность плавно изменять цвет фона при перемещение указателя мыши по форме: (a)левая граница...

9
53 / 42 / 31
Регистрация: 24.11.2016
Сообщений: 140
08.12.2016, 19:36
а почему тут по две переменные?
0
0 / 0 / 0
Регистрация: 08.12.2016
Сообщений: 7
08.12.2016, 19:40  [ТС]
я просто дословно задание какое мне дано было написал) думаю, что это не значительно
0
53 / 42 / 31
Регистрация: 24.11.2016
Сообщений: 140
08.12.2016, 19:53
мне совсем не понятно это задание, допустим мы считаем эти переменные
C++
1
2
3
4
cin<<h1;
cin<<h2;
cin<<color1;
cin<<color2;
И что дальше? Где тот квадрат положение которого надо изменять?
Можно допустить, что h1 и h2 это верхняя и нижняя точки квадрата, хорошо можно их изменить
C++
1
2
3
4
while (?) {
    h1 += 0.1;
    h2 += 0.1;
}
Но насколько плавно и до какой степени изменять это положение?
Или это границы перемещения квадрата, но тогда где сам квадрат?
C++
1
2
while (h2 != h1)
    h1 += 0.1;
что мы перемещаем?
Тоже самое с цветом, это границы?
C++
1
2
3
4
5
if (color1 < color2)
    while (color2 != color1)
        color1 +=0.1;
else
    ...
0
0 / 0 / 0
Регистрация: 08.12.2016
Сообщений: 7
08.12.2016, 20:11  [ТС]






вот это подобная программа, что должно у меня получится подобно
0
0 / 0 / 0
Регистрация: 08.12.2016
Сообщений: 7
09.12.2016, 13:44  [ТС]
Я все точно разузнал. Нужно чтобы этот квадрат двигался по осям x и y. И например если он сдвинется по определённой оси, то он должен изменить свой определённый цвет и так же по др. осям. Тоесть сдвиг - определённый цвет.

Добавлено через 1 минуту
Songpool, помогите пожалуйста в моей теме, я подробно описал что нужно сделать)))))))

Добавлено через 2 минуты
Songpool, помогите пожалуйста я подробно описал все в теме)))))
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
09.12.2016, 13:53
Т. е. он движется вертикально на разницу h1 и h2? Ну замени этот треугольник на квадрат и сделай такое перемещение.
0
0 / 0 / 0
Регистрация: 08.12.2016
Сообщений: 7
09.12.2016, 14:58  [ТС]
Неее. Вот например h1 это ось х, а h2 это ось y. Задаем например h1 =2 , а потом h2 = 3. И квадрат перемещается в первую четверть и там например задан цвет красный. И он становится красным. Так же например перемещается в 2 четверть и он становится синим
0
53 / 42 / 31
Регистрация: 24.11.2016
Сообщений: 140
09.12.2016, 15:07
попробуй так
C++
1
2
3
4
5
6
7
8
9
10
11
cin<<h1;
cin<<h2;
cin<<color1;
cin<<color2;
 
smooth = 0.1;
for (; i < сам поставь что тебе нужно; h1 += smooth, h2 += smooth) {
    color2 += smooth;
    color1 += smooth;
    color = color1 + color2;
}
я так и не понял зачем два цвета, но даже это не важно, так как мы тебе сможем только посоветовать как написать цикл увеличения h1, h2, color1, color2, но мы тебе не сможем сказать, как исправить код, чтобы в гуе выглядело,так как ты хочешь, мы же не знаем как этот гуй написан.
А так, реально, просто посмотри, как там описано движение треугольника, и поменяй его на квадрат и на движение, а не вращение
1
0 / 0 / 0
Регистрация: 08.12.2016
Сообщений: 7
09.12.2016, 21:59  [ТС]
Хорошо, большое спасибо))) вечером попробую сделать. Отпишусь получилось или нет

Добавлено через 6 часов 40 минут
ааа простите, что опять беспокою У меня не очень получается((( Может вы попробуете подправить код
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e) {
this->Text = "Вращение треугольника";
label1->Text = "а";
label2->Text = "в";
label3->Text = "с";
label4->Text = "угол";
label5->Text = "n";
button1->Text = "Построить";
button2->Text = "Вращать";
}
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
a = Convert::ToInt32(numericUpDown1->Text);
b = Convert::ToInt32(numericUpDown2->Text);
c = Convert::ToInt32(numericUpDown3->Text);
angle = 0;
m_p[1] = 320.0;
m_p[2] = 220.0;
m_p[3] = 320.0 + a;
m_p[4] = 220.0;
m_p[5] = ((a*a - c*c + b*b) / (2 * a)) + 320;
m_p[6] = sqrt(b*b - (m_p[5] - 320.0)*(m_p[5] - 320.0)) + 220;
pictureBox1->Refresh();
}
private: System::Void button2_Click(System::Object^  sender, System::EventArgs^  e) {
n = 1;
angle = Convert::ToDouble(numericUpDown4->Text);
n = Convert::ToInt32(numericUpDown5->Text);
p = d*n;
l = 3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664 / 180;
angle = angle*l;
j = 1 * l;
d = 0;
if (angle > 0)
{
for (d = 0; d < p; d++)
{
m_p[7] = ((m_p[3] - m_p[1]) * cos(j)) + ((m_p[4] - m_p[2]) * sin(j)) + m_p[1];
m_p[8] = ((-(m_p[3] - m_p[1])) * sin(j)) + ((m_p[4] - m_p[2]) * cos(j)) + m_p[2];
m_p[9] = ((m_p[5] - m_p[1]) * cos(j)) + ((m_p[6] - m_p[2]) * sin(j)) + m_p[1];
m_p[10] = ((-(m_p[5] - m_p[1])) * sin(j)) + ((m_p[6] - m_p[2]) * cos(j)) + m_p[2];
m_p[3] = m_p[7];
m_p[4] = m_p[8];
m_p[5] = m_p[9];
m_p[6] = m_p[10];
k = ((d + 1)*j) / angle;
q = modf(k, &t);
if (q == 0)
{
pictureBox1->Refresh();
SleepEx(1000, false);
}
else
{
pictureBox1->Refresh();
}
}
}
else if (angle < 0)
{
angle = (-angle);
for (d = 0; d<p; d++)
{
m_p[7] = ((m_p[3] - m_p[1]) * cos(j)) - ((m_p[4] - m_p[2]) * sin(j)) + m_p[1];
m_p[8] = ((m_p[3] - m_p[1]) * sin(j)) + ((m_p[4] - m_p[2]) * cos(j)) + m_p[2];
m_p[9] = ((m_p[5] - m_p[1]) * cos(j)) - ((m_p[6] - m_p[2]) * sin(j)) + m_p[1];
m_p[10] = ((m_p[5] - m_p[1]) * sin(j)) + ((m_p[6] - m_p[2]) * cos(j)) + m_p[2];
m_p[3] = m_p[7];
m_p[4] = m_p[8];
m_p[5] = m_p[9];
m_p[6] = m_p[10];
k = ((d + 1)*j) / angle;
q = modf(k, &t);
if (q == 0)
{
pictureBox1->Refresh();
SleepEx(1000, false);
}
else
{
 
pictureBox1->Refresh();
}
}
angle = -angle;
};
}
private: System::Void pictureBox1_Paint(System::Object^  sender, System::Windows::Forms::PaintEventArgs^  e) {
Pen^ blackPen = gcnew Pen(Color::Black, 1.0f);
Pen^ BluePen = gcnew Pen(Color::Blue, 1.0f);
Pen^ RedPen = gcnew Pen(Color::Red, 1.0f);
// Create points that define line.
Point point1 = Point(m_p[1], m_p[2]);
Point point2 = Point(m_p[3], m_p[4]);
Point point3 = Point(m_p[5], m_p[6]);
// Draw line to screen.
e->Graphics->DrawLine(blackPen, point1, point2);
e->Graphics->DrawLine(BluePen, point1, point3);
e->Graphics->DrawLine(RedPen, point2, point3);
}
private: System::Void оПрограммеToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e)
Добавлено через 2 минуты
Songpool, простите пожалуйста, но можете еще раз посмотреть тему
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.12.2016, 21:59
Помогаю со студенческими работами здесь

Разработать приложение, обладающее возможностью плавно изменять цвет фона при перемещении указателя мыши по форме
Разработать приложение, обладающее возможностью плавно изменять цвет фона при перемещении указателя мыши по форме: левая граница - красный...

Плавно изменить цвет компонента
Доброй ночи! Есть label1.BackColor = SystemColors.Control (то есть стандартный цвет) и надо поменять его, допустим на Color.Green. Но...

Фон с узором, плавно переходящий в цвет
Всем привет! дайте совет плз или ткните носом =) Получил на верстку фон шапки такого вида(клац), тоесть узор плавно переходящий в сплошной...

Кнопка, плавно меняющая цвет при наведении
не могу разобраться как добавить цвета. их должно быть 16, а у меня получился только 1 &lt;html&gt; &lt;head&gt; ...

Как сделать чтобы цвет текста плавно менялся
Как сделать чтобы цвет текста плавно переливался? void RenderDVD(void) { int left, top; left = 1; top =...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
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
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru