интересен въпрос
8 отговора
318 прегледа
интересен въпрос
Става въпрос да се намери вектор (права), който е геометричното мястно от точки, които отстоят на равно разстояние от 3 равнини, определени от 3 вектора с общ връх (т.е. гмт на центровете на вписаните сфери). Ако някой не е разбрал става въпрос за 3Д. Мерси предварително:)
Re: интересен въпрос
ravnina se opredelia ot 2 vektora... kak she postropish ravnina samo s 1 vector? ili az neshto ne sym razbral...
Re: интересен въпрос
Хм, или не си задал коректно задачата, или... не мога да разбера какъв е проблема. Вземаш два от векторите и прекарваш "ъглополовяща" равнина между тях. После повтаряш за други два (разбира се, единия ще се повтаря, нали са само три) и където се пресекат двете новополучени равнини, това ти е търсения вектор!
Re: интересен въпрос
taka kato go gledam da gowori za wektori s obsht wryh :)
predpolagam che znae 1 tochka koiato e obshta za rawninite i normalnite
wektori na rawninite
kakwo znachi edna tochka da e na ednakwo razstoianie ot 3 rawnini?
towa e edna sistema ot lineini urawnenia kato koordinatite na tyrsenite
tochki razglejdash kato parametyr
ami pishesh si urawneniata otnosno tezi parmetri,
smitash malko elementarni preobrazuwania i poluchash urawnenie na prawa
az analitichna geometria sym uchil predi 12 godini i ne sym se zanimawal
s grafika ta triabwa dosta da se zmislia za da si spomnia raznite wryzki
mejdu urawnenie na prawi, normalni wektori etc., no ot chowek deto gowori za "geometrichno miasto ot tochki" se ochakwa da gi smiata na um :)
predpolagam che znae 1 tochka koiato e obshta za rawninite i normalnite
wektori na rawninite
kakwo znachi edna tochka da e na ednakwo razstoianie ot 3 rawnini?
towa e edna sistema ot lineini urawnenia kato koordinatite na tyrsenite
tochki razglejdash kato parametyr
ami pishesh si urawneniata otnosno tezi parmetri,
smitash malko elementarni preobrazuwania i poluchash urawnenie na prawa
az analitichna geometria sym uchil predi 12 godini i ne sym se zanimawal
s grafika ta triabwa dosta da se zmislia za da si spomnia raznite wryzki
mejdu urawnenie na prawi, normalni wektori etc., no ot chowek deto gowori za "geometrichno miasto ot tochki" se ochakwa da gi smiata na um :)
Re: интересен въпрос
ami sybirash trite normalni wektora na rawninite i poluchawsh
wektor po naprawlenieto na tyrsenata prawa, koiato razbira
se minawa prez obshtata tochka na trite rawnini
wektor po naprawlenieto na tyrsenata prawa, koiato razbira
se minawa prez obshtata tochka na trite rawnini
Re: интересен въпрос
Niama li da stane po lesno ako prosto normalizirash trite vectora ot uslovieto i gi suberesh.
Re: интересен въпрос
А, да - за малко да забравя - нали знаеш, че както си поставил задачата, в общия случай може да няма решение... ?
Re: интересен въпрос
Изведох нещо по идея на предишния постинг.
Значи приема се, че трите равнини минават през върховете на трите вектора (точки) R1, R2 и R3 са перпендикулярни към тях. Нека означим чрез Ri = (xi, yi, zi) координатите на i-тя вектор, чрез (U, V) скаларно прроизведение на векторите U, V и чрез |U| = (U, U) нормата на U.
Тогава за растоянието Di от точката R = (x, y, z) дo i-тата равнина се получава
Di = (Ri - R, Ri) / |Ri|
където i = 1, 2, 3. Извежда се чрез векторна алгебра.
Тогава за точките R=(x, y, z) равно отдалечени от трите равнини трябва да получаваме винаги едно и също разтояние. Значи съкращавайки на |Ri| можем да образуваме следната система от три линейни уравнения с три неизвестни
(R1 - R, R1) = (R2 - R, R2)
(R2 - R, R2) = (R3 - R, R3)
(R3 - R, R3) = (R1 - R, R1)
което развито с подробности изглежда така
(x1 - x) * x1 + (y1 - y) * y1 + (z1 - z) * z1 = (x2 - x) * x2 + (y2 - y) * y2 + (z2 - z) * z2
(x2 - x) * x2 + (y2 - y) * y2 + (z2 - z) * z2 = (x3 - x) * x3 + (y3 - y) * y3 + (z3 - z) * z3
(x3 - x) * x3 + (y3 - y) * y3 + (z3 - z) * z3 = (x1 - x) * x1 + (y1 - y) * y1 + (z1 - z) * z1
с неизвестни са x, y и z.
На практика това са трите уравннения не ъглополовящите равнини за всяка от двойките равнини дефинирани чрез Ri и Rj при i != j.
Тогава в зависимост от разположението на равнините може да нямаме нито едно решение, може решението да е единствена точка или може да имаме безкрайно много решения които определят множество от точки лежащи на равнина или на права.
По-просто решение от сечение на три равнини едва ли има.
Така ли?
Значи приема се, че трите равнини минават през върховете на трите вектора (точки) R1, R2 и R3 са перпендикулярни към тях. Нека означим чрез Ri = (xi, yi, zi) координатите на i-тя вектор, чрез (U, V) скаларно прроизведение на векторите U, V и чрез |U| = (U, U) нормата на U.
Тогава за растоянието Di от точката R = (x, y, z) дo i-тата равнина се получава
Di = (Ri - R, Ri) / |Ri|
където i = 1, 2, 3. Извежда се чрез векторна алгебра.
Тогава за точките R=(x, y, z) равно отдалечени от трите равнини трябва да получаваме винаги едно и също разтояние. Значи съкращавайки на |Ri| можем да образуваме следната система от три линейни уравнения с три неизвестни
(R1 - R, R1) = (R2 - R, R2)
(R2 - R, R2) = (R3 - R, R3)
(R3 - R, R3) = (R1 - R, R1)
което развито с подробности изглежда така
(x1 - x) * x1 + (y1 - y) * y1 + (z1 - z) * z1 = (x2 - x) * x2 + (y2 - y) * y2 + (z2 - z) * z2
(x2 - x) * x2 + (y2 - y) * y2 + (z2 - z) * z2 = (x3 - x) * x3 + (y3 - y) * y3 + (z3 - z) * z3
(x3 - x) * x3 + (y3 - y) * y3 + (z3 - z) * z3 = (x1 - x) * x1 + (y1 - y) * y1 + (z1 - z) * z1
с неизвестни са x, y и z.
На практика това са трите уравннения не ъглополовящите равнини за всяка от двойките равнини дефинирани чрез Ri и Rj при i != j.
Тогава в зависимост от разположението на равнините може да нямаме нито едно решение, може решението да е единствена точка или може да имаме безкрайно много решения които определят множество от точки лежащи на равнина или на права.
По-просто решение от сечение на три равнини едва ли има.
Така ли?
Re: интересен въпрос
Малко уточнение.
Първо, написал съм грешно, че |U| = (U, U) а имаме |U|^2 = (U, U) естествено. Това е взето в предвид и уравненията си остават вярни.
Второ, ако имаме за някое Ri=(0, 0, 0) системата не работи, но тогава и съответната равнина не е определена.
При писане на програма това трябва да се отчита и технически, чрез малка транслация или смяна на координатната система се избягва този специален случай. Иначе в общия случай равнините може да се задават чрез нормала и разтояние до началото, като уравненията ще са малко по-други, но принципа си е същия.
Първо, написал съм грешно, че |U| = (U, U) а имаме |U|^2 = (U, U) естествено. Това е взето в предвид и уравненията си остават вярни.
Второ, ако имаме за някое Ri=(0, 0, 0) системата не работи, но тогава и съответната равнина не е определена.
При писане на програма това трябва да се отчита и технически, чрез малка транслация или смяна на координатната система се избягва този специален случай. Иначе в общия случай равнините може да се задават чрез нормала и разтояние до началото, като уравненията ще са малко по-други, но принципа си е същия.