# Program to find the Centroid of the triangle

Last Updated : 18 Apr, 2023

Given the vertices of the triangle. The task is to find the centroid of the triangle:
Examples:

Input: A(1, 2), B(3, -4), C(6, -7)
Output: (3.33, -3)

Input: A(6, 2), B(5, -9), C(2, -7)
Output: (6.5, -9)

Approach:Suppose if the vertices of a triangle are (x1, y1) (x2, y2) (x3, y3) then centroid of the triangle can be find from the following formula:

1. Set x1, y1, x2, y2, x3, y3 to the coordinates of the vertices of the triangle.
2. Calculate the average x-coordinate of the vertices as x = (x1 + x2 + x3) / 3.
3. Calculate the average y-coordinate of the vertices as y = (y1 + y2 + y3) / 3.
4. Print "Centroid = (" + x + ", " + y + ")".

## C++

 // CPP program to find the centroid of triangle#include using namespace std; // Driver codeint main(){    // coordinate of the vertices    float x1 = 1, x2 = 3, x3 = 6;    float y1 = 2, y2 = -4, y3 = -7;     // Formula to calculate centroid    float x = (x1 + x2 + x3) / 3;    float y = (y1 + y2 + y3) / 3;     cout << setprecision(3);    cout << "Centroid = "         << "(" << x << ", " << y << ")";     return 0;}

## Java

 // Java program to find the centroid of triangleimport java.util.*;import java.lang.*; class GFG{     // Driver codepublic static void main(String args[]){    // coordinate of the vertices    float x1 = 1, x2 = 3, x3 = 6;    float y1 = 2, y2 = -4, y3 = -7;     // Formula to calculate centroid    float x = (x1 + x2 + x3) / 3;    float y = (y1 + y2 + y3) / 3;     //System.out.print(setprecision(3));    System.out.println("Centroid = "        + "(" + x + ", " + y + ")");}} // This code is contributed // by Akanksha Rai(Abby_akku)

## Python 3

 # Python3 program to find # the centroid of triangle  # Driver code     if __name__ == "__main__" :     # coordinate of the vertices     x1, x2, x3 = 1, 3, 6    y1, y2, y3 = 2, -4, -7         # Formula to calculate centroid     x = round((x1 + x2 + x3) / 3, 2)    y = round((y1 + y2 + y3) / 3, 2)     print("Centroid =","(",x,",",y,")") # This code is contributed by ANKITRAI1

## Javascript

 

## C#

 // C# program to find the // centroid of triangleusing System; class GFG{     // Driver codestatic public void Main (){     // coordinate of the vertices    float x1 = 1, x2 = 3, x3 = 6;    float y1 = 2, y2 = -4, y3 = -7;         // Formula to calculate centroid    float x = (x1 + x2 + x3) / 3;    float y = (y1 + y2 + y3) / 3;         //System.out.print(setprecision(3));    Console.Write("Centroid = " +                   "(" + x + ", " + y + ")");}} // This code is contributed // by RaJ

## PHP

 

Output
Centroid = (3.33, -3)

Time complexity: O(1), since there is no loop or recursion.

Auxiliary Space: O(1), since no extra space has been taken.

New Approach:

Another approach to find the centroid of a triangle is to use the concept of vectors.

1. Let the vertices of the triangle be A(x1, y1), B(x2, y2), and C(x3, y3).
2. Then, the centroid G can be found using the following formula:                                                                                                           G = (A + B + C) / 3                                                                                                                                                                   where A, B, and C are position vectors of the respective vertices. In other words,                                                                 G = ((x1 + x2 + x3) / 3, (y1 + y2 + y3) / 3)

Below is the code for the above approach :

## C++

 // C++ program to find the centroid of a triangle#include using namespace std; // Structure to store coordinates of a pointstruct Point {    float x, y;}; // Function to find the centroid of a trianglePoint findCentroid(Point A, Point B, Point C){    float x = (A.x + B.x + C.x) / 3;    float y = (A.y + B.y + C.y) / 3;    Point G = { x, y };    return G;} // Driver codeint main(){    // Coordinates of the vertices    Point A = { 1, 2 }, B = { 3, -4 }, C = { 6, -7 };    // Find the centroid of the triangle    Point G = findCentroid(A, B, C);     // Print the centroid    cout << "Centroid = (" << G.x << ", " << G.y << ")"         << endl;     return 0;}

## Python3

 # Python3 program to find the centroid of a triangleimport math # Structure to store coordinates of a pointclass Point:    def __init__(self, x, y):        self.x = x        self.y = y # Function to find the centroid of a triangledef findCentroid(A, B, C):    x = (A.x + B.x + C.x) / 3    y = (A.y + B.y + C.y) / 3    G = Point(round(x, 6), round(y, 6))    return G  # Driver codeif __name__ == "__main__":    # Coordinates of the vertices    A = Point(1, 2)    B = Point(3, -4)    C = Point(6, -7)     # Find the centroid of the triangle    G = findCentroid(A, B, C)     # Print the centroid    print("Centroid = ({}, {})".format(G.x, G.y))

## Java

 // Java program to find the centroid of a triangleimport java.util.*; // Class to store coordinates of a pointclass Point {    float x, y;    Point(float x, float y) {    this.x = x;    this.y = y;    }} // Class to find the centroid of a triangleclass Centroid {    static Point findCentroid(Point A, Point B, Point C) {    float x = (A.x + B.x + C.x) / 3;    float y = (A.y + B.y + C.y) / 3;    Point G = new Point(x, y);    return G;    }     // Driver code    public static void main(String[] args) {        // Coordinates of the vertices        Point A = new Point(1, 2), B = new Point(3, -4), C = new Point(6, -7);         // Find the centroid of the triangle        Point G = findCentroid(A, B, C);         // Print the centroid        System.out.println("Centroid = (" + G.x + ", " + G.y + ")");    }}

## Javascript

 // Class to store coordinates of a pointclass Point {  constructor(x, y) {    this.x = x;    this.y = y;  }} // Class to find the centroid of a triangleclass Centroid {  static findCentroid(A, B, C) {    let x = (A.x + B.x + C.x) / 3;    let y = (A.y + B.y + C.y) / 3;    let G = new Point(x, y);    return G;  }   // Driver code  static main() {    // Coordinates of the vertices    let A = new Point(1, 2), B = new Point(3, -4), C = new Point(6, -7);     // Find the centroid of the triangle    let G = Centroid.findCentroid(A, B, C);     // Print the centroid    console.log(Centroid = (${G.x},${G.y}));  }} // Call the main methodCentroid.main();

## C#

 // C# program to find the centroid of a triangleusing System; // Structure to store coordinates of a pointstruct Point{    public float x;    public float y;} // Class to find the centroid of a triangleclass Centroid {    // Function to find the centroid of a triangle    public static Point findCentroid(Point A, Point B,                                     Point C)    {        float x = (A.x + B.x + C.x) / 3;        float y = (A.y + B.y + C.y) / 3;        Point G = new Point{ x = x, y = y };        return G;    }    // Driver code    static void Main(string[] args)    {        // Coordinates of the vertices        Point A = new Point{ x = 1, y = 2 };        Point B = new Point{ x = 3, y = -4 };        Point C = new Point{ x = 6, y = -7 };         // Find the centroid of the triangle        Point G = findCentroid(A, B, C);         // Print the centroid        Console.WriteLine("Centroid = ({0}, {1})", G.x,                          G.y);    }}// This code is contributed by sarojmcy2e

Output
Centroid = (3.33333, -3)

Time complexity: O(1), as the calculations involved are simple arithmetic operations.

Auxiliary Space: O(1),  as the only variables used are the coordinates of the vertices and the centroid, which require constant space.