Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Написать фигуру пропеллера / 23 сообщений из 23, страница 1 из 1
10.12.2015, 12:15
    #39124769
Wall33
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Написать фигуру пропеллера
Нужно написать вот такую фигуру
...
Рейтинг: 0 / 0
10.12.2015, 12:16
    #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
10.12.2015, 12:17
    #39124779
Wall33
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Написать фигуру пропеллера
но ошибки
...
Рейтинг: 0 / 0
10.12.2015, 12:37
    #39124820
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Написать фигуру пропеллера
Wall33,

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


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

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

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

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

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

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

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

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

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

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

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


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