I'm trying to create an equilateral triangle that outputs to the console but my code seems to output the triangle at point 0,0. 

How can I fix this?

this is what I have:

Header file:

```
#include "shape.h"
#include "vertex.h"
#include <list>

// An equilateral triangle
class Triangle : public Shape
{ 
    // the radius provides the length of a side
    // and enables a vertex to be plotted from
    // which the other two vertices can be derived
    // via rotation
    int radius;
public:
    // constructor
    Triangle(Vertex point, int radius = 10);

    // calculates and returns a triangle's area
    int area();

    // calculates and returns a triangle's perimeter
    int perimeter();
};

```

and the cpp file

```
#include "triangle.h"
#include "vertex.h"
#include <list>

Triangle::Triangle(Vertex point, int radius) : Shape(point)
{
    this->radius = radius;

    this->centroid = Vertex(0,0); 
    vertices.push_back(Vertex(centroid.getY() + radius));
    vertices.push_back(Vertex(centroid.getY() + (radius*2)));
    vertices.push_back(Vertex(centroid.getX() * cos(120) - centroid.getY() * sin(120),centroid.getY() * cos(120) + centroid.getX() * sin(120)));
    vertices.push_back(Vertex(centroid.getX() * cos(240) - centroid.getY() * sin(240),centroid.getY() * cos(240) + centroid.getX() * sin(240)));

    this->centroid = point;
}

// returns the area of an equilateral triangle
int Triangle::area()
{
    return radius*radius*(sqrt(3)/4);
}

// returns the perimeter of an equilateral triangle
int Triangle::perimeter()
{
    return radius *3;
}

```

I'm not sure what's wrong with it. I have tried many different ways to fix it but I have had no luck in doing so. can somebody please help?