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 + ")".
// 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 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) |
# 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 |
<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> |
// 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 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 ?> |
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)
Below is the code for the above approach :
// 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 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))
|
// Java program to find the centroid of a triangle import java.util.*;
// Class to store coordinates of a point class Point {
float x, y;
Point( float x, float y) {
this .x = x;
this .y = y;
}
} // Class to find the centroid of a triangle class 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 + ")" );
}
} |
// Class to store coordinates of a point class Point { constructor(x, y) {
this .x = x;
this .y = y;
}
} // Class to find the centroid of a triangle class 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 method Centroid.main(); |
// C# program to find the centroid of a triangle using System;
// Structure to store coordinates of a point struct Point
{ public float x;
public float y;
} // Class to find the centroid of a triangle class 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.