Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> 2-D графика CDC, Помогите составить алгоритм 
:(
    Опции темы
Parasite
  Дата 9.5.2004, 18:26 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Нужно в 2-D нарисовать правильную призму, у которой основание многоугольник с количеством углов N, со стороной основания A. Высота призмы H.

Для нарисовки оснований допустим - ф-я Polygon (HDC hdc, tagPOINT *PPOINT,N);

Ну... может кто-то составлял алгоритм... расстановки координат вершин, маштабирование рисунка rolleyes.gif
Я чужим кодом не побрезгую smile.gif))
  Вверх
shara
Дата 29.6.2004, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 29.6.2004
Где: печенье?

Репутация: нет
Всего: 2



вот нашел твою просьбу о помощи, подожди немного шас сделаем и пришлём cool.gif
я тут посидел и подумал, как нарисовать 2D призму чтобы было видно все грани? я сделаю её под углом или что-то тому подобное. smile.gif

Это сообщение отредактировал(а) shara - 29.6.2004, 16:21


--------------------
   с точки зрения аэродинамики шмель не может летать  
PM MAIL   Вверх
shara
Дата 30.6.2004, 05:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 29.6.2004
Где: печенье?

Репутация: нет
Всего: 2



ну вот тебе прога(сам писал), кстати этот многоугольник ещё и вращается для уселения эфекта smile.gif

#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% работает, будут ошибки значит или графику не может вывести или путя не правильные, если что пиши thumbs-up.gif


--------------------
   с точки зрения аэродинамики шмель не может летать  
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0547 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.