Open In App

Find the other end point of a line with given one end and mid

Improve
Improve
Like Article
Like
Save
Share
Report

Given a midpoint of line(m1, m2) and one coordinate of a line (x1, y1), find the other end point(x2, y2) of a line.

Examples: 

Input  : x1 = –1, y1 = 2, and 
         m1 = 3, m2 = –6
Output : x2 = 7, y2 = 10

Input  : x1 = 6.4, y1 = 3 and 
         m1 = –10.7, m2 = 4
Output : x2 = 3, y2 = 4

The Midpoint Formula: The midpoint of two points, (x1, y2) and (x2, y2) is the point M found by using: 
M=((x1+x2)/2, (y1+y2)/2), 

We have need of a (x2, y2) so we modifies the formula 

          m1 = ((x1+x2)/2),  m2 = ((y1+y2)/2)
          2*m1 = (x1+x2),  2*m2 = (y1+y2)
          x2 = (2*m1 - x1),  y2 = (2*m2 - y1)

C++




// CPP program to find the end point of a line
#include <iostream>
using namespace std;
  
// CPP function to find the end point of a line
void otherEndPoint(int x1, int y1, int m1, int m2)
{
    // find end point for x coordinates
    float x2 = (float)(2 * m1 - x1);
  
    // find end point for y coordinates
    float y2 = (float)(2 * m2 - y1);
  
    cout << "x2 = " << x2 << ", "
         << "y2 = " << y2;
}
  
// Driven Program
int main()
{
    int x1 = -4, y1 = -1, m1 = 3, m2 = 5;
    otherEndPoint(x1, y1, m1, m2);
    return 0;
}


Java




// Java program to find the end point of a line
class GFG {
      
    // Java function to find the end point
    // of a line
    static void otherEndPoint(int x1, int y1, 
                               int m1, int m2)
    {
        // find end point for x coordinates
        float x2 = (float)(2 * m1 - x1);
      
        // find end point for y coordinates
        float y2 = (float)(2 * m2 - y1);
      
        System.out.println("x2 = " + x2 + ", "
                               + "y2 = " + y2);
    }
      
    // Driven Program
    public static void main(String args[])
    {
        int x1 = -4, y1 = -1, m1 = 3, m2 = 5;
        otherEndPoint(x1, y1, m1, m2);
    }
}
  
// This code is contributed by JaideepPyne.


Python3




# Python3 program to find the end
# point of a line
  
# function to find the end point
# of a line
def otherEndPoint(x1, y1, m1, m2):
      
    # find end point for x coordinates
    x2 = (2 * m1 - x1)
  
    # find end point for y coordinates
    y2 = (2 * m2 - y1)
  
    print ("x2 = {}, y2 = {}" 
               . format(x2, y2))
  
# Driven Program
x1 = -4
y1 = -1
m1 = 3
m2 = 5
otherEndPoint(x1, y1, m1, m2)
  
# This code is contributed by 
# Manish Shaw (manishshaw1)


C#




// C# program to find the
// end point of a line
using System;
  
class GFG {
      
    // function to find the 
    // end pointof a line
    static void otherEndPoint(int x1, int y1, 
                              int m1, int m2)
    {
          
        // find end point for x coordinates
        float x2 = (float)(2 * m1 - x1);
      
        // find end point for y coordinates
        float y2 = (float)(2 * m2 - y1);
      
        Console.WriteLine("x2 = " + x2 + ", "
                          + "y2 = " + y2);
    }
      
    // Driver Program
    public static void Main(String []args)
    {
        int x1 = -4, y1 = -1, m1 = 3, m2 = 5;
        otherEndPoint(x1, y1, m1, m2);
    }
}
  
// This code is contributed by nitin mittal.


PHP




<?php
// php program to find the end point of a line
  
// PHP function to find the end point of a line
function otherEndPoint($x1, $y1, $m1, $m2)
{
      
    // find end point for x coordinates
    $x2 = (2 * $m1 - $x1);
  
    // find end point for y coordinates
    $y2 = (2 * $m2 - $y1);
  
    echo "x2 = " . $x2 . ", y2 = " . $y2 ;
}
  
// Driven Program
    $x1 = -4; $y1 = -1; $m1 = 3; $m2 = 5;
    otherEndPoint($x1, $y1, $m1, $m2);
  
// This code is contributed by nitin mittal.
?>


Javascript




<script>
  
// Javascript program to find the 
// end point of a line
  
// Function to find 
// the end point of a line
function otherEndPoint(x1, y1, m1, m2)
{
      
    // Find end point for x coordinates
    let x2 = 2 * m1 - x1;
  
    // Find end point for y coordinates
    let y2 = 2 * m2 - y1;
  
    document.write("x2 = " + x2 + ", "
                   "y2 = " + y2);
}
  
// Driver code 
let x1 = -4, y1 = -1, m1 = 3, m2 = 5;
  
otherEndPoint(x1, y1, m1, m2);
  
// This code is contributed by jana_sayantan
      
</script>


Output: 

x2 = 10, y2 = 11

 

Time Complexity:O(1)

Auxiliary Space:O(1)



Last Updated : 20 Feb, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads