Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > Рисование цилиндра


Автор: PELIKANN 21.9.2009, 18:18
Всем привет!

Проблема такая - надо построить каркас цилиндра, используя ТОЛЬКО стандартные функции модуля <graphics.h>...
То бишь используя только такие функции,как line(), lineto(), arc(), ellipse() и т.д

язык Си (пишу прогу на Turbo C v.3.0)

вот немного теории...
Формулы параметрического описания поверхности цилиндра:

x = R sin L
y = R cos L
z = Hh         , где L = 0..360, h= -0.5..0.5.

user posted image

каркасное изображение должно выглядеть так
user posted image

вот все что я смог сделать....
Код

void main()
{
double R=60,H=100;
double l;
double x,y,z,x1,y1;
int h;
open_graph();   //функция инициализации граф.режима
ellipse(300,100,0,360,R,20);
ellipse(300,200,0,360,R,20);
for (l=0;l<=360;l+=10)
{
x=R*sin(l)+300;
y=R*cos(l)+200;
x1=R*sin(l+5)+300;
y1=R*cos(l+5)+200;
line(x,y,x1,y1);
}
for (h=100;h<=200;h+=5)
    z=H*h;
getch();
closegraph();
}


координата z мною использована так и не была...но она потом пригодится для написания функции поворота этого цилиндра.

надеюсь на вашу помощь. спасибо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)