|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
На страницу группы практики...
/* PROGRAMMER: VG4 * DATE: 09.06.2011 * PURPOSE: Cone drawing. * * Автор: Виталий Галинский. * Дата: 09.06.2011 * Летняя учебно-исследовательская практика ФМЛ № 30, 2011 год. * Группа компьютерной графики. * Copyright © 2011 * Computer Graphics Support Group of 30 Phys-Math Lyceum * © 2011 Физико-математический лицей № 30, Санкт-Петербург. */ /* Draw cone function. * ARGUMENTS: * - number of spli parts: * INT Noof; * - cone height: * DBL H; * - cone bottom and top base radiuses: * DBL R0, R1; * RETURNS: None. */ VOID DrawCone( INT Noof, DBL H, DBL R0, DBL R1 ) { INT i; DBL l, angle, si, co; VEC N; l = sqrt(H * H + (R1 - R0) * (R1 - R0)); N = VecSet(H / l, (R0 - R1) / l, 0); glBegin(GL_QUAD_STRIP); for (i = 0, angle = 0; i <= Noof; i++, angle += 2 * PI / Noof) { if (i == Noof) angle = 0; si = sin(angle); co = cos(angle); glNormal3d(N.X * si, N.Y, N.X * co); glVertex3d(R1 * si, H, R1 * co); glVertex3d(R0 * si, 0, R0 * co); } glEnd(); } /* End of 'DrawCone' function */ |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|