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

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

08.12.2016, 19:14. Показов 2538. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru