Open In App
Related Articles

Find area of triangle if two vectors of two adjacent sides are given

Improve Article
Improve
Save Article
Save
Like Article
Like

Given two vectors in form of (xi+yj+zk) of two adjacent sides of a triangle. The task is to find out the area of a triangle.
Examples: 
 

Input: 
x1 = -2, y1 = 0, z1 = -5 
x2 = 1, y2 = -2, z2 = -1 
Output: Area = 6.422616289332565
Input: 
x1 = -2, y1 = 1, z1 = 5 
x2 = 1, y2 = 3, z2 = -1 
Output: Area = 8.860022573334675 
 

 

 

Approach: Suppose we have two vectors a(x1*i+y1*j+z1*k) and b(x2*i+y2*j+z2*k) and we know that area of triangle is given by : 
 

Area of triangle = (magnitude of cross product of vectors a and b) / 2 i.e |axb| / 2 
And we know a X b = (y1*z2 – y2*z1)*i – (x1*z2 – x2*z1)*j + (x1*y2 – x2*y1)*k
Then area = 
\hug{\frac{1}{2}}.{\sqrt{(y_{1}*z_{2}-y_{2}*z_{1})^{2}+(x_{1}*z_{2}-x_{2}*z_{1})^{2}+(x_{1}*y_{2}-x_{2}*y_{1})^{2}}

 

C++




// C++ program to calculate area of 
// triangle if vectors of
// 2 adjacent sides are given
 
#include<bits/stdc++.h>
using namespace std ;
 
// function to calculate area of triangle 
float area(int x1, int y1, int z1, int x2, int y2, int z2)
{
    float area = sqrt(pow((y1 * z2 - y2 * z1),2)
             + pow((x1 * z2 - x2 * z1),2) +
               pow((x1 * y2 - x2 * y1),2)) ;
     
         area = area / 2;
    return area ;
     
}
     
// Driver Code
int main()
{
    int    x1 = -2 ;
    int y1 = 0 ;
    int z1 = -5 ;
    int x2 = 1 ;
    int y2 = -2 ;
    int z2 = -1 ;
    float  a = area(x1, y1, z1, x2, y2, z2) ; 
    cout << "Area = " << a << endl;
                         
    return 0;
// This code is contributed by ANKITRAI1
}


Java




// Java program to calculate area of
// triangle if vectors of
// 2 adjacent sides are given
import java.util.*;
 
class solution
{
// function to calculate area of triangle
static float area(int x1, int y1, int z1, int x2, int y2, int z2)
{
  double a =Math.pow((y1 * z2 - y2 * z1),2)
            + Math.pow((x1 * z2 - x2 * z1),2) +
                Math.pow((x1 * y2 - x2 * y1),2);
float area = (float)Math.sqrt(a) ;
     
    area = area / 2;
    return area ;
}
 
//Driver program
public static void main(String arr[])
{
    int x1 = -2 ;
    int y1 = 0 ;
    int z1 = -5 ;
    int x2 = 1 ;
    int y2 = -2 ;
    int z2 = -1 ;
    float a = area(x1, y1, z1, x2, y2, z2) ;
    System.out.println("Area= "+a);
}
 
}
//This code is contributed by
//Surendra_Gangwar


Python 3




# Python code to calculate area of
# triangle if vectors of
# 2 adjacent sides are given
import math
 
# to calculate area of triangle
def area(x1, y1, z1, x2, y2, z2):
    area = math.sqrt((y1 * z2 - y2 * z1) ** 2
           + (x1 * z2 - x2 * z1) ** 2 +
           (x1 * y2 - x2 * y1) ** 2)
    area = area / 2
    return area
 
# main function
def main():
    x1 = -2
    y1 = 0
    z1 = -5
    x2 = 1
    y2 = -2
    z2 = -1
    a = area(x1, y1, z1, x2, y2, z2)
    print("Area = ", a)
 
# driver code   
if __name__=="__main__":
    main()


C#




// C# program to calculate area 
// of triangle if vectors of
// 2 adjacent sides are given
using System;
class GFG
{
// function to calculate area of triangle
static float area(int x1, int y1, int z1,
                  int x2, int y2, int z2)
{
double a = Math.Pow((y1 * z2 - y2 * z1), 2) +
           Math.Pow((x1 * z2 - x2 * z1), 2) +
           Math.Pow((x1 * y2 - x2 * y1), 2);
float area = (float)Math.Sqrt(a) ;
     
    area = area / 2;
    return area ;
}
 
// Driver Code
public static void Main()
{
    int x1 = -2;
    int y1 = 0;
    int z1 = -5;
    int x2 = 1;
    int y2 = -2;
    int z2 = -1;
    float a = area(x1, y1, z1, x2, y2, z2);
    Console.WriteLine("Area = " + a);
}
}
 
// This code is contributed
// by inder_verma


PHP




<?php
// PHP program to calculate area
// of triangle if vectors of
// 2 adjacent sides are given
 
// function to calculate area of triangle
function area($x1, $y1, $z1,
              $x2, $y2, $z2)
{
    $area = sqrt(pow(($y1 * $z2 - $y2 * $z1), 2) +
                 pow(($x1 * $z2 - $x2 * $z1), 2) +
                 pow(($x1 * $y2 - $x2 * $y1), 2));
     
        $area = $area / 2;
    return $area ;
     
}
     
// Driver Code
$x1 = -2 ;
$y1 = 0 ;
$z1 = -5 ;
$x2 = 1 ;
$y2 = -2 ;
$z2 = -1 ;
$a = area($x1, $y1, $z1, $x2, $y2, $z2);
echo "Area = ".$a ."\n";                        
 
// This code is contributed by ChitraNayal
?>


Javascript




<script>
 
// Javascript program to calculate area of 
// triangle if vectors of
// 2 adjacent sides are given
 
// function to calculate area of triangle 
function area( x1,  y1,  z1,  x2,  y2,  z2)
{
    let area = Math.sqrt(Math.pow((y1 * z2 - y2 * z1),2)
             + Math.pow((x1 * z2 - x2 * z1),2) +
               Math.pow((x1 * y2 - x2 * y1),2)) ;
     
         area = area / 2;
    return area ;
     
}
     
// Driver Code
 
    let    x1 = -2 ;
    let y1 = 0 ;
    let z1 = -5 ;
    let x2 = 1 ;
    let y2 = -2 ;
    let z2 = -1 ;
    let  a = area(x1, y1, z1, x2, y2, z2) ; 
          
    document.write( "Area= " +a);
 
// This code contributed by aashish1995
 
</script>


Output: 

Area =  6.422616289332565

 

Time Complexity: O(logn) as it is using inbuilt sqrt function
Auxiliary Space: O(1), no extra space is required, so it is a constant.


Feeling lost in the world of random DSA topics, wasting time without progress? It's time for a change! Join our DSA course, where we'll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 geeks!

Last Updated : 27 Aug, 2022
Like Article
Save Article
Similar Reads
Related Tutorials