horror
|
гонобобель
|
|
|
|
Рег.: 30.09.2002
|
Сообщений: 3783
|
|
Рейтинг: 2135
|
|
Re: Набор точек в трехмерном пространстве аппроксимировать плоскостью
[re: legtar]
24.07.2012 13:27
|
|
|
Quote:
Код такой ищу
какой алгоритм нужен? начните с изучения алгоритмов
|
|
legtar
|
|
|
|
|
Рег.: 14.10.2008
|
Сообщений: 2242
|
Из: SUN
|
Рейтинг: -794
|
|
Re: Набор точек в трехмерном пространстве аппроксимировать плоскостью
[re: horror]
24.07.2012 13:29
|
|
|
В ответ на:
какой алгоритм нужен?
любой..
|
|
Basilio
|
GreenOne
|
|
|
|
Рег.: 14.10.2002
|
Сообщений: 13749
|
Из: Москва
|
Рейтинг: 3476
|
|
Re: Набор точек в трехмерном пространстве аппроксимировать плоскостью
[re: legtar]
24.07.2012 13:32
|
|
|
метод наименьших квадратов возьми
|
|
legtar
|
|
|
|
|
Рег.: 14.10.2008
|
Сообщений: 2242
|
Из: SUN
|
Рейтинг: -794
|
|
Re: Набор точек в трехмерном пространстве аппроксимировать плоскостью
[re: Basilio]
24.07.2012 13:33
|
|
|
А пример реализации встречал готовый? мнк на плоскости вроде понятен, а как в пространство перейти?
|
|
horror
|
гонобобель
|
|
|
|
Рег.: 30.09.2002
|
Сообщений: 3783
|
|
Рейтинг: 2135
|
|
Re: Набор точек в трехмерном пространстве аппроксимировать плоскостью
[re: legtar]
24.07.2012 13:34
|
|
|
Quote:
любой..
тогда предлагаю выдавать одну и ту же плоскость (0XY, к примеру) для любого набора точек дешево и сердито
|
|
legtar
|
|
|
|
|
Рег.: 14.10.2008
|
Сообщений: 2242
|
Из: SUN
|
Рейтинг: -794
|
|
Re: Набор точек в трехмерном пространстве аппроксимировать плоскостью
[re: horror]
24.07.2012 13:35
|
|
|
|
Basilio
|
GreenOne
|
|
|
|
Рег.: 14.10.2002
|
Сообщений: 13749
|
Из: Москва
|
Рейтинг: 3476
|
|
Re: Набор точек в трехмерном пространстве аппроксимировать плоскостью *DELETED*
[re: legtar]
24.07.2012 13:39
|
|
|
|
Basilio
|
GreenOne
|
|
|
|
Рег.: 14.10.2002
|
Сообщений: 13749
|
Из: Москва
|
Рейтинг: 3476
|
|
Re: Набор точек в трехмерном пространстве аппроксимировать плоскостью
[re: legtar]
24.07.2012 13:40
|
|
|
он относительно просто продолжается на любое измерение.
пусть уравнение плоскости ![[math]$Ax+By+Cz+D=0$[/math]](mathimg.php?math=%24Ax%2BBy%2BCz%2BD%3D0%24) у тебя есть точки ![[math]$(x_i,y_i,z_i)$[/math]](mathimg.php?math=%24%28x_i%2Cy_i%2Cz_i%29%24) расстояния от этих точек до плоскости [условно] можно оценить так:
![[math]$r_i=Ax_i+By_i+Cz_i-D$[/math]](mathimg.php?math=%24r_i%3DAx_i%2BBy_i%2BCz_i-D%24) далее делаем сумму квадратов расстояний ![[math]$r=\sum_i r_i^2$[/math]](mathimg.php?math=%24r%3D%5Csum_i%20r_i%5E2%24)
это функция четырех переменных (A,B,C,D), нужно найти ее минимум. минимум там есть, первая производная по каждой переменной должна равняться нулю
выписываем ![[math]$r'_A=0,\ r'_B=0,\ r'_C=0,\ r'_D=0$[/math]](mathimg.php?math=%24r%27_A%3D0%2C%5C%20r%27_B%3D0%2C%5C%20r%27_C%3D0%2C%5C%20r%27_D%3D0%24)
это дает четыре уравнения на четыре неизвестных. уравнения получаются линейные, решать методом Гаусса или напрямую выписать коэффициенты. Я бы предпочел не заморачиваться с выкладками и решать Гауссом.
|
|
legtar
|
|
|
|
|
Рег.: 14.10.2008
|
Сообщений: 2242
|
Из: SUN
|
Рейтинг: -794
|
|
Re: Набор точек в трехмерном пространстве аппроксимировать плоскостью
[re: Basilio]
24.07.2012 13:40
|
|
|
Мне не нравятся воскливательные знаки
|
|
Basilio
|
GreenOne
|
|
|
|
Рег.: 14.10.2002
|
Сообщений: 13749
|
Из: Москва
|
Рейтинг: 3476
|
|
Re: Набор точек в трехмерном пространстве аппроксимировать плоскостью
[re: legtar]
24.07.2012 13:40
|
|
|
|
horror
|
гонобобель
|
|
|
|
Рег.: 30.09.2002
|
Сообщений: 3783
|
|
Рейтинг: 2135
|
|
Re: Набор точек в трехмерном пространстве аппроксимировать плоскостью
[re: Basilio]
24.07.2012 13:41
|
|
|
Quote:
Я бы предпочел не заморачиваться с выкладками и решать Гауссом
только решение не единственное может быть
|
|
legtar
|
|
|
|
|
Рег.: 14.10.2008
|
Сообщений: 2242
|
Из: SUN
|
Рейтинг: -794
|
|
Re: Набор точек в трехмерном пространстве аппроксимировать плоскостью
[re: Basilio]
24.07.2012 13:41
|
|
|
Спасибо за идею!
|
|
legtar
|
|
|
|
|
Рег.: 14.10.2008
|
Сообщений: 2242
|
Из: SUN
|
Рейтинг: -794
|
|
Re: Набор точек в трехмерном пространстве аппроксимировать плоскостью
[re: horror]
24.07.2012 13:42
|
|
|
В ответ на:
только решение не единственное может быть
Т.е.?? может иметь бесконечно много решеиний или одно ??
|
|
Basilio
|
GreenOne
|
|
|
|
Рег.: 14.10.2002
|
Сообщений: 13749
|
Из: Москва
|
Рейтинг: 3476
|
|
Re: Набор точек в трехмерном пространстве аппроксимировать плоскостью
[re: horror]
24.07.2012 13:43
|
|
|
ну да. случится атас, если все точки на прямой лежат. и да, результат будет далек от правдоподобия, если точки кучкуются вокруг некоторой прямой. как и в двумерном случае - если точки равномерно распределены в круге, то МНК дает ерунду
|
|
horror
|
гонобобель
|
|
|
|
Рег.: 30.09.2002
|
Сообщений: 3783
|
|
Рейтинг: 2135
|
|
Re: Набор точек в трехмерном пространстве аппроксимировать плоскостью
[re: legtar]
24.07.2012 13:44
|
|
|
Quote:
может иметь бесконечно много решеиний или одно ??
рассмотри одну точку
|
|
legtar
|
|
|
|
|
Рег.: 14.10.2008
|
Сообщений: 2242
|
Из: SUN
|
Рейтинг: -794
|
|
Re: Набор точек в трехмерном пространстве аппроксимировать плоскостью
[re: Basilio]
24.07.2012 13:44
|
|
|
В ответ на:
расстояния от этих точек до плоскости [условно] можно оценить так:
вот условно это почему мы можем сделать то??
|
|
Basilio
|
GreenOne
|
|
|
|
Рег.: 14.10.2002
|
Сообщений: 13749
|
Из: Москва
|
Рейтинг: 3476
|
|
Re: Набор точек в трехмерном пространстве аппроксимировать плоскостью
[re: legtar]
24.07.2012 13:48
|
|
|
если нормировать коэффициенты (разделить все на ), то это будет расстояние в точности.
|
|
Basilio
|
GreenOne
|
|
|
|
Рег.: 14.10.2002
|
Сообщений: 13749
|
Из: Москва
|
Рейтинг: 3476
|
|
Re: Набор точек в трехмерном пространстве аппроксимировать плоскостью
[re: legtar]
24.07.2012 13:58
|
|
|
так же полезно обдумать вырожденные случаи, например D=0 в протвном случае имеет смысл все разделить на D и рассматривать уравнения вида Ax+By+Cz+1=0 в этом случае неизвестных меньше, но возни с разными случаями больше.
|
|
Vlad
|
addict
|
|
|
|
Рег.: 18.09.2004
|
Сообщений: 446
|
|
Рейтинг: 236
|
|
Re: Набор точек в трехмерном пространстве аппроксимировать плоскостью
[re: Basilio]
24.07.2012 15:41
|
|
|
Вне зависимости от координат точек, минимум будет достигаться при A=B=C=D=0.
|
|
horror
|
гонобобель
|
|
|
|
Рег.: 30.09.2002
|
Сообщений: 3783
|
|
Рейтинг: 2135
|
|
Re: Набор точек в трехмерном пространстве аппроксимировать плоскостью
[re: Vlad]
24.07.2012 16:05
|
|
|
|