powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Написать фигуру пропеллера
23 сообщений из 23, страница 1 из 1
Написать фигуру пропеллера
    #39124769
Wall33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно написать вот такую фигуру
...
Рейтинг: 0 / 0
Написать фигуру пропеллера
    #39124773
Wall33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сам начал делать есть наброски
Код: plaintext
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.
#define _USE_MATH_DEFINES
#include <vcl.h>
#include <cmath>
#pragma hdrstop
#ifndef M_PI
#define M_PI 3.1415926535897932384626433832795
#endif
#include "Unit1.h"
 
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
 
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner){}
 
static HBRUSH  g_brush = NULL;
static HBITMAP g_bmp   = NULL;
static HDC     g_hdc   = NULL;
static int     g_size  = 0;
 
void __fastcall TForm1::FormCreate(TObject *Sender){
        g_brush = CreateSolidBrush(RGB(0, 0, 0));
        g_size  = Width / 2;
        g_bmp   = CreateCompatibleBitmap(Canvas->Handle, g_size, g_size); 
        g_hdc   = CreateCompatibleDC(Canvas->Handle);
        SelectObject(g_hdc, g_bmp);
 
        Timer1->Enabled  = true;
        Timer1->Interval = 80;
}
 
void __fastcall TForm1::Timer1Timer(TObject *Sender){
    POINT dots[3];
    int   pos    = g_size / 2;
    int   radius = pos - 4;
 
    RECT rc = { 0, 0, g_size, g_size };
 
        FillRect(g_hdc, &rc, g_brush);
        Ellipse(g_hdc, pos - radius, pos - radius, pos + radius, pos + radius);
        HGDIOBJ old = SelectObject(g_hdc, g_brush);
        
        double theta;
        double step  = 360.0 / 8.;
        double off   = (double)GetTickCount() / 20.;
        //рисуем пропеллеры
        for(int i = 0; i < 4; ++i){
                theta = off * (M_PI / 180.);
                dots[0].x = dots[0].y = pos;
                dots[1].x = pos + radius * std::cos(theta);
                dots[1].y = pos + radius * std::sin(theta);
 
                theta = (off + step) * (M_PI / 180.);
                dots[2].x = pos + radius * std::cos(theta);
                dots[2].y = pos + radius * std::sin(theta);
 
                Polygon(g_hdc, dots, sizeof(dots)/sizeof(dots[0]));
                off += step * 2.;
        }
        SelectObject(g_hdc, old);
        //выводим на форму
        BitBlt(Canvas->Handle, (Width - g_size)/2, (Height - g_size)/2, 
               g_size, g_size, g_hdc, 0, 0, SRCCOPY);
}
 
void __fastcall TForm1::FormDestroy(TObject *Sender){
        DeleteObject(g_brush);
        DeleteObject(g_bmp);
        DeleteDC(g_hdc);
}
...
Рейтинг: 0 / 0
Написать фигуру пропеллера
    #39124779
Wall33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
но ошибки
...
Рейтинг: 0 / 0
Написать фигуру пропеллера
    #39124820
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wall33,

тебе надо освоить одну из важнейших технику программирования - ctrl-c ctrl-v.


тебе также нужно прислать все актуальные исходники и текст всех ошибок
...
Рейтинг: 0 / 0
Написать фигуру пропеллера
    #39124854
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Также убери использование глобальных переменных, раз не умеешь ими пользоваться, и они создают тебе проблемы.

Это косвенно поможет тебе избавится от ошибок компиляции. Ошибки не от этого, но если ты уберёшь глобальные переменные, то ошибки уйдут, потому что они связаны с их неправильным использованием.
...
Рейтинг: 0 / 0
Написать фигуру пропеллера
    #39124861
Wall33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так помогите чтоб работала ??? очень нужно
...
Рейтинг: 0 / 0
Написать фигуру пропеллера
    #39124905
RWolf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программа пишется в Билдере, а это значит, что можно просто бросить на форму PaintBox и рисовать в нём вызовами PaintBox1.Canvas.MoveTo/LineTo/Ellipse/FloodFill безо всех этих GDI-хэндлов и объектов.
...
Рейтинг: 0 / 0
Написать фигуру пропеллера
    #39124933
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wall33Так помогите чтоб работала ??? очень нужно

Я ж тебе написал, что нужно сделать.
...
Рейтинг: 0 / 0
Написать фигуру пропеллера
    #39125152
Wall33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А можно подробней а то я мало в этом секу
...
Рейтинг: 0 / 0
Написать фигуру пропеллера
    #39125287
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wall33, это задание на собеседовании?
...
Рейтинг: 0 / 0
Написать фигуру пропеллера
    #39125337
Wall33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton, нет
...
Рейтинг: 0 / 0
Написать фигуру пропеллера
    #39125344
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда спешить некуда. Верно.

Напиши Hello World на VCL. А потом давай по 1 строке добавляй из твоего глючного сорца.
...
Рейтинг: 0 / 0
Написать фигуру пропеллера
    #39125364
Wall33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton, да ты шутник в camedy club нужно))))
...
Рейтинг: 0 / 0
Написать фигуру пропеллера
    #39125404
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wall33, я вообще щас ни разу не шутил. Делай как я говорю. Не ленись.

Ленивых тут не любят.
...
Рейтинг: 0 / 0
Написать фигуру пропеллера
    #39125761
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wall33

проведенная
ошибка означает, что ты объявил глобальную переменную, но не определил. отсюда неразрешенная ссылка.

твой код при этом не соответствует ошибке, в таком коде такой ошибки быть не должно. значит либо ты транслировать другой код, либо прислал другой код.
все, что можно, я лично и другие тебе уже сказали.
...
Рейтинг: 0 / 0
Написать фигуру пропеллера
    #39126245
Wall33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv, я не ленюсь я не имею понятия как нарисовать это фигуру
вот что сам на нашел и написал кинул
и прошу чтобы бы помоги или исправили чтоб работала
...
Рейтинг: 0 / 0
Написать фигуру пропеллера
    #39126359
alexy_black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RWolfПрограмма пишется в Билдере, а это значит, что можно просто бросить на форму PaintBox и рисовать в нём вызовами PaintBox1.Canvas.MoveTo/LineTo/Ellipse/FloodFill безо всех этих GDI-хэндлов и объектов.

я с этим не работал, но наверное для тс это самый лучший сейчас подход.

просто нарисуй линию, хотя бы одну ,прямую линию. потом другую, потом третью... рисукон же ведь из линий состоит. просто индуским методом..
...
Рейтинг: 0 / 0
Написать фигуру пропеллера
    #39126427
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну йо-маё. Если-б я не знал тригонометрии - и чёрт с ним.
Взял-бы клеточную бумаги и циркулем кружок-бы нарисовал.
Потом перевёл-бы в ломаные линии.

Вобщем афтор бездельник и помогать ему так просто не хочется.

Он себе не помогает...
...
Рейтинг: 0 / 0
Написать фигуру пропеллера
    #39131618
Wall33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все фигуру сделал Все спасибо
...
Рейтинг: 0 / 0
Написать фигуру пропеллера
    #39131671
Wall33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как сделать чтобы отражалась фигура от стенок
...
Рейтинг: 0 / 0
Написать фигуру пропеллера
    #39131752
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wall33как сделать чтобы отражалась фигура от стенок систему координат поверни, ограничь область рисования и нарисуй фигуру снова.
...
Рейтинг: 0 / 0
Написать фигуру пропеллера
    #39134155
Wall33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А можно как то с кодом помочь
Исходник скину
...
Рейтинг: 0 / 0
Написать фигуру пропеллера
    #39138961
Wall33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ребята выручайте
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Написать фигуру пропеллера
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]