Program to find the Centroid of the triangle
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 <bits/stdc++.h> 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
<?php // PHP program to find the // centroid of triangle // Driver code // coordinate of the vertices $x1 = 1; $x2 = 3 ; $x3 = 6; $y1 = 2; $y2 = -4; $y3 = -7; // Formula to calculate centroid $x = round (( $x1 + $x2 + $x3 ) / 3, 2); $y = round (( $y1 + $y2 + $y3 ) / 3, 2); echo "Centroid = " . "(" . $x . ", " . $y . ")" ; // This code is contributed // by ChitraNayal ?> |
Javascript
<script> // javascript program to find the centroid of triangle // Driver code // coordinate of the vertices var x1 = 1, x2 = 3, x3 = 6; var y1 = 2, y2 = -4, y3 = -7; // Formula to calculate centroid var x = (x1 + x2 + x3) / 3; var y = (y1 + y2 + y3) / 3; // document.write(setprecision(3)); document.write( "Centroid = " + "(" + x.toFixed(2) + ", " + y + ")" ); // This code contributed by shikhasingrajput </script> |
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.
- Let the vertices of the triangle be A(x1, y1), B(x2, y2), and C(x3, y3).
- 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 <iostream> 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.
Please Login to comment...