Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 25.10.2018
Сообщений: 21

Как нарисовать клотоиду?

22.05.2019, 15:57. Показов 3547. Ответов 12

Студворк — интернет-сервис помощи студентам
Здравствуйте, дорогие программисты. Мне нужна ваша помощь.Как нарисовать клотоиду на языке C++?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.05.2019, 15:57
Ответы с готовыми решениями:

Как gl_line_loop заполнить цветом или им же нарисовать нарисовать сферу
или же нарисовать примерно точно также как на изображении, и потом при диалоге изменения цвета закрасить их, желательно с линиями, их буду...

Как нарисовать прямоугольник, изменить его координаты и нарисовать заново уже без первого прямоугольника?
Как нарисовать прямоугольник, изменить его координаты и нарисовать заного уже без первого прямоугольника?

Нарисовать флаг, нарисовать график y=ctg x Нарисовать анимацию
Дело таково у меня сейчас практика, где я очень не успиваю сделать все свои задания... Большая просьба кто готов помочь, пишите а кто...

12
Модератор
 Аватар для D1973
9917 / 6454 / 2455
Регистрация: 21.01.2014
Сообщений: 27,389
Записей в блоге: 3
22.05.2019, 17:31
EHO7, Вам именно С++ нужен? А Вы разделом не ошиблись - тут таки раздел C++ Builder... Даже если, по Вашему, это одно и то же - то, таки, нет - это две большие разницы...
0
0 / 0 / 0
Регистрация: 25.10.2018
Сообщений: 21
22.05.2019, 18:35  [ТС]
Да, нужен C++. А на счет раздела я сам был не уверен, просто я видел подобные вопросы в данной теме, поэтому написал сюда.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33378 / 21502 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 11
22.05.2019, 18:48
Лучший ответ Сообщение было отмечено D1973 как решение

Решение

Да какая разница? На канву-то вывести - делов на две минуты:
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
void DrawSpiral(int xc, int yc, TCanvas *cv, int T, int N, int scale)
{
    double dt = (double)T / N;
    for(int i = 0; i < 2; i++)
    {
        double dx, dy, tm = 0.0;
        int iter = N;
        double prevx = 0, prevy = 0, currx, curry;
 
        cv->MoveTo(xc, yc);
        while (iter--)
        {
            dx = cos(tm*tm) * dt; dy = sin(tm*tm) * dt;
            tm += dt;
            currx = prevx + dx; curry = prevy + dy;
            cv->LineTo(xc + (1 - 2*i)*(int)(currx * scale),
                       yc - (1 - 2*i)*(int)(curry * scale));
            prevx = currx; prevy = curry;
        }
    }
}
 
void __fastcall TForm1::Button3Click(TObject *Sender)
{
    DrawSpiral(Width / 2, Height / 2, this->Canvas, 10, 10000, 100);
}
Вот такое получается:
Миниатюры
Как нарисовать клотоиду?  
3
0 / 0 / 0
Регистрация: 25.10.2018
Сообщений: 21
22.05.2019, 19:19  [ТС]
Выглядит это конечно все красиво и перспективно, но визуалка матюкается и не хочет запускать данную программу.
0
0 / 0 / 0
Регистрация: 25.10.2018
Сообщений: 21
22.05.2019, 19:25  [ТС]
А именно он матюкается на это.
Миниатюры
Как нарисовать клотоиду?  
0
 Аватар для RunningMan
278 / 186 / 75
Регистрация: 12.04.2017
Сообщений: 1,088
Записей в блоге: 2
22.05.2019, 19:32
Код с++ билдера в визуалку пихаете ?
0
0 / 0 / 0
Регистрация: 25.10.2018
Сообщений: 21
22.05.2019, 19:33  [ТС]
Сори, не шарю. Работал ток в визуалке.
0
 Аватар для RunningMan
278 / 186 / 75
Регистрация: 12.04.2017
Сообщений: 1,088
Записей в блоге: 2
22.05.2019, 19:36
Цитата Сообщение от EHO7 Посмотреть сообщение
Сори, не шарю. Работал ток в визуалке.
распишите, что нужно, конкретнее. Среду разработки, приложение оконное/ консольное и
что можно использовать из библиотек.
Код дали, его не трудно будет поправить . надеюсь.
0
0 / 0 / 0
Регистрация: 25.10.2018
Сообщений: 21
22.05.2019, 19:40  [ТС]
C++, Visual studio, консольное приложение

Добавлено через 20 секунд
на счет библиотек без разницы
0
 Аватар для RunningMan
278 / 186 / 75
Регистрация: 12.04.2017
Сообщений: 1,088
Записей в блоге: 2
22.05.2019, 20:15
Лучший ответ Сообщение было отмечено EHO7 как решение

Решение

В консоли тоже, вполне
код volvo рисует
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
#include <Windows.h>
#include <cmath>
#include <cstdio>
 
 
void DrawSpiral(int xc, int yc, HDC hDC, int T, int N, int scale)
{
    double dt = (double)T / N;
    for (int i = 0; i < 2; i++)
    {
        double dx, dy, tm = 0.0;
        int iter = N;
        double prevx = 0, prevy = 0, currx, curry;
 
        MoveToEx(hDC, xc, yc, NULL);
        while (iter--)
        {
            dx = cos(tm * tm) * dt; dy = sin(tm * tm) * dt;
            tm += dt;
            currx = prevx + dx; curry = prevy + dy;
            LineTo(hDC, xc + (1 - 2 * i) * (int)(currx * scale),
                yc - (1 - 2 * i) * (int)(curry * scale));
            prevx = currx; prevy = curry;
        }
    }
}
 
int main()
{
    // хэндл окна консоли
    HWND hwnd = GetConsoleWindow();
 
    RECT rc;
 
    // получить рабочую область окна консоли 
    GetClientRect(hwnd, &rc);
    int height = rc.bottom;// высота рабочей области окна консоли
    int width = rc.right;// ширина рабочей области окна консоли
 
    // Получить Контекст устройства клиентской области окна по его хэндлу
    HDC hDC = GetDC(hwnd);
 
    // создать перо
    HPEN hPen = CreatePen(PS_SOLID, 1, RGB(255, 255, 255));
    HPEN hOldPen = (HPEN)SelectObject(hDC, hPen);
 
 
    DrawSpiral(width / 2, height / 2, hDC, 10, 10000, 100);
    
    // Выбираем старый Pen в DC (освобождаем свой Pen из DC)
    SelectObject(hDC, hOldPen);
    // удалить перо
    DeleteObject(hPen);
    
    // Освободить Контекста устройства
    ReleaseDC(NULL, hDC);
 
    getchar();
}
Миниатюры
Как нарисовать клотоиду?  
1
0 / 0 / 0
Регистрация: 25.10.2018
Сообщений: 21
22.05.2019, 22:52  [ТС]
Спасибо
0
 Аватар для RunningMan
278 / 186 / 75
Регистрация: 12.04.2017
Сообщений: 1,088
Записей в блоге: 2
22.05.2019, 23:01
ну вот, на тебе. Вольво писал, а у меня лучший ответ...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.05.2019, 23:01
Помогаю со студенческими работами здесь

Нарисовать трапецию, после чего нарисовать ее зеркальную копию (относительно диагонали 1го квадранта) и уменьшить
Собственно сделал так, только пока что без уменьшения, отзеркаленную копию рисует только 1 линию, не могу понять в чем проблема. Уменьшить...

OpenGL VS2008 C++ (Как нарисовать поле или сетку например как в 3DS MAX)
Вообщем я тока изучаю 3д мир. вот подскажите как рисуеться поле (например как в 3д макс) это поле типо идет до горизонта там сетка есть. ...

Как пожалуйста нарисовать блок-схему по коду моей матрицы, вообще не понимаю как их рисовать
#include &lt;iostream&gt; #include&lt;iomanip&gt; #include&lt;math.h&gt; #include&lt;string.h&gt; #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; ...

Как нарисовать транс повышающий как на БП атх
помогите пожалуйста как нарисовать транс повышающий как на БП атх. немогу найти все обыскал, пользуюсь протеусом 7-ой версии

Как называется такая фигура и как ее нарисовать?
Есть потребность в небольшом чертеже, работал только в solid works - но он очень тяжелый для скачивания, вот есть DraftSight и AutoCAD - но...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru