![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Parasite |
|
|||
Unregistered |
Нужно в 2-D нарисовать правильную призму, у которой основание многоугольник с количеством углов N, со стороной основания A. Высота призмы H.
Для нарисовки оснований допустим - ф-я Polygon (HDC hdc, tagPOINT *PPOINT,N); Ну... может кто-то составлял алгоритм... расстановки координат вершин, маштабирование рисунка ![]() Я чужим кодом не побрезгую ![]() |
|||
|
||||
shara |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 29.6.2004 Где: печенье? Репутация: нет Всего: 2 |
вот нашел твою просьбу о помощи, подожди немного шас сделаем и пришлём
![]() я тут посидел и подумал, как нарисовать 2D призму чтобы было видно все грани? я сделаю её под углом или что-то тому подобное. ![]() Это сообщение отредактировал(а) shara - 29.6.2004, 16:21 -------------------- с точки зрения аэродинамики шмель не может летать |
|||
|
||||
shara |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 29.6.2004 Где: печенье? Репутация: нет Всего: 2 |
ну вот тебе прога(сам писал), кстати этот многоугольник ещё и вращается для уселения эфекта
![]() #include <DOS.H> #include <MATH.H> #include <graphics.h> #include <stdlib.h> #include <stdio.h> #include <conio.h> int main(void) { int x1,y1,x2,y2,x3,y3,x4,y4,n,r,a,h,ymid; float i,step,p; int gdriver = DETECT, gmode, errorcode; int midx, midy; initgraph(&gdriver, &gmode, ""); errorcode = graphresult(); if (errorcode != grOk) { printf("Graphics error: %s\n", grapherrormsg(errorcode)); printf("Press any key to halt:"); getch(); exit(1); } printf("\n avtor PETROV ANDREY"); printf("\n mnogougolnik "); printf("\n nwwedite kolichestwo storon mnogougolnika N= "); scanf("%d",&n); printf(" wwedite dlinu storonbI mnogougolnika A= "); scanf("%d",&a); printf(" wwedite visotu mnogougolnika H= "); scanf("%d",&h); step=3.1415*2/(n); r=a/(sin(step/2)*2); ymid=240+h/2; // wiwod mnogougolnika po zentry while (!kbhit()) // povorot mnogougolnika { p=p+.03; // scorost povorota for (i=p;i<=3.1415*2+p;i=i+step ) { x1=(cos(i)-sin(i))*r+320; y1=(sin(i)+cos(i))*r+ymid; x2=(cos(i+step)-sin(i+step))*r+320; y2=(sin(i+step)+cos(i+step))*r+ymid; x3=x2; y3=y2-h; x4=x1; y4=y1-h; line(x1,y1,x2,y2); line(x2,y2,x3,y3); line(x3,y3,x4,y4); line(x4,y4,x1,y1); } delay(150); // zaderjka na 150 milisec cleardevice(); // ochistka ekrana } closegraph(); return 0; } прога 100% работает, будут ошибки значит или графику не может вывести или путя не правильные, если что пиши ![]() -------------------- с точки зрения аэродинамики шмель не может летать |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |