Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
 Аватар для Liss29
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,631

FLTK построение правильных многоугольников

16.02.2018, 05:39. Показов 1547. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем! Кто может пояснить такую вещь:

Вот задание:
Определите класс Regular_polygon. В качестве аргументов конструктора Используйте центр, количество сторон (не меньше двух) и расстояние от центра до угла.

Я написал класс, в принципе он работает, но не совсем так как надо. Вот код для вычисления координат:

Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
Point Regular_polygon::add_points(int i)
    {
        Point p;
        //Вычисляем угол поворота для n-угольника
        double rotate_angle = Rotate_angle(_side);
    
        
        p.x = floor(X + R * (cos(M_PI / 180.0 * (rotate_angle + (2 * 180.0 * i) / _side))));
        p.y = floor(Y + R * (sin(M_PI / 180.0 * (rotate_angle + (2 * 180.0 * i) / _side))));
        return p;
    }

Функция вычисляет точки и многоугольник в итоге рисуется, но если параметр количества сторон задать равным трём или пяти, то фигура получается повёрнутой, никак сообразить не могу, что поменять надо в вычислениях, чтобы и трёх-пятиугольники выводились как надо(не повёрнутыми), направьте в нужном направлении! Спасибо
Миниатюры
FLTK построение правильных многоугольников  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.02.2018, 05:39
Ответы с готовыми решениями:

Проверить лежит ли один из многоугольников строго внутри другого и определить площади многоугольников
Два выпуклых многоугольника заданы на плоскости перечислением координат вершин в порядке обхода границы. Проверить лежит ли один из них...

FLTK, нет файла fltk.lib
Прохожу 12 главу Страуструпа, всё изгуглил, и почти пришёл к решению. После установки ftlk в vs, у меня в папке lib не появился ftlk.lib,...

Двенадцать правильных многоугольников
Двенадцать правильных многоугольников с заданным числом сторон, заданы координаты двух вершин одной грани первого многоугольника, каждый...

2
1617 / 1182 / 553
Регистрация: 08.01.2012
Сообщений: 4,561
16.02.2018, 06:55
три неизвестных переменных насчитал
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void __fastcall TForm1::FormPaint(TObject *Sender)
{
   int X=ClientWidth/2;
   int Y=ClientHeight/2;
   int R=150,n=5;
   TPoint *p=new TPoint[n+1];
 
   for(int i=0; i<n; i++)
   {
      double a=M_PI/2+M_PI*2/n*i;
      p[i].x=X+R*cos(a);
      p[i].y=Y-R*sin(a);
   }
   p[n]=*p;
   Canvas->Polygon(p,n);
}
Миниатюры
FLTK построение правильных многоугольников  
1
 Аватар для Liss29
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,631
17.02.2018, 05:17  [ТС]
Цитата Сообщение от MansMI Посмотреть сообщение
три неизвестных переменных насчитал
???

Не знаю почему, но 100-угольник не создаёт, но, думаю, это уже моя реализация даёт о себе знать)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.02.2018, 05:17
Помогаю со студенческими работами здесь

Построение многоугольников с разным количеством вершин
Буду благодарен, если кто-то поможет с первой лабой по OpenGL, заранее спасибо. С виду легкая программа, но до этого не программировал...

Построение правильных полигонов
Доброго времени суток. Вопрос о правильном построении обычного полигона, а точнее - дать ему отсортированные координаты. (см. скриншот). ...

Графический редактор, построение правильных N-угольников, вписанных в окружность/описанных около нее
Доброго времени. Хотелось бы попросить вашего совета и помощи. Мне необходимо создать графический редактор и одно из подпунктов меню: ...

FLTK
Добрый день, подскажите начинающему, как мне установить (использовать) библиотеку fltk в среде Microsoft Visual Studio 2010?

Учебники по FLTK
Посоветуйте какие-нибудь книги по изучению fltk.


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru