Форум программистов, компьютерный форум CyberForum.ru

Рисование в с++ :) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 43, средняя оценка - 4.72
Julia8
Сообщений: n/a
13.10.2011, 20:47     Рисование в с++ :) #1
Здравствуйте! Задали задачку графического характера Только вот не получается решить
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
#include<dos.h>
#include<iostream.h>
#include<conio.h>
#include<graphics.h>
#include<stdlib.h>
#define PI 3.14159
 
void draw_wheel(int x,int y,int theta)
{
 int incr=45;
    setcolor(getmaxcolor());
    setfillstyle(EMPTY_FILL,getmaxcolor());
 for(double i=theta;i<theta+360.0;i+=2*incr)
 {
    sector(x,y,i,i+incr,20,20);
    arc(x,y,i+incr,i+2*incr,20);
  }
}
void draw_car(int ang)
{
int car_color=BLUE;
    draw_wheel(50,200,ang);
    draw_wheel(200,200,ang);
    
setcolor(car_color);
 
    line(0,80,639,80);
    line(0,300,639,300);
    line(25,200,0,200);
    line(0,200,0,160);
    line(0,160,40,160);
    line(40,160,70,130);
 
    line(70,130,170,130);
    line(170,130,200,160);
    line(200,160,260,160);
    line(260,160,260,200);
    line(260,200,225,200);
    line(175,200,75,200);
 
    arc(50,200,0,180,25);
    arc(200,200,0,180,25);
 
    setfillstyle(SOLID_FILL,car_color);
    floodfill(150,170,car_color);
}
 
void main()
{
 int gd,gm,i,j;
 void *bitmap1,*bitmap2;
    detectgraph(&gd,&gm);
    initgraph(&gd,&gm,"c:\\tc ");
 draw_car(0);
    bitmap1=malloc(imagesize(0,130,270,230));
        getimage(0,130,270,230,bitmap1);
        putimage(0,130,bitmap1,XOR_PUT);
 draw_car(22);
    bitmap2=malloc(imagesize(0,130,270,230));
        getimage(0,130,270,230,bitmap2);
        putimage(0,130,bitmap2,XOR_PUT);
 for(i=0;!kbhit();i+=10)
 {
   if(i>500) i=0;
   putimage(i,130,bitmap1,OR_PUT);
   delay(10);
   putimage(i,130,bitmap1,XOR_PUT);
   putimage(i+5,130,bitmap2,OR_PUT);
   delay(50);
   putimage(i+5,130,bitmap2,XOR_PUT);
 }
 closegraph();
 }
Помогите сделать машинку объемной и дорисовать луну со звездочками?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2011, 20:47     Рисование в с++ :)
Посмотрите здесь:

рисование в с++ C++
C++ Рисование
C++ Рисование в С++
Рисование на CBitmap C++
C++ Рисование ромба.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
KeyGen
 Аватар для KeyGen
333 / 289 / 6
Регистрация: 07.08.2011
Сообщений: 789
Записей в блоге: 1
13.10.2011, 23:59     Рисование в с++ :) #2
Вот, если так:
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
#include <iostream>
#include <cstring>
 
using namespace std;
 
int main ()
{
    setlocale(LC_ALL, "rus");
 
    
    int massi[1081]=
    {
    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,
    0,2,0,0,0,0,2,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,10,
    0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,10,
    0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,2,0,0,10,
    0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,10,
    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,2,0,10,
    0,2,0,0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,10,
    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,10,
    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,10,
    0,0,0,0,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,10,
    0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,
    0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,
    0,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,10,
    0,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,10,
    0,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,10,
    0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,10,
    0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,2,0,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,10,
    0,0,0,0,2,2,2,2,0,0,0,0,0,0,0,0,2,0,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,10,
    0,0,0,0,0,2,2,0,0,0,0,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,10,
    0,0,0,0,0,2,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,10,
    0,0,0,0,0,2,2,0,0,0,0,2,0,0,0,0,0,2,2,2,2,0,0,0,0,0,0,2,2,2,2,0,0,0,2,0,0,0,0,10,
    0,0,0,0,0,2,2,0,0,0,0,2,2,2,2,2,2,0,2,0,0,2,2,2,2,2,2,0,2,0,0,2,2,2,2,0,0,0,0,10,
    0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,10,
    0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,10,
    2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,10,
    2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,10,
    2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,10
    };
    
    int chet=0;
    for (int i=0; i<1081; i++)
    {
    if (i==chet)
    {cout << "\t\t    "; chet+=40;}
    if (massi[i]==0)
    cout << char(massi[i]);
    else
    for (int k=0; k<=8888888; k++)
    if (k==8888888)
    cout << char(massi[i]);
    }
    
            
    cout << "\n\n\n";
    system("PAUSE");
    return 0;
 
}
Миниатюры
Рисование в с++ :)  
Card1nal
6 / 6 / 0
Регистрация: 04.01.2010
Сообщений: 118
14.10.2011, 03:51     Рисование в с++ :) #3
KeyGen, Как брутально...
-=ЮрА=-
Заблокирован
Автор FAQ
14.10.2011, 13:04     Рисование в с++ :) #4
Цитата Сообщение от Julia8 Посмотреть сообщение
Здравствуйте! Задали задачку графического характера
- как пример рисования в Си, пробуем!
Как рисовать элементарные геометрические фигуры?
Построение графиков элементарных функций





Не по теме:

Цитата Сообщение от Julia8 Посмотреть сообщение
#include<graphics.h>
- судя по этому у вас билдер, к сожалению мои примеры в Билдере врядли пойдут - они под вижуал студию(Или вы не Билдер используете??? т.к. из этой фразы
Цитата Сообщение от Julia8 Посмотреть сообщение
Только вот не получается решить
у вас не компилируется проект



Добавлено через 4 минуты
KeyGen, прикол

Не по теме:

Это ж сколько времени убил

Цитата Сообщение от KeyGen Посмотреть сообщение
int massi[1081]
на вбивание этого массива

Nursik77
 Аватар для Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
14.10.2011, 13:15     Рисование в с++ :) #5
Julia8, вот, когда-то писал,( где-то 3-4 часа "убил" ), движущаяся машинка:
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
#include <graphics.h>
#include <dos.h>
 
int main () {
 
int gd = DETECT,gm,r;
int i,n,k;
initgraph(&gd, &gm,"C:\\TC\\BGI");
setbkcolor(BLUE);
for(n = 50; n < 450; n++)
 {pieslice(639,0,0,360,150);
  pieslice(25,50,0,360,1);
  pieslice(125,75,0,360,1);
  pieslice(200,150,0,360,1);
  pieslice(225,75,0,360,1);
  pieslice(125,150,0,360,1);
  pieslice(250,65,0,360,1);
  pieslice(295,180,0,360,1);
  pieslice(5,15,0,360,1);
  pieslice(50,100,0,360,1);
  pieslice(25,5,0,360,1);
  pieslice(200,42,0,360,1);
  pieslice(254,35,0,360,1);
  pieslice(25,250,0,360,1);
  pieslice(35,195,0,360,1);
  pieslice(400,75,0,360,1);
  pieslice(365,50,0,360,1);
  pieslice(340,85,0,360,1);
  pieslice(370,203,0,360,1);
  pieslice(400,205,0,360,1);
  pieslice(425,215,0,360,1);
  pieslice(450,230,0,360,1);
  pieslice(434,266,0,360,1);
  pieslice(460,282,0,360,1);
  pieslice(484,260,0,360,1);
 
 setcolor(YELLOW);
 line(n,350,n,325);
 line(n,325,n+25,300);
 line(n+25,300,n+50,295);
 line(n+50,295,n+75,300);
 line(n+75,300,n+100,315);
 line(n+100,315,n+125,325);
 line(n+125,325,n+150,330);
 line(n+150,330,n+150,350);
 line(n+150,350,n+145,350);
//-----fari----------//
 line(n+153,332,n+150,332);
 line(n+153,332,n+153,343);
 line(n+153,343,n+150,343);
 
 line(n+155,332,n+177,325);
 line(n+155,335,n+177,332);
 line(n+155,337,n+178,342);
 line(n+155,341,n+178,348);
 
 line(n,330,n-4,330);
 line(n-4,330,n-4,340);
 line(n-4,340,n,340);
 //---------------------//
 line(n+55,303,n+72,303);
 line(n+72,303,n+92,315);
 line(n+92,315,n+55,315);
 line(n+55,315,n+55,303);
 line(n+52,303,n+52,315);
 line(n+52,303,n+28,303);
 line(n+28,303,n+16,315);
 line(n+16,315,n+52,315);
 arc(n+28,346,0,95,15);
 line(n+43,346,n+53,346);
 line(n+53,346,n+53,320);
 line(n+53,320,n+25,320);
 line(n+25,320,n+25,330);
 line(n+36,324,n+31,324);
 line(n+57,320,n+95,320);
 line(n+57,320,n+57,346);
 line(n+95,320,n+95,346);
 line(n+95,346,n+57,346);
 line(n+62,324,n+68,324);
 line(n-500,363,n+539,363);
//----kolesa------//
 arc(n+130,350,0,180,15);
 circle(n+130,350,10);
 circle(n+130,350,8);
 circle(n+130,350,1);
 line(n+115,350,n+40,350);
 arc(n+25,350,0,180,15);
 circle(n+25,350,10);
 circle(n+25,350,8);
 circle(n+25,350,1);
 line(n,350,n+10,350);
 delay(5);
 clearviewport();
 }
}
KeyGen
 Аватар для KeyGen
333 / 289 / 6
Регистрация: 07.08.2011
Сообщений: 789
Записей в блоге: 1
14.10.2011, 19:53     Рисование в с++ :) #6
Цитата Сообщение от Nursik77 Посмотреть сообщение
Julia8, вот, когда-то писал,( где-то 3-4 часа "убил" ), движущаяся машинка:
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
#include <graphics.h>
#include <dos.h>
 
int main () {
 
int gd = DETECT,gm,r;
int i,n,k;
initgraph(&gd, &gm,"C:\\TC\\BGI");
setbkcolor(BLUE);
for(n = 50; n < 450; n++)
 {pieslice(639,0,0,360,150);
  pieslice(25,50,0,360,1);
  pieslice(125,75,0,360,1);
  pieslice(200,150,0,360,1);
  pieslice(225,75,0,360,1);
  pieslice(125,150,0,360,1);
  pieslice(250,65,0,360,1);
  pieslice(295,180,0,360,1);
  pieslice(5,15,0,360,1);
  pieslice(50,100,0,360,1);
  pieslice(25,5,0,360,1);
  pieslice(200,42,0,360,1);
  pieslice(254,35,0,360,1);
  pieslice(25,250,0,360,1);
  pieslice(35,195,0,360,1);
  pieslice(400,75,0,360,1);
  pieslice(365,50,0,360,1);
  pieslice(340,85,0,360,1);
  pieslice(370,203,0,360,1);
  pieslice(400,205,0,360,1);
  pieslice(425,215,0,360,1);
  pieslice(450,230,0,360,1);
  pieslice(434,266,0,360,1);
  pieslice(460,282,0,360,1);
  pieslice(484,260,0,360,1);
 
 setcolor(YELLOW);
 line(n,350,n,325);
 line(n,325,n+25,300);
 line(n+25,300,n+50,295);
 line(n+50,295,n+75,300);
 line(n+75,300,n+100,315);
 line(n+100,315,n+125,325);
 line(n+125,325,n+150,330);
 line(n+150,330,n+150,350);
 line(n+150,350,n+145,350);
//-----fari----------//
 line(n+153,332,n+150,332);
 line(n+153,332,n+153,343);
 line(n+153,343,n+150,343);
 
 line(n+155,332,n+177,325);
 line(n+155,335,n+177,332);
 line(n+155,337,n+178,342);
 line(n+155,341,n+178,348);
 
 line(n,330,n-4,330);
 line(n-4,330,n-4,340);
 line(n-4,340,n,340);
 //---------------------//
 line(n+55,303,n+72,303);
 line(n+72,303,n+92,315);
 line(n+92,315,n+55,315);
 line(n+55,315,n+55,303);
 line(n+52,303,n+52,315);
 line(n+52,303,n+28,303);
 line(n+28,303,n+16,315);
 line(n+16,315,n+52,315);
 arc(n+28,346,0,95,15);
 line(n+43,346,n+53,346);
 line(n+53,346,n+53,320);
 line(n+53,320,n+25,320);
 line(n+25,320,n+25,330);
 line(n+36,324,n+31,324);
 line(n+57,320,n+95,320);
 line(n+57,320,n+57,346);
 line(n+95,320,n+95,346);
 line(n+95,346,n+57,346);
 line(n+62,324,n+68,324);
 line(n-500,363,n+539,363);
//----kolesa------//
 arc(n+130,350,0,180,15);
 circle(n+130,350,10);
 circle(n+130,350,8);
 circle(n+130,350,1);
 line(n+115,350,n+40,350);
 arc(n+25,350,0,180,15);
 circle(n+25,350,10);
 circle(n+25,350,8);
 circle(n+25,350,1);
 line(n,350,n+10,350);
 delay(5);
 clearviewport();
 }
}
У меня ошибка?
Миниатюры
Рисование в с++ :)  
Nursik77
 Аватар для Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
14.10.2011, 21:04     Рисование в с++ :) #7
KeyGen, вот
тут
http://kpolyakov.narod.ru/school/c/faq.htm
есть подробная инструкция, как подключить граф.биб-у "graphics.h" в DevC++.
Revol'veR
 Аватар для Revol'veR
23 / 23 / 2
Регистрация: 05.11.2010
Сообщений: 134
14.10.2011, 21:40     Рисование в с++ :) #8
А у меня машинка не идёт из поста №5, выскакивает на VC 2008
fatal error C1083: Не удается открыть файл include: graphics.h: No such file or directory
При этом код из сообщения №2 данной темы пошёл.
aeshes
 Аватар для aeshes
437 / 200 / 13
Регистрация: 07.10.2011
Сообщений: 462
14.10.2011, 22:18     Рисование в с++ :) #9
ЕМНИП, graphics.h поставлялась с борландовскими компиляторами, а с остальными нет, поэтому и не находит ее ваш компилятор. Теоретически, ее можно скачать, положить в нужную папочку и работать, но практически - не пробовала
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
14.10.2011, 22:41     Рисование в с++ :) #10
Цитата Сообщение от Revol'veR Посмотреть сообщение
А у меня машинка не идёт из поста №5
Потому что там борланд, а борланд - от лукавого))
Revol'veR
 Аватар для Revol'veR
23 / 23 / 2
Регистрация: 05.11.2010
Сообщений: 134
14.10.2011, 22:48     Рисование в с++ :) #11
Как в Борланде проверить наличие графической библиотеки? Подскажите пожалуйста.
Nursik77
 Аватар для Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
15.10.2011, 13:12     Рисование в с++ :) #12
Revol'veR, в борландовских компиляторах билиотека <graphics.h> должна быть, если ее нет попробуйте найти ее в нете, либо скачать с той ссылки которую я дал и закинуть ее в папку include.
Revol'veR
 Аватар для Revol'veR
23 / 23 / 2
Регистрация: 05.11.2010
Сообщений: 134
15.10.2011, 20:40     Рисование в с++ :) #13
Вот: http://www.koders.com/cpp/fid2F91A91...oad+graphics.h
А далее? Копировать куда текст? Или можно скопировать в блокнот, назвать файл именем библиотеки и после этого положить в нужную папку?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.10.2011, 23:10     Рисование в с++ :)
Еще ссылки по теме:

C++ графика в си++, рисование
Рисование по экрану C++
Рисование в С++ C++

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

Или воспользуйтесь поиском по форуму:
Nursik77
 Аватар для Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
16.10.2011, 23:10     Рисование в с++ :) #14
Revol'veR, не пробовал, но вполне вероятно что может каким-то образом получиться.
Yandex
Объявления
16.10.2011, 23:10     Рисование в с++ :)
Ответ Создать тему
Опции темы

Текущее время: 20:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru