LINUX.ORG.RU
решено ФорумTalks

Уравнение плоскости по трем точкам

 


0

1

Не стал постить в научный раздел, ибо дело плевое.

Есть три точки в пространстве, мне известны их координаты. Назовем их

x1, y1, z1
x2, y2, z2
x3, y3, z3

Если я правильно помню науку, то плоскость описывается уравнением вида Ax + By + Cz + D = 0 и, если я захочу описать плоскость по трем точкам, то я пишу систему:

  | A*x1 + B*y1 + C*z1 + D = 0
 {  A*x2 + B*y2 + C*z2 + D = 0
  | A*x3 + B*y3 + C*z3 + D = 0

Теперь, внимание, непонятное! Уравнений три, а неизвестных четыре. Получается, я систему решить не могу (смог бы, будь точек четыре), но здравый смысл (а так же остатки знаний) подсказывает что для описания плоскости достаточно трех.

Почему не могу, растолкуй, дорогой специалист по всему

★★★★★

Потому что это параметр, подставляя который ты получаешь другие точки плоскости.

Точно так же как с уравнением прямой которое учат в 6м классе примерно.

invy ★★★★★
()
Последнее исправление: invy (всего исправлений: 1)

При таком раскладе искривленная неевклидова плоскость получится.

PEKABOYARIN
()

Система решается с точностью до константы, любое уравнение

P*Ax + P*By + P*Cz + P*D = 0, P !=0
будет описывать одну и ту же плоскость

JaneDoe
()
Ответ на: комментарий от invy

Потому что это параметр, подставляя который ты получаешь другие точки плоскости.

ЯННП. Вот уравнение прямой на плоскости: y = kx + c (или как там зовут этот скалар), где k и c — известные числа. Подставляю икс поулчаю игрек. Можно же решить систему из ОП-поста и получить функцию вида z = f(x,y) ?

Мне, в принципе, никто не мешает высосать из пальца x4, y4, z4 (взяв, например, середину отрезка между первой и второй точкой), тогда получится система из 4-х уравнений, тогда я (подстановкой, Гауссом) найду A, B, C и D, после чего смогу написать функцию z = f(x,y)

но делать так — явно не нужно. Вот сижу туплю где я чего не вкурил

pihter ★★★★★
() автор топика
Ответ на: комментарий от JaneDoe

Не понимаю что ты этим хочешь сказать. Что я всегда могу умножить обе части уравнения на число не равное нулю и ничего в уравнении не поменяется?

pihter ★★★★★
() автор топика
Ответ на: комментарий от pihter

Именно. Если решишь систему относительно, скажем, A, B и C, увидишь, что они все пропорциональны D. Фиксируешь произвольное D, пусть единицу, считаешь конкретные A, B, C, получаешь уравнение плоскости. Одно из.

JaneDoe
()
Ответ на: комментарий от pihter

Мне, в принципе, никто не мешает высосать из пальца x4, y4, z4 (взяв, например, середину отрезка между первой и второй точкой), тогда получится система из 4-х уравнений, тогда я (подстановкой, Гауссом) найду A, B, C и D, после чего смогу написать функцию z = f(x,y)

Не найдешь. Ранг системы всё равно останется 3, и она будет решаться с одним свободным параметром. Хоть 10 точек возьми.

Crocodoom ★★★★★
()
Ответ на: комментарий от JaneDoe

Если решишь систему относительно, скажем, A, B и C, увидишь, что они все пропорциональны D.

Ниче не понял. Вот я решил систему из трех уравнений и не нашел толко D. Теперь у меня есть A = f(D), B = f(D), C = f(D) где я тут должен увидеть пропорциональность? соответственно, искомую мной формулу z = f(x,y) я могу записать только в виде z = f(x,y,D)

Фиксируешь произвольное D, пусть единицу, считаешь конкретные A, B, C

Допустим.

получаешь уравнение плоскости. Одно из.

Одно из чего? Уравнения с разным D будут описывать разные плоскости. Например при D = 0 плоскость будет пересекать начало координат, а при D = 1 — не будет.

pihter ★★★★★
() автор топика
Ответ на: комментарий от Crocodoom

Мне, в принципе, никто не мешает высосать из пальца x4, y4, z4 (взяв, например, середину отрезка между первой и второй точкой), тогда получится система из 4-х уравнений, тогда я (подстановкой, Гауссом) найду A, B, C и D, после чего смогу написать функцию z = f(x,y)

Не найдешь. Ранг системы всё равно останется 3, и она будет решаться с одним свободным параметром. Хоть 10 точек возьми.

Такая мысль логична, но математика говорит другое:

Четыре уравнения, четыре неизвестных, что мне помешает их все найти?

pihter ★★★★★
() автор топика
Ответ на: комментарий от pihter

Ты нашёл А,B,C.
Фиксируй какую-нибудь точку, например X0,Y0,Z0 и считай, что она обязана принадлежать плоскости. Подставляешь в уравнение, находишь D.

imul ★★★★★
()
Ответ на: комментарий от pihter

A = f(D), B = f(D), C = f(D

Должно получиться не просто f(D), а k1*D, k2*D и k3*D.

JaneDoe
()

Подели свою систему на D и всё. Найдёшь A/D, B/D и С/D. Потом, если очень нужно D - сможешь любое произвольное взять и вычислить соответствующие A,B и С.

Stanson ★★★★★
()

Ояеу. Узнай что делает операция векторного произведения.

ckotinko ☆☆☆
()

Уравнений три, а неизвестных четыре. ...здравый смысл (а так же остатки знаний) подсказывает что для описания плоскости достаточно трех.

Ага: уравнения «3 Слонов» однозначно определяют «Плоскую Землю» с точностью до «Черепахи» :)

quickquest ★★★★★
()
Последнее исправление: quickquest (всего исправлений: 1)

Если тебя так волнует значение D, то посчитай определитель:

| x1  y1  z1 |
| x2  y2  z2 |
| x3  y3  z3 |

Если он не нулевой, то бери любое не нулевое D (например, D=1) и решай уже определенную систему.

Если он нулевой, то плоскость проходит через начало координат и D=0. Система, естественно, будет не определенной.

А вообще, можешь сразу вычислить один определитель - смешанное произведение векторов.

(r-r1)(r2-r1)(r3-r1)

Привавниваешь его к нулю и готово одно из бесконечного множества уравненией твоей плоскости.

aquadon ★★★★★
()

Прямая на плоскости: ay+by+c=0. Чертовщина какая! Точка на прямой: ax+b=0. Ну это уже переходит все границы.

tyakos ★★★
()

Уравнений три, а неизвестных четыре.

Тройка (A, B, C) образует вектор, перпендикулярный плоскости. Можно потребовать, чтобы он был отнормирован, и получить четвертое уравнение: A^2+B^2+C^2=1

Но на практике коэффициенты для уравнения плоскости, если даны три точки, получают посредством векторного произведения.

Manhunt ★★★★★
()

Точки не должны лежать на одной прямой, используй это условие. Вообще это что-то совсем уж элементарное и гуглится моментально.

Deleted
()
Ответ на: комментарий от pihter

ЯННП. Вот уравнение прямой на плоскости: y = kx + c (или как там зовут этот скалар), где k и c — известные числа. Подставляю икс поулчаю игрек.

Уравнение прямой имеет общий вид Ax + By + C = 0.

Привести к виду y = kx + b можно только для случая B != 0 (разделив на -B и перенеся y в другую сторону от знака равенства). Случай B=0 - это вертикальные прямые.

В 3D то же самое. Проверьте по системе что C не 0 и спокойно делите на него.

z(x, y) = -A/C*x - B/C*y - D/C

А так как у вас есть степень свободы при C!=0, положите C= -1

German_1984 ★★
()
Последнее исправление: German_1984 (всего исправлений: 3)

Получается, я систему решить не могу

Нет, не получается.

Теорема Кронекера — Капелли, ftw.

aedeph_ ★★
()

Заметим, что система уравнений, приведенная топикстартером, имеет те же решения, что и система уравнений, полученная из нее путем деления каждого уравнения на D:

  | A/D*x1 + B/D*y1 + C/D*z1 + 1 = 0
 {  A/D*x2 + B/D*y2 + C/D*z2 + 1 = 0
  | A/D*x3 + B/D*y3 + C/D*z3 + 1 = 0

плюс решения (если они есть) с D=0 (проверить, что в таком случае - задача читателю).

Назовем E=A/D, F=B/D, C/D. Получаем систему уравнения с 3 неизвестными:

  | E*x1 + F*y1 + G*z1 + 1 = 0
 {  E*x2 + F*y2 + G*z2 + 1 = 0
  | E*x3 + F*y3 + G*z3 + 1 = 0
hlebushek ★★
()
Ответ на: комментарий от pihter

Пример с D=0 плохой, потому что при таком D все будет не так, как при других вариантах D. Вот при D=2 и D=4 есть решения, да. Но они будут описывать одну и ту же плоскость. Просто будет Ax + By + Cz + 4 = 0 или Ax/2 + By/2 + Cz/2 + 2 = 0

hlebushek ★★
()

Есть бесконечное множество одинаковых, паралельных друг к другу плоскостей. По этому D — неопределен. D указывает на смещение твоей плоскости относительно нуля.

BceM_IIpuBeT ★★☆☆☆
()
Ответ на: комментарий от BceM_IIpuBeT

Этот тред чем дальше тем веселее.

Это через три фиксированные точки ты множество «одинаковых» плоскостей провел?

А что такое «неодинаковые» плоскости?

alpha ★★★★★
()

Плоскость задаётся перпендикуляром к ней и расстоянием от плоскости до точки ноль в единицах, равных один делить на длину этого перпендикуляра. Перпендикуляр получается через векторное произведение

ckotinko ☆☆☆
()
| x-x1  x2-x1  x3-x1 |
| y-y1  y2-y1  y3-y1 | = 0
| z-z1  z2-z1  z3-z1 |

То есть классическое смешанное произведение компланарных векторов. Раскрываешь определитель по первому столбцу и получаешь свою формулу.

baka-kun ★★★★★
()
Ответ на: комментарий от BceM_IIpuBeT

Бред. Через три точки в общем положении проходит одна плоскость.

Miguel ★★★★★
()

Дели на D, находи коэффициенты, потом подставишь обратно в уравнение плоскости. Э... ну все. Школа же. А то и институт, первый курс.

a1batross ★★★★★
()

Ax + By + Cz + D = 0
Уравнений три, а неизвестных четыре

Вы внесли одно ненужное неизвестное ) Плоскость описывается уравнением аx + by + cz = 1 )

vaddd ★☆
()
Ответ на: комментарий от vaddd

Плоскость описывается уравнением аx + by + cz = 1 )

Опиши этим уравнением любую плоскость, проходящую через начало координат. Удачи.

baka-kun ★★★★★
()
Ответ на: комментарий от baka-kun

Это не повод чтобы вносить лишнее неизвестное ) Тем более, что для плоскости, проходящей через начало координат, член D отсутствует, и вопрос отпадает сам по себе )

vaddd ★☆
()
Ответ на: комментарий от vaddd

Правильно было бы предложить выяснить сперва, а не равен ли D нулю, а потом принять его равным произвольному числу и рассчитать остальные.

Но такой ответ уже был.

baka-kun ★★★★★
()
Последнее исправление: baka-kun (всего исправлений: 3)
Ответ на: комментарий от a1batross

что только люди не делают, лишь бы векторное произведение не брать.

ckotinko ☆☆☆
()
Ответ на: комментарий от baka-kun

Да не имеет значения. Все равно ТС выдумал четыре неизвестных

vaddd ★☆
()
Ответ на: комментарий от JaneDoe

Все верно говорите. Взял бумажку, нарисовал три оси, придумал три точки. Составил систему, взял от балды D, выразил z = f(x,y), потом от балды придумал другое D, снова решил, снова выразил z = f(x,y) и получилась та же формула, что ободрило.

Пригляделся, а уравнения-то отличаются, как и было предсказано, только множителем, то есть — по сути это одно уравнение.

Остались странные ощущения... диссонансом это называют. Я такого не припомню, а на опыте все сходится.

Ну, шо я могу сказать, практика — критерий истины.

pihter ★★★★★
() автор топика
Ответ на: комментарий от unC0Rr

У плоскости нет какого-то одного уравнения, поэтому систему уравнений не решить однозначно.

Так они все множителем отличаются — это одно уравнение. Что, по-твоему x + 1 = 0 и 2x + 2 = 0 — это разные уравнения что ли?

pihter ★★★★★
() автор топика
Ответ на: комментарий от Crocodoom

Не найдешь. Ранг системы всё равно останется 3, и она будет решаться с одним свободным параметром. Хоть 10 точек возьми.

Я проверил )

pihter ★★★★★
() автор топика
Ответ на: комментарий от JaneDoe

Погугли про ранг системы уравнений.

Да. Вспомнил уже. Спасибо

pihter ★★★★★
() автор топика
Ответ на: комментарий от tyakos

Прямая на плоскости: ay+by+c=0

да, спасибо

pihter ★★★★★
() автор топика
Ответ на: комментарий от TheAnonymous

что мне помешает их все найти?

линейная зависимость

да, меня уже тыкали в это. Я не поверил, проверил, утерся.

Математика — суровая вещь. )

pihter ★★★★★
() автор топика
Ответ на: комментарий от German_1984

В 3D то же самое. Проверьте по системе что C не 0 и спокойно делите на него.

А как я проверю что С — не ноль, если я его не знаю? )

В итоге я проверяю не ноль ли D. (подставляю x=0,y=0,z=0) потом уже придумываю D. Потом вычисляю коэффициэнты и уже смотрю на С.

pihter ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.