С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 26.12.2012
Сообщений: 12

Графика: Разноцветный шестиугольник

10.03.2013, 23:28. Показов 2777. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написать программу, генерирующую на экране разноцветный шестиугольник, цвета секторов которого меняются циклически. После трех циклов смены цветов фигура уничтожается.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.03.2013, 23:28
Ответы с готовыми решениями:

Графика: построить шестиугольник с заданными вершинами
построить: шестиугольник с вершинами (120,100),(140,120),(140,140),(120,160),(100,140),(100,120);

Разноцветный текст
С помощью Memo возможно сделать не цветной а именно разноцветный текст?? например выделить какое то слово(а может и несколько) каким нибудь...

Разноцветный DBGrid
День добрый, уважаемые формучане. Сталкиваюсь с очередной проблемой. Имеется DBGrid, хочу раскрасить строки разными цветами. Нагуглил...

7
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
10.03.2013, 23:38
а как выводить графику?
0
78 / 78 / 9
Регистрация: 26.12.2011
Сообщений: 217
10.03.2013, 23:50
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
а как выводить графику?
По-моему, аффтар не в том разделе написал.
Здесь без WinAPI не обойтись )
А так, навскидку: в обработке WM_PAINT нужно будет создать кисть CreateSolidBrush, выбрать её SelectObject и нарисовать отдельно сектора Polygon.
Студии под рукой нет, так что примерный ход решения даю.
0
10.03.2013, 23:56

Не по теме:

Цитата Сообщение от zelim Посмотреть сообщение
Здесь без WinAPI не обойтись )
А может это в Линуксе надо?
Или какой-нибудь graphics.h

0
0 / 0 / 0
Регистрация: 26.12.2012
Сообщений: 12
11.03.2013, 00:03  [ТС]
Кстати, мы работаем в SFML библиотеке))

Добавлено через 1 минуту
Кстати, мы работаем в SFML библиотеке)) Графику я начала из 6 треугольников делать.
Вот, до чего я додумалась, а дальше никак...

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
#include "stdafx.h"
#include "SFML/Graphics.hpp"
#include <math.h>
#include <SFML/Graphics/ConvexShape.hpp>
 
#define Box_X 1200 //ширина окна
#define Box_Y 760 //высота окна
#define MaxFrameRate 60 //скорость обновления окна
 
int _tmain(int arg, _TCHAR* argv [])
{
 
    sf::RenderWindow window(sf::VideoMode(Box_X, Box_Y), "My animation =)");
    window.setFramerateLimit(MaxFrameRate);
    //int i=0;
    float vx=5.,vy=5., R=30.;
 
    sf::ConvexShape polygon1;
polygon1.setPointCount(3);
polygon1.setFillColor(sf::Color::Red);
polygon1.setPoint(0, sf::Vector2f(300,300));
polygon1.setPoint(1, sf::Vector2f(300,0));
polygon1.setPoint(2, sf::Vector2f(0,100));
polygon1.setPosition(100, 50);
 
sf::ConvexShape polygon2;
polygon2.setPointCount(3);
polygon2.setFillColor(sf::Color::Yellow);
polygon2.setPoint(0, sf::Vector2f(300,300));
polygon2.setPoint(1, sf::Vector2f(600,100));
polygon2.setPoint(2, sf::Vector2f(300,0));
polygon2.setPosition(100, 50);
 
    sf::ConvexShape polygon3;
polygon3.setPointCount(3);
polygon3.setFillColor(sf::Color::Green);
polygon3.setPoint(0, sf::Vector2f(300, 300));
polygon3.setPoint(1, sf::Vector2f(600,100));
polygon3.setPoint(2, sf::Vector2f(600,500));
polygon3.setPosition(100, 50);
 
sf::ConvexShape polygon4;
polygon4.setPointCount(3);
polygon4.setFillColor(sf::Color::Cyan);
polygon4.setPoint(0, sf::Vector2f(300, 300));
polygon4.setPoint(1, sf::Vector2f(600,500));
polygon4.setPoint(2, sf::Vector2f(300,600));
polygon4.setPosition(100, 50);
 
sf::ConvexShape polygon5;
polygon5.setPointCount(3);
polygon5.setFillColor(sf::Color::Blue);
polygon5.setPoint(0, sf::Vector2f(300, 300));
polygon5.setPoint(1, sf::Vector2f(0,500));
polygon5.setPoint(2, sf::Vector2f(300,600));
polygon5.setPosition(100, 50);
 
sf::ConvexShape polygon6;
polygon6.setPointCount(3);
polygon6.setPoint(0, sf::Vector2f(300, 300));
polygon6.setPoint(1, sf::Vector2f(0,100));
polygon6.setPoint(2, sf::Vector2f(0, 500));
polygon6.setFillColor(sf::Color::Magenta);
polygon6.setPosition(100, 50);
0
78 / 78 / 9
Регистрация: 26.12.2011
Сообщений: 217
11.03.2013, 00:06
Цитата Сообщение от Croessmah Посмотреть сообщение

Не по теме:


А может это в Линуксе надо?
Или какой-нибудь graphics.h

Не по теме:

Это была попытка поиграть в экстрасенса ))
В половине (а то и больше) созданных тем нужно самому додумываться, чего хочет топикстартер :wall:

0
0 / 0 / 0
Регистрация: 26.12.2012
Сообщений: 12
11.03.2013, 00:14  [ТС]
Я хочу, чтобы менялись цвета у этих полигонов. А как - не знаю.
0
0 / 0 / 1
Регистрация: 12.12.2015
Сообщений: 20
30.05.2016, 08:32
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
#include <SFML/Graphics.hpp> //заголовочный файл, отвечающий за работу с графикой
 
using namespace sf;//пространство имен
 
void main()
{
    // Цвета RGB
    int R = 0;
    int G = 255;
    int B = 0;
    int A = 255;
 
    // Класс Time и Clock
    Clock clock;//класс для измерения времени
    Time time;//класс определяет временной интервал
 
    int i = 0, t = 0;
    float swichtime = 0;
 
    RenderWindow window(VideoMode(1024, 768), "My Window"); //функция, отвечающая за появление окна
 
    ConvexShape triangle[6];// создаем сектора шестиугольника
 
    triangle[0].setPointCount(3);// устанавливаем колличество точек произвольной фигуры
    triangle[0].setFillColor(Color::Red);//цвет произвольной фигуры
    triangle[0].setPoint(0, Vector2f(300, 300));//определяем точки для произвольной фигуры
    triangle[0].setPoint(1, Vector2f(300, 0));
    triangle[0].setPoint(2, Vector2f(0, 100));
    triangle[0].setPosition(100, 50); //устанавливаем положение объекта 
        
    triangle[1].setPointCount(3);
    triangle[1].setFillColor(Color::Yellow);
    triangle[1].setPoint(0, Vector2f(300, 300));
    triangle[1].setPoint(1, Vector2f(600, 100));
    triangle[1].setPoint(2, Vector2f(300, 0));
    triangle[1].setPosition(100, 50);
 
    triangle[2].setPointCount(3);
    triangle[2].setFillColor(Color::Green);
    triangle[2].setPoint(0, Vector2f(300, 300));
    triangle[2].setPoint(1, Vector2f(600, 100));
    triangle[2].setPoint(2, Vector2f(600, 500));
    triangle[2].setPosition(100, 50);
        
    triangle[3].setPointCount(3);
    triangle[3].setFillColor(Color::Cyan);
    triangle[3].setPoint(0, Vector2f(300, 300));
    triangle[3].setPoint(1, Vector2f(600, 500));
    triangle[3].setPoint(2, Vector2f(300, 600));
    triangle[3].setPosition(100, 50);
        
    triangle[4].setPointCount(3);
    triangle[4].setFillColor(Color::Blue);
    triangle[4].setPoint(0, Vector2f(300, 300));
    triangle[4].setPoint(1, Vector2f(0, 500));
    triangle[4].setPoint(2, Vector2f(300, 600));
    triangle[4].setPosition(100, 50);
 
    triangle[5].setPointCount(3);
    triangle[5].setFillColor(Color::Magenta);
    triangle[5].setPoint(0, Vector2f(300, 300));
    triangle[5].setPoint(1, Vector2f(0, 100));
    triangle[5].setPoint(2, Vector2f(0, 500));
    triangle[5].setPosition(100, 50);
        
    while (window.isOpen())//обязательный цыкл для открытия окна
    {
        Event event;
        while (window.pollEvent(event))
        {
            if (event.type == Event::Closed)
                window.close();
        }
 
        //циклическая смена цвета секторов
        time = clock.getElapsedTime(); //Время, функция getElapsedTime() возвращает время
        if (time.asSeconds() > 1)
        {
            R = rand() % 255;
            G = rand() % 255;
            B = rand() % 255;
 
            if (swichtime == 0)
            {
                triangle[i].setFillColor(Color(R, G, B, A));
                i++;
            }
            swichtime = clock.getElapsedTime().asSeconds();
            if (swichtime > 1)
            {
                clock.restart(); swichtime = 0; //restart() перезапускает часы
            }
            if (i > 5)
            {
                i = 0;
                t=t+1;
            }
        }
 
        window.clear();//очищает экран.
        for (int i = 0; i < 6; i++)
        {
            window.draw(triangle[i]); //рисует объект.
        }
        window.display(); //показывает объекты
 
        if (t == 3) 
        { 
            for (int i = 0; i < 6; i++)
            {
                triangle[i].setFillColor(Color::Black);
            }
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.05.2016, 08:32
Помогаю со студенческими работами здесь

Разноцветный TListBox
В TListBox-e вперемешку содержатся слова с маленькой и с заглавной буквы. Чтобы при просмотре списка их было легче отличить друг от...

Разноцветный Label
Добрый день, у меня формируется строка, которая содержит слова Passed и Failed, затем она выводится в Label. Можно ли как-то сделать так,...

Разноцветный Placeholder
Добрый день! Подскажите как сделать вот такой placeholder Я сделал с помощью js вот так: document.documentElement.id =...

Разноцветный текст
О великие сенсеи программирования, вопрос к вам =) каким кодом можно сделать разноцветный текст в появляющейся консольке, код с++

Разноцветный ListView
Здравствуйте. Как можно сделать список ListView с разноцветными элементами? Например четные элементы красные, нечетные - зеленые.


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
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? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru