about polygon

code as follows:
vtkSmartPointer pts = vtkSmartPointer::New();
vtkSmartPointer cs = vtkSmartPointer::New();
pts->SetNumberOfPoints(4);

pts->InsertPoint(2, 100, 200, 0);
pts->InsertPoint(3, 50, 50, 0);
pts->InsertPoint(0, 100, 150, 0);
pts->InsertPoint(1, 200, 50, 0);

vtkSmartPointer<vtkPolygon> plg = vtkSmartPointer<vtkPolygon>::New();
plg->GetPointIds()->SetNumberOfIds(4);
plg->GetPointIds()->SetId(0, 2);
plg->GetPointIds()->SetId(1, 3);
plg->GetPointIds()->SetId(2, 0);
plg->GetPointIds()->SetId(3, 1);
cs->InsertNextCell(plg);
   when i change the vtkPolygon as follows:	
   vtkSmartPointer<vtkPolygon> plg = vtkSmartPointer<vtkPolygon>::New();
plg->GetPointIds()->SetNumberOfIds(4);
plg->GetPointIds()->SetId(0, 1);
plg->GetPointIds()->SetId(1, 2);
plg->GetPointIds()->SetId(2, 3);
plg->GetPointIds()->SetId(3, 0);
    there as different resluts

3
4