Mam problem z ustaleniem współrzędnych dla owoców. Muszę narysować: jabłko z ogonkiem, gruszkę z ogonkiem i banana.

Zaczęłam od gruszki i wychodzi mi głupota.
Kompletnie tego nie ogarniam jak to narysować.

Błagam o pomoc. Jakie ustalić współrzędne dla tych owoców

Kod programu:

#include <GL/glut.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>



// punkty kontrolne krzywej

//gruszka odcinek 1
GLfloat points[ 12 ] =
{
    25.0, 255.0, 0.0, 
	15.0, 295.0, 0.0, 
	45.0, 255.0, 0.0, 
	50.0, 295.0, 0.0
};

//50.0, 50.0, 0.0, 50.0, 450.0, 0.0, 450.0, 50.0, 0.0, 450.0, 450.0, 0.0
//nowa wersja 80.0, 100.0, 0.0, 10.0, 450.0, 0.0, -10.0, 50.0, 0.0, 100.0, 200.0, 0.0


////gruszka odcinek 2
GLfloat points2[ 12 ] =
{
   55.0, 255.0, 0.0, 
	35.0, 295.0, 0.0, 
	55.0, 255.0, 0.0, 
	50.0, 295.0, 0.0
};

////gruszka odcinek 3
GLfloat points3[ 12 ] =
{
   //55.0, 255.0, 0.0, 
	//35.0, 295.0, 0.0, 
	//55.0, 255.0, 0.0, 
	//50.0, 295.0, 0.0
};

//25.0, 25.0, 0.0, 25.0, 200.0, 0.0, 200.0, 25.0, 0.0, 200.0, 200.0, 0.0

// identyfikatory wyświetlanych obiektów

enum
{
    NONE,
    CURVE,
    POINT_0,
    POINT_1,
    POINT_2,
    POINT_3
};


// funkcja generująca scenę 3D

void Display()
{
    // kolor tła - zawartość bufora koloru
    glClearColor( 1.0, 1.0, 1.0, 1.0 );
   
    // czyszczenie bufora koloru
    glClear( GL_COLOR_BUFFER_BIT );
    
    // włączenie generowana współrzędnych (x,y,z) punktów krzywej
    glEnable( GL_MAP1_VERTEX_3 );
   
    // ewaluator jednowymiarowy dla czterech punktów kontronych
    glMap1f( GL_MAP1_VERTEX_3, 0.0, 1.0, 3, 4, points );
   
    // ustawienie grubości linii
    glLineWidth( 2.0 );
   
    // kolor krzywej
    glColor3f( 1.0, 0.0, 0.0 );
   
    // narysowanie krzywej złożonej z 25 odcinków
    glBegin( GL_LINE_STRIP );
    for( int i = 0; i <= 25; i++ )
         glEvalCoord1f(( GLfloat ) i / 25.0 );
   
    glEnd();



	// ewaluator jednowymiarowy dla czterech punktów kontronych
    glMap1f( GL_MAP1_VERTEX_3, 0.0, 1.0, 3, 4, points2 );
   
	 // ustawienie grubości linii
    glLineWidth( 2.0 );
   
    // kolor krzywej
    glColor3f( 1.0, 0.0, 0.0 );                                                       //kolor żółty 1,1,0
   
    // narysowanie krzywej złożonej z 25 odcinków
    glBegin( GL_LINE_STRIP );
    for( int i = 0; i <= 25; i++ )
         glEvalCoord1f(( GLfloat ) i / 25.0 );
   
    glEnd();



	// ewaluator jednowymiarowy dla czterech punktów kontronych
    glMap1f( GL_MAP1_VERTEX_3, 0.0, 1.0, 3, 4, points3 );
   
	 // ustawienie grubości linii
    glLineWidth( 2.0 );
   
    // kolor krzywej
    glColor3f( 1.0, 0.0, 0.0 );                                                       
   
    // narysowanie krzywej złożonej z 25 odcinków
    glBegin( GL_LINE_STRIP );
    for( int i = 0; i <= 25; i++ )
         glEvalCoord1f(( GLfloat ) i / 25.0 );
   
    glEnd();


   
    // kolor punktów
    glColor3f( 0.0, 1.0, 0.0 );
      
    // narysowanie pierwszego punktu kontrolnego
    glRectf( points[ 0 ] - 5, points[ 1 ] - 5, points[ 0 ] + 5, points[ 1 ] + 5 );
    
    // narysowanie drugiego punktu kontrolnego
    glRectf( points[ 3 ] - 5, points[ 4 ] - 5, points[ 3 ] + 5, points[ 4 ] + 5 );
     
    // narysowanie trzeciego punktu kontrolnego
    glRectf( points[ 6 ] - 5, points[ 7 ] - 5, points[ 6 ] + 5, points[ 7 ] + 5 );
      
    // narysowanie czwartego punktu kontrolnego
    glRectf( points[ 9 ] - 5, points[ 10 ] - 5, points[ 9 ] + 5, points[ 10 ] + 5 );
   
    // skierowanie poleceń do wykonania
    glFlush();
   
    // zamiana buforów koloru
    glutSwapBuffers();
}

// zmiana wielkości okna

void Reshape( int width, int height )
{
    // obszar renderingu - całe okno
    glViewport( 0, 0, width, height );
   
    // wybór macierzy rzutowania
    glMatrixMode( GL_PROJECTION );
   
    // macierz rzutowania = macierz jednostkowa
    glLoadIdentity();
   
    // rzutowanie prostokątne
    gluOrtho2D( 0, width, 0, height );
   
    // generowanie sceny 3D
    Display();
}

int main( int argc, char * argv[] )
{
    // inicjalizacja biblioteki GLUT
    glutInit( & argc, argv );
   
    // inicjalizacja bufora ramki
    glutInitDisplayMode( GLUT_DOUBLE | GLUT_RGB );
   
    // rozmiary głównego okna programu
    glutInitWindowSize( 500, 500 );
   
    // utworzenie głównego okna programu
    #ifdef WIN32
   
    glutCreateWindow( "Krzywa Béziera" );
    #else
   
    glutCreateWindow( "Krzywa Beziera" );
    #endif
   
    // dołączenie funkcji generującej scenę 3D
    glutDisplayFunc( Display );
   
    // dołączenie funkcji wywoływanej przy zmianie rozmiaru okna
    glutReshapeFunc( Reshape );
   
   
    // wprowadzenie programu do obsługi pętli komunikatów
    glutMainLoop();
    return 0;
} 

Proszę o pomoc