Given the vertices of a triangle and length of its sides. A circle is inscribed in a triangle. The task is to find the incenter of a triangle.
Examples:
Input: A(2, 2), B(1, 1), C(3, 1)
Output: (2, 1.5)Input: A(3, 3), B(1, 2), C(2, 2)
Output: (2.5, 2.83)
Approach:
- The center of the circle that touches the sides of a triangle is called its incenter.
- Suppose the vertices of the triangle are A(x1, y1), B(x2, y2) and C(x3, y3).
- Let the side AB = a, BC = b, AC = c then the coordinates of the in-center is given by the formula:
Below is the implementation of the above approach:
C++
// C++ program to find the // incenter of a triangle #include <bits/stdc++.h> using namespace std; // Driver code int main() { // coordinate of the vertices float x1 = 2, x2 = 1, x3 = 3; float y1 = 2, y2 = 1, y3 = 1; float a = 2, b = 1, c = 1; // Formula to calculate in-center float x = (a * x1 + b * x2 + c * x3) / (a + b + c); float y = (a * y1 + b * y2 + c * y3) / (a + b + c); // System.out.print(setprecision(3)); cout << "Incenter = " << "(" << x << ", " << y << ")" ; return 0; } // This code is contributed by 29AjayKumar |
Java
// Java program to find the // incenter of a triangle import java.util.*; import java.lang.*; class GFG { // Driver code public static void main(String args[]) { // coordinate of the vertices float x1 = 2 , x2 = 1 , x3 = 3 ; float y1 = 2 , y2 = 1 , y3 = 1 ; float a = 2 , b = 1 , c = 1 ; // Formula to calculate in-center float x = (a * x1 + b * x2 + c * x3) / (a + b + c); float y = (a * y1 + b * y2 + c * y3) / (a + b + c); // System.out.print(setprecision(3)); System.out.println( "Incenter= " + "(" + x + ", " + y + ")" ); } } |
Python3
# Python3 program to find the # incenter of a triangle # Driver code # coordinate of the vertices x1 = 2 ; x2 = 1 ; x3 = 3 ; y1 = 2 ; y2 = 1 ; y3 = 1 ; a = 2 ; b = 1 ; c = 1 ; # Formula to calculate in-center x = (a * x1 + b * x2 + c * x3) / (a + b + c); y = (a * y1 + b * y2 + c * y3) / (a + b + c); # System.out.print(setprecision(3)); print ( "Incenter = (" , x, "," , y, ")" ); # This code is contributed # by Akanksha Rai |
C#
// C# program to find the // incenter of a triangle using System; class GFG { // Driver code public static void Main() { // coordinate of the vertices float x1 = 2, x2 = 1, x3 = 3; float y1 = 2, y2 = 1, y3 = 1; float a = 2, b = 1, c = 1; // Formula to calculate in-center float x = (a * x1 + b * x2 + c * x3) / (a + b + c); float y = (a * y1 + b * y2 + c * y3) / (a + b + c); // System.out.print(setprecision(3)); Console.WriteLine( "Incenter= " + "(" + x + ", " + y + ")" ); } } // This code is contributed by vt_m. |
Javascript
<script> // JavaScript program to find the // incenter of a triangle // Driver code // coordinate of the vertices var x1 = 2, x2 = 1, x3 = 3; var y1 = 2, y2 = 1, y3 = 1; var a = 2, b = 1, c = 1; // Formula to calculate in-center var x = (a * x1 + b * x2 + c * x3) / (a + b + c); var y = (a * y1 + b * y2 + c * y3) / (a + b + c); document.write( "Incenter = " + "(" + x.toFixed(1) + ", " + y.toFixed(1) + ")" ); </script> |
Incenter = (2, 1.5)
Time Complexity: O(1), the code will run in a constant time.
Auxiliary Space: O(1), no extra space is required, so it is a constant.