Статья: OpenGL и Delphi на практике

x1e,y1e:Single;

x0b,y0b:Single;

x0e,y0e:Single;

t0,t1:Single;

dt:single;

begin

t0:=-3;t1:=3;

dt:=0.06;

while t0<=t1 do

begin

x0b:=a*sin(t0)*sin(t0)*sin(t0)*sin(t0)*cos(t0);

y0b:=a*abs(sin(t0)*cos(t0));

x0e:=a*sin(t0+dt)*sin(t0+dt)*sin(t0+dt)*sin(t0+dt)*cos(t0+dt);

y0e:=a*abs(sin(t0+dt)*cos(t0+dt));

x1b:=b*sin(t0)*sin(t0)*sin(t0)*sin(t0)*cos(t0);

y1b:=b*abs(sin(t0)*cos(t0));

x1e:=b*sin(t0+dt)*sin(t0+dt)*sin(t0+dt)*sin(t0+dt)*cos(t0+dt);

y1e:=b*abs(sin(t0+dt)*cos(t0+dt));

glBegin(GL_TRIANGLE_STRIP);

glNormal((x0b+x1e)/2,(y0b+y1e)/2,(r1+r0)/2);

glVertex3f(x0b,y0b,r0);

glVertex3f(x0e,y0e,r0);

glVertex3f(x1e,y1e,r1);

glVertex3f(x1b,y1b,r1);

glEnd;

t0:=t0+dt;

end;

end;

procedure DrawFace(A,R:Single;Normal:Boolean);

К-во Просмотров: 387
Бесплатно скачать Статья: OpenGL и Delphi на практике