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)