Another way to write equation of the line passing through two points? [on hold]
up vote
2
down vote
favorite
I am trying to write equation of the line passing through two points pA={1, -3}
and pB={-33, -1}
in the form x+17 y+50=0
. I tried
{pA, pB} = {{1, -3}, {-33, -1}};
u = pB - pA;
m = {x, y};
v = m - pA;
d = Det[{u, v}];
w = {Coefficient[d, x], Coefficient[d, y]};
k = GCD[Coefficient[d, x], Coefficient[d, y]];
If[w[[1]] != 0, n = Sign[w[[1]]] w/k,
If[w[[2]] != 0, n = Sign[w[[2]]] w/k]];
TraditionalForm[Expand[n.v]] == 0
I got
x+17 y+50==0
Is there another way to write it?
output-formatting geometry
put on hold as unclear what you're asking by march, José Antonio Díaz Navas, m_goldberg, Bob Hanlon, Sumit 2 days ago
Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.
add a comment |
up vote
2
down vote
favorite
I am trying to write equation of the line passing through two points pA={1, -3}
and pB={-33, -1}
in the form x+17 y+50=0
. I tried
{pA, pB} = {{1, -3}, {-33, -1}};
u = pB - pA;
m = {x, y};
v = m - pA;
d = Det[{u, v}];
w = {Coefficient[d, x], Coefficient[d, y]};
k = GCD[Coefficient[d, x], Coefficient[d, y]];
If[w[[1]] != 0, n = Sign[w[[1]]] w/k,
If[w[[2]] != 0, n = Sign[w[[2]]] w/k]];
TraditionalForm[Expand[n.v]] == 0
I got
x+17 y+50==0
Is there another way to write it?
output-formatting geometry
put on hold as unclear what you're asking by march, José Antonio Díaz Navas, m_goldberg, Bob Hanlon, Sumit 2 days ago
Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.
Write or solve?
– Kuba♦
Nov 19 at 8:39
@Kuba Write the equation of the line passing through two points.
– minhthien_2016
Nov 19 at 8:43
1
Isn't17 x-y-20==0
already in that form?
– Kuba♦
Nov 19 at 8:51
Yes. My question is "is there another way to write the equation in that form?"
– minhthien_2016
Nov 19 at 8:53
1
You can multiply sides by a constant but I fail to see how it is a Mathematica question.
– Kuba♦
Nov 19 at 8:58
add a comment |
up vote
2
down vote
favorite
up vote
2
down vote
favorite
I am trying to write equation of the line passing through two points pA={1, -3}
and pB={-33, -1}
in the form x+17 y+50=0
. I tried
{pA, pB} = {{1, -3}, {-33, -1}};
u = pB - pA;
m = {x, y};
v = m - pA;
d = Det[{u, v}];
w = {Coefficient[d, x], Coefficient[d, y]};
k = GCD[Coefficient[d, x], Coefficient[d, y]];
If[w[[1]] != 0, n = Sign[w[[1]]] w/k,
If[w[[2]] != 0, n = Sign[w[[2]]] w/k]];
TraditionalForm[Expand[n.v]] == 0
I got
x+17 y+50==0
Is there another way to write it?
output-formatting geometry
I am trying to write equation of the line passing through two points pA={1, -3}
and pB={-33, -1}
in the form x+17 y+50=0
. I tried
{pA, pB} = {{1, -3}, {-33, -1}};
u = pB - pA;
m = {x, y};
v = m - pA;
d = Det[{u, v}];
w = {Coefficient[d, x], Coefficient[d, y]};
k = GCD[Coefficient[d, x], Coefficient[d, y]];
If[w[[1]] != 0, n = Sign[w[[1]]] w/k,
If[w[[2]] != 0, n = Sign[w[[2]]] w/k]];
TraditionalForm[Expand[n.v]] == 0
I got
x+17 y+50==0
Is there another way to write it?
output-formatting geometry
output-formatting geometry
edited Nov 19 at 23:09
asked Nov 19 at 8:37
minhthien_2016
549310
549310
put on hold as unclear what you're asking by march, José Antonio Díaz Navas, m_goldberg, Bob Hanlon, Sumit 2 days ago
Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.
put on hold as unclear what you're asking by march, José Antonio Díaz Navas, m_goldberg, Bob Hanlon, Sumit 2 days ago
Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.
Write or solve?
– Kuba♦
Nov 19 at 8:39
@Kuba Write the equation of the line passing through two points.
– minhthien_2016
Nov 19 at 8:43
1
Isn't17 x-y-20==0
already in that form?
– Kuba♦
Nov 19 at 8:51
Yes. My question is "is there another way to write the equation in that form?"
– minhthien_2016
Nov 19 at 8:53
1
You can multiply sides by a constant but I fail to see how it is a Mathematica question.
– Kuba♦
Nov 19 at 8:58
add a comment |
Write or solve?
– Kuba♦
Nov 19 at 8:39
@Kuba Write the equation of the line passing through two points.
– minhthien_2016
Nov 19 at 8:43
1
Isn't17 x-y-20==0
already in that form?
– Kuba♦
Nov 19 at 8:51
Yes. My question is "is there another way to write the equation in that form?"
– minhthien_2016
Nov 19 at 8:53
1
You can multiply sides by a constant but I fail to see how it is a Mathematica question.
– Kuba♦
Nov 19 at 8:58
Write or solve?
– Kuba♦
Nov 19 at 8:39
Write or solve?
– Kuba♦
Nov 19 at 8:39
@Kuba Write the equation of the line passing through two points.
– minhthien_2016
Nov 19 at 8:43
@Kuba Write the equation of the line passing through two points.
– minhthien_2016
Nov 19 at 8:43
1
1
Isn't
17 x-y-20==0
already in that form?– Kuba♦
Nov 19 at 8:51
Isn't
17 x-y-20==0
already in that form?– Kuba♦
Nov 19 at 8:51
Yes. My question is "is there another way to write the equation in that form?"
– minhthien_2016
Nov 19 at 8:53
Yes. My question is "is there another way to write the equation in that form?"
– minhthien_2016
Nov 19 at 8:53
1
1
You can multiply sides by a constant but I fail to see how it is a Mathematica question.
– Kuba♦
Nov 19 at 8:58
You can multiply sides by a constant but I fail to see how it is a Mathematica question.
– Kuba♦
Nov 19 at 8:58
add a comment |
6 Answers
6
active
oldest
votes
up vote
6
down vote
accepted
Simplify[y - InterpolatingPolynomial[{pA, pB}, x] == 0]
50 + x + 17 y == 0
Also
Simplify[y - a x - b == 0 /. First@Solve[a # + b == #2 & @@@ {pA, pB}, {a, b}]]
50 + x + 17 y == 0
And
Simplify @ Rationalize[y - Fit[{pA, pB}, {x, 1}, x] == 0]
50 + x + 17 y == 0
add a comment |
up vote
4
down vote
You may do as follows. Let us look for the equation in the form ax+by==1, where the parameters a and b are to be found.This will substitute the coordinates of the points pA and pB into this equations, thus, forming two equations with respect to a and b and solves the system:
eq = a*#[[1]] + b*#[[2]] == 1 &;
eq1=eq /@ {{1, -3}, {-33, -1}}
(* {a - 3 b == 1, -33 a - b == 1} *)
This will substitute the solution into the linear equation already in coordinates x and y:
eq[{x, y}] /. sol
(* -(x/50) - (17 y)/50 == 1 *)
This will plot the solution:
Show[{
ContourPlot[-(x/50) - (17 y)/50 == 1, {x, -34, 2}, {y, -4, 0}],
Graphics[{Red, PointSize[0.015], Point[#] & /@ {{1, -3}, {-33, -1}}}]
}]
yielding the following plot:
The original points are shown in red.
This is one of several possible ways.
Have fun!
add a comment |
up vote
4
down vote
The equation of a planar line going through two points $ P_1(x_1,y_1) $ and $ P_2(x_2,y_2) $ (e.g. cf this for reference) is
$$
begin{vmatrix}
x & y\
x_2-x_1 & y_2-y_1
end{vmatrix}
=
begin{vmatrix}
x_1 & y_1\
x_2 & y_2
end{vmatrix}.
$$
So there is the piece of codes below:
Clear[eq, pts]
eq = Simplify[Det[{{x, y}, -Subtract @@ #}] == Det[#]] &;
pts = {{1, -3}, {-33, -1}};
eq[pts]
50 + x + 17 y == 0
Or
eq2 = Simplify[Det[{-1, 1} Differences[Prepend[#, {x, y}]]] == 0] &;
Ifpts = {{1, -3}, {-33, 150}}
How can I get the form9 x+2 y-3=0
. Your code ouput9 x+2 y==3
Allways in the forma x + b y + c==0
,a>0, if
a=0, then
b >0`.
– minhthien_2016
Nov 19 at 12:18
@minhthien_2016 Sort ofeq[pts] /. a_ == b_ :> a - b == 0
, though I think it just a minor issue.
– Αλέξανδρος Ζεγγ
Nov 19 at 13:04
Thank you very much.
– minhthien_2016
Nov 19 at 13:46
Another way :Det[{{x - #1[[1]], y - #1[[2]]}, {x - #2[[1]], y - #2[[2]]}}] == 0 & @@ {{1, -3}, {-33, -1}} // Simplify
– Sigis K
Nov 20 at 23:16
@SigisK Yes, it is.
– Αλέξανδρος Ζεγγ
Nov 21 at 4:12
add a comment |
up vote
4
down vote
With RegionMember:
Simplify[RegionMember[InfiniteLine[{{1, -3}, {-33, -1}}], {x, y}],
Element[x | y, Reals]]
50 + x + 17 y == 0
add a comment |
up vote
2
down vote
Knowing that the coefficients are components of a vector perpendicular to the difference of the two points, I think the most convenient command to obtain the equation is
perp = Cross[pB - pA];
perp.{x, y} == perp.pA // Simplify
50 + x + 17 y == 0
The last step before Simplify
is
-2 x - 34 y == 100
so you can see that the simplification brought all terms to one side, factored out the greatest common divisor and fixed the signs.
To Mathematica the sums "50 + x + 17y" and "x + 17y + 50" are exactly the same expression, but if you want to order linear terms before constants in the displayed form, you may consider using TraditionalForm
(with the added benefit of using a "normal" equality sign while remaining copy-and-pastable):
% // TraditionalForm
$x+17 y+50=0$
Ad sign of the x coefficient: I don't know of any trick simpler than multiply the result by –1 if you don't like it.
– The Vee
Nov 19 at 13:26
add a comment |
up vote
1
down vote
Although this might be more a math question, the ingenious answers have taught me a lot about MMA. Thanks to all contributors. I can add an answer based on my high school Analytical Geometry classes. The mnemonic two-point form of the equation of a straight line through A(x1,y1) and B(x2,y2) is
Using the coordinates for pA and pB given in the question:
Simplify@With[{x1 = 1, y1 = -3, x2 = -33, y2 = -1}, (y - y1)/(
y2 - y1) == (x - x1)/(x2 - x1)] // TraditionalForm
gives
However the more 'symmetrical form' of the equation leads to an answer that is mathematically identical, but is not in the required form. Does anybody know how to force MMA to yield the required form?
Simplify@With[{x1 = 1, y1 = -3, x2 = -33, y2 = -1}, (y - y1)/(
x - x1) == (y2 - y1)/(x2 - x1)] // TraditionalForm
gives
I think, we can write in the formSimplify@With[{x1 = 1, y1 = -3, x2 = -33, y2 = -1}, (y - y1)* (x2 - x1) - (x - x1)*(y2 - y1) == 0] // TraditionalForm
– minhthien_2016
Nov 21 at 6:29
My way is almost write the equations in the forma x + b y + c = 0
.
– minhthien_2016
Nov 21 at 6:48
add a comment |
6 Answers
6
active
oldest
votes
6 Answers
6
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
6
down vote
accepted
Simplify[y - InterpolatingPolynomial[{pA, pB}, x] == 0]
50 + x + 17 y == 0
Also
Simplify[y - a x - b == 0 /. First@Solve[a # + b == #2 & @@@ {pA, pB}, {a, b}]]
50 + x + 17 y == 0
And
Simplify @ Rationalize[y - Fit[{pA, pB}, {x, 1}, x] == 0]
50 + x + 17 y == 0
add a comment |
up vote
6
down vote
accepted
Simplify[y - InterpolatingPolynomial[{pA, pB}, x] == 0]
50 + x + 17 y == 0
Also
Simplify[y - a x - b == 0 /. First@Solve[a # + b == #2 & @@@ {pA, pB}, {a, b}]]
50 + x + 17 y == 0
And
Simplify @ Rationalize[y - Fit[{pA, pB}, {x, 1}, x] == 0]
50 + x + 17 y == 0
add a comment |
up vote
6
down vote
accepted
up vote
6
down vote
accepted
Simplify[y - InterpolatingPolynomial[{pA, pB}, x] == 0]
50 + x + 17 y == 0
Also
Simplify[y - a x - b == 0 /. First@Solve[a # + b == #2 & @@@ {pA, pB}, {a, b}]]
50 + x + 17 y == 0
And
Simplify @ Rationalize[y - Fit[{pA, pB}, {x, 1}, x] == 0]
50 + x + 17 y == 0
Simplify[y - InterpolatingPolynomial[{pA, pB}, x] == 0]
50 + x + 17 y == 0
Also
Simplify[y - a x - b == 0 /. First@Solve[a # + b == #2 & @@@ {pA, pB}, {a, b}]]
50 + x + 17 y == 0
And
Simplify @ Rationalize[y - Fit[{pA, pB}, {x, 1}, x] == 0]
50 + x + 17 y == 0
edited Nov 19 at 9:32
answered Nov 19 at 9:03
kglr
172k8194399
172k8194399
add a comment |
add a comment |
up vote
4
down vote
You may do as follows. Let us look for the equation in the form ax+by==1, where the parameters a and b are to be found.This will substitute the coordinates of the points pA and pB into this equations, thus, forming two equations with respect to a and b and solves the system:
eq = a*#[[1]] + b*#[[2]] == 1 &;
eq1=eq /@ {{1, -3}, {-33, -1}}
(* {a - 3 b == 1, -33 a - b == 1} *)
This will substitute the solution into the linear equation already in coordinates x and y:
eq[{x, y}] /. sol
(* -(x/50) - (17 y)/50 == 1 *)
This will plot the solution:
Show[{
ContourPlot[-(x/50) - (17 y)/50 == 1, {x, -34, 2}, {y, -4, 0}],
Graphics[{Red, PointSize[0.015], Point[#] & /@ {{1, -3}, {-33, -1}}}]
}]
yielding the following plot:
The original points are shown in red.
This is one of several possible ways.
Have fun!
add a comment |
up vote
4
down vote
You may do as follows. Let us look for the equation in the form ax+by==1, where the parameters a and b are to be found.This will substitute the coordinates of the points pA and pB into this equations, thus, forming two equations with respect to a and b and solves the system:
eq = a*#[[1]] + b*#[[2]] == 1 &;
eq1=eq /@ {{1, -3}, {-33, -1}}
(* {a - 3 b == 1, -33 a - b == 1} *)
This will substitute the solution into the linear equation already in coordinates x and y:
eq[{x, y}] /. sol
(* -(x/50) - (17 y)/50 == 1 *)
This will plot the solution:
Show[{
ContourPlot[-(x/50) - (17 y)/50 == 1, {x, -34, 2}, {y, -4, 0}],
Graphics[{Red, PointSize[0.015], Point[#] & /@ {{1, -3}, {-33, -1}}}]
}]
yielding the following plot:
The original points are shown in red.
This is one of several possible ways.
Have fun!
add a comment |
up vote
4
down vote
up vote
4
down vote
You may do as follows. Let us look for the equation in the form ax+by==1, where the parameters a and b are to be found.This will substitute the coordinates of the points pA and pB into this equations, thus, forming two equations with respect to a and b and solves the system:
eq = a*#[[1]] + b*#[[2]] == 1 &;
eq1=eq /@ {{1, -3}, {-33, -1}}
(* {a - 3 b == 1, -33 a - b == 1} *)
This will substitute the solution into the linear equation already in coordinates x and y:
eq[{x, y}] /. sol
(* -(x/50) - (17 y)/50 == 1 *)
This will plot the solution:
Show[{
ContourPlot[-(x/50) - (17 y)/50 == 1, {x, -34, 2}, {y, -4, 0}],
Graphics[{Red, PointSize[0.015], Point[#] & /@ {{1, -3}, {-33, -1}}}]
}]
yielding the following plot:
The original points are shown in red.
This is one of several possible ways.
Have fun!
You may do as follows. Let us look for the equation in the form ax+by==1, where the parameters a and b are to be found.This will substitute the coordinates of the points pA and pB into this equations, thus, forming two equations with respect to a and b and solves the system:
eq = a*#[[1]] + b*#[[2]] == 1 &;
eq1=eq /@ {{1, -3}, {-33, -1}}
(* {a - 3 b == 1, -33 a - b == 1} *)
This will substitute the solution into the linear equation already in coordinates x and y:
eq[{x, y}] /. sol
(* -(x/50) - (17 y)/50 == 1 *)
This will plot the solution:
Show[{
ContourPlot[-(x/50) - (17 y)/50 == 1, {x, -34, 2}, {y, -4, 0}],
Graphics[{Red, PointSize[0.015], Point[#] & /@ {{1, -3}, {-33, -1}}}]
}]
yielding the following plot:
The original points are shown in red.
This is one of several possible ways.
Have fun!
answered Nov 19 at 9:17
Alexei Boulbitch
21.1k2369
21.1k2369
add a comment |
add a comment |
up vote
4
down vote
The equation of a planar line going through two points $ P_1(x_1,y_1) $ and $ P_2(x_2,y_2) $ (e.g. cf this for reference) is
$$
begin{vmatrix}
x & y\
x_2-x_1 & y_2-y_1
end{vmatrix}
=
begin{vmatrix}
x_1 & y_1\
x_2 & y_2
end{vmatrix}.
$$
So there is the piece of codes below:
Clear[eq, pts]
eq = Simplify[Det[{{x, y}, -Subtract @@ #}] == Det[#]] &;
pts = {{1, -3}, {-33, -1}};
eq[pts]
50 + x + 17 y == 0
Or
eq2 = Simplify[Det[{-1, 1} Differences[Prepend[#, {x, y}]]] == 0] &;
Ifpts = {{1, -3}, {-33, 150}}
How can I get the form9 x+2 y-3=0
. Your code ouput9 x+2 y==3
Allways in the forma x + b y + c==0
,a>0, if
a=0, then
b >0`.
– minhthien_2016
Nov 19 at 12:18
@minhthien_2016 Sort ofeq[pts] /. a_ == b_ :> a - b == 0
, though I think it just a minor issue.
– Αλέξανδρος Ζεγγ
Nov 19 at 13:04
Thank you very much.
– minhthien_2016
Nov 19 at 13:46
Another way :Det[{{x - #1[[1]], y - #1[[2]]}, {x - #2[[1]], y - #2[[2]]}}] == 0 & @@ {{1, -3}, {-33, -1}} // Simplify
– Sigis K
Nov 20 at 23:16
@SigisK Yes, it is.
– Αλέξανδρος Ζεγγ
Nov 21 at 4:12
add a comment |
up vote
4
down vote
The equation of a planar line going through two points $ P_1(x_1,y_1) $ and $ P_2(x_2,y_2) $ (e.g. cf this for reference) is
$$
begin{vmatrix}
x & y\
x_2-x_1 & y_2-y_1
end{vmatrix}
=
begin{vmatrix}
x_1 & y_1\
x_2 & y_2
end{vmatrix}.
$$
So there is the piece of codes below:
Clear[eq, pts]
eq = Simplify[Det[{{x, y}, -Subtract @@ #}] == Det[#]] &;
pts = {{1, -3}, {-33, -1}};
eq[pts]
50 + x + 17 y == 0
Or
eq2 = Simplify[Det[{-1, 1} Differences[Prepend[#, {x, y}]]] == 0] &;
Ifpts = {{1, -3}, {-33, 150}}
How can I get the form9 x+2 y-3=0
. Your code ouput9 x+2 y==3
Allways in the forma x + b y + c==0
,a>0, if
a=0, then
b >0`.
– minhthien_2016
Nov 19 at 12:18
@minhthien_2016 Sort ofeq[pts] /. a_ == b_ :> a - b == 0
, though I think it just a minor issue.
– Αλέξανδρος Ζεγγ
Nov 19 at 13:04
Thank you very much.
– minhthien_2016
Nov 19 at 13:46
Another way :Det[{{x - #1[[1]], y - #1[[2]]}, {x - #2[[1]], y - #2[[2]]}}] == 0 & @@ {{1, -3}, {-33, -1}} // Simplify
– Sigis K
Nov 20 at 23:16
@SigisK Yes, it is.
– Αλέξανδρος Ζεγγ
Nov 21 at 4:12
add a comment |
up vote
4
down vote
up vote
4
down vote
The equation of a planar line going through two points $ P_1(x_1,y_1) $ and $ P_2(x_2,y_2) $ (e.g. cf this for reference) is
$$
begin{vmatrix}
x & y\
x_2-x_1 & y_2-y_1
end{vmatrix}
=
begin{vmatrix}
x_1 & y_1\
x_2 & y_2
end{vmatrix}.
$$
So there is the piece of codes below:
Clear[eq, pts]
eq = Simplify[Det[{{x, y}, -Subtract @@ #}] == Det[#]] &;
pts = {{1, -3}, {-33, -1}};
eq[pts]
50 + x + 17 y == 0
Or
eq2 = Simplify[Det[{-1, 1} Differences[Prepend[#, {x, y}]]] == 0] &;
The equation of a planar line going through two points $ P_1(x_1,y_1) $ and $ P_2(x_2,y_2) $ (e.g. cf this for reference) is
$$
begin{vmatrix}
x & y\
x_2-x_1 & y_2-y_1
end{vmatrix}
=
begin{vmatrix}
x_1 & y_1\
x_2 & y_2
end{vmatrix}.
$$
So there is the piece of codes below:
Clear[eq, pts]
eq = Simplify[Det[{{x, y}, -Subtract @@ #}] == Det[#]] &;
pts = {{1, -3}, {-33, -1}};
eq[pts]
50 + x + 17 y == 0
Or
eq2 = Simplify[Det[{-1, 1} Differences[Prepend[#, {x, y}]]] == 0] &;
edited Nov 19 at 9:38
answered Nov 19 at 9:05
Αλέξανδρος Ζεγγ
3,5281927
3,5281927
Ifpts = {{1, -3}, {-33, 150}}
How can I get the form9 x+2 y-3=0
. Your code ouput9 x+2 y==3
Allways in the forma x + b y + c==0
,a>0, if
a=0, then
b >0`.
– minhthien_2016
Nov 19 at 12:18
@minhthien_2016 Sort ofeq[pts] /. a_ == b_ :> a - b == 0
, though I think it just a minor issue.
– Αλέξανδρος Ζεγγ
Nov 19 at 13:04
Thank you very much.
– minhthien_2016
Nov 19 at 13:46
Another way :Det[{{x - #1[[1]], y - #1[[2]]}, {x - #2[[1]], y - #2[[2]]}}] == 0 & @@ {{1, -3}, {-33, -1}} // Simplify
– Sigis K
Nov 20 at 23:16
@SigisK Yes, it is.
– Αλέξανδρος Ζεγγ
Nov 21 at 4:12
add a comment |
Ifpts = {{1, -3}, {-33, 150}}
How can I get the form9 x+2 y-3=0
. Your code ouput9 x+2 y==3
Allways in the forma x + b y + c==0
,a>0, if
a=0, then
b >0`.
– minhthien_2016
Nov 19 at 12:18
@minhthien_2016 Sort ofeq[pts] /. a_ == b_ :> a - b == 0
, though I think it just a minor issue.
– Αλέξανδρος Ζεγγ
Nov 19 at 13:04
Thank you very much.
– minhthien_2016
Nov 19 at 13:46
Another way :Det[{{x - #1[[1]], y - #1[[2]]}, {x - #2[[1]], y - #2[[2]]}}] == 0 & @@ {{1, -3}, {-33, -1}} // Simplify
– Sigis K
Nov 20 at 23:16
@SigisK Yes, it is.
– Αλέξανδρος Ζεγγ
Nov 21 at 4:12
If
pts = {{1, -3}, {-33, 150}}
How can I get the form 9 x+2 y-3=0
. Your code ouput 9 x+2 y==3
Allways in the form a x + b y + c==0
, a>0, if
a=0, then
b >0`.– minhthien_2016
Nov 19 at 12:18
If
pts = {{1, -3}, {-33, 150}}
How can I get the form 9 x+2 y-3=0
. Your code ouput 9 x+2 y==3
Allways in the form a x + b y + c==0
, a>0, if
a=0, then
b >0`.– minhthien_2016
Nov 19 at 12:18
@minhthien_2016 Sort of
eq[pts] /. a_ == b_ :> a - b == 0
, though I think it just a minor issue.– Αλέξανδρος Ζεγγ
Nov 19 at 13:04
@minhthien_2016 Sort of
eq[pts] /. a_ == b_ :> a - b == 0
, though I think it just a minor issue.– Αλέξανδρος Ζεγγ
Nov 19 at 13:04
Thank you very much.
– minhthien_2016
Nov 19 at 13:46
Thank you very much.
– minhthien_2016
Nov 19 at 13:46
Another way :
Det[{{x - #1[[1]], y - #1[[2]]}, {x - #2[[1]], y - #2[[2]]}}] == 0 & @@ {{1, -3}, {-33, -1}} // Simplify
– Sigis K
Nov 20 at 23:16
Another way :
Det[{{x - #1[[1]], y - #1[[2]]}, {x - #2[[1]], y - #2[[2]]}}] == 0 & @@ {{1, -3}, {-33, -1}} // Simplify
– Sigis K
Nov 20 at 23:16
@SigisK Yes, it is.
– Αλέξανδρος Ζεγγ
Nov 21 at 4:12
@SigisK Yes, it is.
– Αλέξανδρος Ζεγγ
Nov 21 at 4:12
add a comment |
up vote
4
down vote
With RegionMember:
Simplify[RegionMember[InfiniteLine[{{1, -3}, {-33, -1}}], {x, y}],
Element[x | y, Reals]]
50 + x + 17 y == 0
add a comment |
up vote
4
down vote
With RegionMember:
Simplify[RegionMember[InfiniteLine[{{1, -3}, {-33, -1}}], {x, y}],
Element[x | y, Reals]]
50 + x + 17 y == 0
add a comment |
up vote
4
down vote
up vote
4
down vote
With RegionMember:
Simplify[RegionMember[InfiniteLine[{{1, -3}, {-33, -1}}], {x, y}],
Element[x | y, Reals]]
50 + x + 17 y == 0
With RegionMember:
Simplify[RegionMember[InfiniteLine[{{1, -3}, {-33, -1}}], {x, y}],
Element[x | y, Reals]]
50 + x + 17 y == 0
answered Nov 19 at 13:59
halmir
10.1k2443
10.1k2443
add a comment |
add a comment |
up vote
2
down vote
Knowing that the coefficients are components of a vector perpendicular to the difference of the two points, I think the most convenient command to obtain the equation is
perp = Cross[pB - pA];
perp.{x, y} == perp.pA // Simplify
50 + x + 17 y == 0
The last step before Simplify
is
-2 x - 34 y == 100
so you can see that the simplification brought all terms to one side, factored out the greatest common divisor and fixed the signs.
To Mathematica the sums "50 + x + 17y" and "x + 17y + 50" are exactly the same expression, but if you want to order linear terms before constants in the displayed form, you may consider using TraditionalForm
(with the added benefit of using a "normal" equality sign while remaining copy-and-pastable):
% // TraditionalForm
$x+17 y+50=0$
Ad sign of the x coefficient: I don't know of any trick simpler than multiply the result by –1 if you don't like it.
– The Vee
Nov 19 at 13:26
add a comment |
up vote
2
down vote
Knowing that the coefficients are components of a vector perpendicular to the difference of the two points, I think the most convenient command to obtain the equation is
perp = Cross[pB - pA];
perp.{x, y} == perp.pA // Simplify
50 + x + 17 y == 0
The last step before Simplify
is
-2 x - 34 y == 100
so you can see that the simplification brought all terms to one side, factored out the greatest common divisor and fixed the signs.
To Mathematica the sums "50 + x + 17y" and "x + 17y + 50" are exactly the same expression, but if you want to order linear terms before constants in the displayed form, you may consider using TraditionalForm
(with the added benefit of using a "normal" equality sign while remaining copy-and-pastable):
% // TraditionalForm
$x+17 y+50=0$
Ad sign of the x coefficient: I don't know of any trick simpler than multiply the result by –1 if you don't like it.
– The Vee
Nov 19 at 13:26
add a comment |
up vote
2
down vote
up vote
2
down vote
Knowing that the coefficients are components of a vector perpendicular to the difference of the two points, I think the most convenient command to obtain the equation is
perp = Cross[pB - pA];
perp.{x, y} == perp.pA // Simplify
50 + x + 17 y == 0
The last step before Simplify
is
-2 x - 34 y == 100
so you can see that the simplification brought all terms to one side, factored out the greatest common divisor and fixed the signs.
To Mathematica the sums "50 + x + 17y" and "x + 17y + 50" are exactly the same expression, but if you want to order linear terms before constants in the displayed form, you may consider using TraditionalForm
(with the added benefit of using a "normal" equality sign while remaining copy-and-pastable):
% // TraditionalForm
$x+17 y+50=0$
Knowing that the coefficients are components of a vector perpendicular to the difference of the two points, I think the most convenient command to obtain the equation is
perp = Cross[pB - pA];
perp.{x, y} == perp.pA // Simplify
50 + x + 17 y == 0
The last step before Simplify
is
-2 x - 34 y == 100
so you can see that the simplification brought all terms to one side, factored out the greatest common divisor and fixed the signs.
To Mathematica the sums "50 + x + 17y" and "x + 17y + 50" are exactly the same expression, but if you want to order linear terms before constants in the displayed form, you may consider using TraditionalForm
(with the added benefit of using a "normal" equality sign while remaining copy-and-pastable):
% // TraditionalForm
$x+17 y+50=0$
answered Nov 19 at 13:25
The Vee
1,393916
1,393916
Ad sign of the x coefficient: I don't know of any trick simpler than multiply the result by –1 if you don't like it.
– The Vee
Nov 19 at 13:26
add a comment |
Ad sign of the x coefficient: I don't know of any trick simpler than multiply the result by –1 if you don't like it.
– The Vee
Nov 19 at 13:26
Ad sign of the x coefficient: I don't know of any trick simpler than multiply the result by –1 if you don't like it.
– The Vee
Nov 19 at 13:26
Ad sign of the x coefficient: I don't know of any trick simpler than multiply the result by –1 if you don't like it.
– The Vee
Nov 19 at 13:26
add a comment |
up vote
1
down vote
Although this might be more a math question, the ingenious answers have taught me a lot about MMA. Thanks to all contributors. I can add an answer based on my high school Analytical Geometry classes. The mnemonic two-point form of the equation of a straight line through A(x1,y1) and B(x2,y2) is
Using the coordinates for pA and pB given in the question:
Simplify@With[{x1 = 1, y1 = -3, x2 = -33, y2 = -1}, (y - y1)/(
y2 - y1) == (x - x1)/(x2 - x1)] // TraditionalForm
gives
However the more 'symmetrical form' of the equation leads to an answer that is mathematically identical, but is not in the required form. Does anybody know how to force MMA to yield the required form?
Simplify@With[{x1 = 1, y1 = -3, x2 = -33, y2 = -1}, (y - y1)/(
x - x1) == (y2 - y1)/(x2 - x1)] // TraditionalForm
gives
I think, we can write in the formSimplify@With[{x1 = 1, y1 = -3, x2 = -33, y2 = -1}, (y - y1)* (x2 - x1) - (x - x1)*(y2 - y1) == 0] // TraditionalForm
– minhthien_2016
Nov 21 at 6:29
My way is almost write the equations in the forma x + b y + c = 0
.
– minhthien_2016
Nov 21 at 6:48
add a comment |
up vote
1
down vote
Although this might be more a math question, the ingenious answers have taught me a lot about MMA. Thanks to all contributors. I can add an answer based on my high school Analytical Geometry classes. The mnemonic two-point form of the equation of a straight line through A(x1,y1) and B(x2,y2) is
Using the coordinates for pA and pB given in the question:
Simplify@With[{x1 = 1, y1 = -3, x2 = -33, y2 = -1}, (y - y1)/(
y2 - y1) == (x - x1)/(x2 - x1)] // TraditionalForm
gives
However the more 'symmetrical form' of the equation leads to an answer that is mathematically identical, but is not in the required form. Does anybody know how to force MMA to yield the required form?
Simplify@With[{x1 = 1, y1 = -3, x2 = -33, y2 = -1}, (y - y1)/(
x - x1) == (y2 - y1)/(x2 - x1)] // TraditionalForm
gives
I think, we can write in the formSimplify@With[{x1 = 1, y1 = -3, x2 = -33, y2 = -1}, (y - y1)* (x2 - x1) - (x - x1)*(y2 - y1) == 0] // TraditionalForm
– minhthien_2016
Nov 21 at 6:29
My way is almost write the equations in the forma x + b y + c = 0
.
– minhthien_2016
Nov 21 at 6:48
add a comment |
up vote
1
down vote
up vote
1
down vote
Although this might be more a math question, the ingenious answers have taught me a lot about MMA. Thanks to all contributors. I can add an answer based on my high school Analytical Geometry classes. The mnemonic two-point form of the equation of a straight line through A(x1,y1) and B(x2,y2) is
Using the coordinates for pA and pB given in the question:
Simplify@With[{x1 = 1, y1 = -3, x2 = -33, y2 = -1}, (y - y1)/(
y2 - y1) == (x - x1)/(x2 - x1)] // TraditionalForm
gives
However the more 'symmetrical form' of the equation leads to an answer that is mathematically identical, but is not in the required form. Does anybody know how to force MMA to yield the required form?
Simplify@With[{x1 = 1, y1 = -3, x2 = -33, y2 = -1}, (y - y1)/(
x - x1) == (y2 - y1)/(x2 - x1)] // TraditionalForm
gives
Although this might be more a math question, the ingenious answers have taught me a lot about MMA. Thanks to all contributors. I can add an answer based on my high school Analytical Geometry classes. The mnemonic two-point form of the equation of a straight line through A(x1,y1) and B(x2,y2) is
Using the coordinates for pA and pB given in the question:
Simplify@With[{x1 = 1, y1 = -3, x2 = -33, y2 = -1}, (y - y1)/(
y2 - y1) == (x - x1)/(x2 - x1)] // TraditionalForm
gives
However the more 'symmetrical form' of the equation leads to an answer that is mathematically identical, but is not in the required form. Does anybody know how to force MMA to yield the required form?
Simplify@With[{x1 = 1, y1 = -3, x2 = -33, y2 = -1}, (y - y1)/(
x - x1) == (y2 - y1)/(x2 - x1)] // TraditionalForm
gives
answered Nov 20 at 11:57
Gommaire
1664
1664
I think, we can write in the formSimplify@With[{x1 = 1, y1 = -3, x2 = -33, y2 = -1}, (y - y1)* (x2 - x1) - (x - x1)*(y2 - y1) == 0] // TraditionalForm
– minhthien_2016
Nov 21 at 6:29
My way is almost write the equations in the forma x + b y + c = 0
.
– minhthien_2016
Nov 21 at 6:48
add a comment |
I think, we can write in the formSimplify@With[{x1 = 1, y1 = -3, x2 = -33, y2 = -1}, (y - y1)* (x2 - x1) - (x - x1)*(y2 - y1) == 0] // TraditionalForm
– minhthien_2016
Nov 21 at 6:29
My way is almost write the equations in the forma x + b y + c = 0
.
– minhthien_2016
Nov 21 at 6:48
I think, we can write in the form
Simplify@With[{x1 = 1, y1 = -3, x2 = -33, y2 = -1}, (y - y1)* (x2 - x1) - (x - x1)*(y2 - y1) == 0] // TraditionalForm
– minhthien_2016
Nov 21 at 6:29
I think, we can write in the form
Simplify@With[{x1 = 1, y1 = -3, x2 = -33, y2 = -1}, (y - y1)* (x2 - x1) - (x - x1)*(y2 - y1) == 0] // TraditionalForm
– minhthien_2016
Nov 21 at 6:29
My way is almost write the equations in the form
a x + b y + c = 0
.– minhthien_2016
Nov 21 at 6:48
My way is almost write the equations in the form
a x + b y + c = 0
.– minhthien_2016
Nov 21 at 6:48
add a comment |
Write or solve?
– Kuba♦
Nov 19 at 8:39
@Kuba Write the equation of the line passing through two points.
– minhthien_2016
Nov 19 at 8:43
1
Isn't
17 x-y-20==0
already in that form?– Kuba♦
Nov 19 at 8:51
Yes. My question is "is there another way to write the equation in that form?"
– minhthien_2016
Nov 19 at 8:53
1
You can multiply sides by a constant but I fail to see how it is a Mathematica question.
– Kuba♦
Nov 19 at 8:58