 Open in App
Not now

# Program to find the Centroid of the triangle

• Last Updated : 28 Mar, 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 code int 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 triangle import java.util.*; import java.lang.*;   class GFG {       // Driver code public 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

## C#

 // C# program to find the  // centroid of triangle using System;   class GFG {       // Driver code static 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

 

## Javascript

 

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)

Bellow 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 point struct Point {     float x, y; };   // Function to find the centroid of a triangle 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 = { x, y };     return G; }   // Driver code int 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 triangle import math   # Structure to store coordinates of a point class Point:     def __init__(self, x, y):         self.x = x         self.y = y   # Function to find the centroid of a triangle def 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 code if __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))

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.

My Personal Notes arrow_drop_up
Related Articles