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++

[sourcecode language=”CPP”]

// 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 cordinates

float x2 = (float)(2 * m1 – x1);

// find end point for y cordinates

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;

}

[/sourcecode]

## Java

[sourcecode language=”Java”]

// Java program to find the end point of a line

class GFG {

// CPP 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 cordinates

float x2 = (float)(2 * m1 – x1);

// find end point for y cordinates

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.

[/sourcecode]

## C#

[sourcecode language=”CSHARP” highlight=”7-21″]

// 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 cordinates

float x2 = (float)(2 * m1 – x1);

// find end point for y cordinates

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.

[/sourcecode]

## PHP

[sourcecode language=”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 cordinates

$x2 = (2 * $m1 – $x1);

// find end point for y cordinates

$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.

?>

[/sourcecode]

**Output:**

x2 = 10, y2 = 11

## Recommended Posts:

- Program to find the mid-point of a line
- Find an Integer point on a line segment with given two ends
- Reflection of a point about a line in C++
- Direction of a Point from a Line Segment
- Perpendicular distance between a point and a Line in 2 D
- Shortest distance between a Line and a Point in a 3-D plane
- Section formula (Point that divides a line in given ratio)
- Program to find slope of a line
- Find points at a given distance on a line of given slope
- Program to find line passing through 2 Points
- Find normal at a given point on the curve
- Find Tangent at a given point on the curve
- Find the Missing Point of Parallelogram
- Find the foot of perpendicular of a point in a 3 D plane
- Find a point such that sum of the Manhattan distances is minimized

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.