Дан отрезок, на котором расположены три точки так, что известно отношение их проекций на ось и расстояний; как восстановить конфигурацию на плоскости и какие неоднозначности возможны
Коротко и формально. Обозначения. Пусть задан отрезок с концами A(xA,yA)A(x_A,y_A)A(xA,yA), B(xB,yB)B(x_B,y_B)B(xB,yB). На нём лежат три точки P1,P2,P3P_1,P_2,P_3P1,P2,P3. Проекции этих точек на заданную ось (возьмём ось абсцисс) равны xix_ixi и заданы только в отношении, т.е. известны числа r1,r2,r3r_1,r_2,r_3r1,r2,r3 и справедливо xi=λri
x_i=\lambda r_i xi=λri
для некоторого общего масштаба λ\lambdaλ. Известны попарные расстояния d12,d13,d23d_{12},d_{13},d_{23}d12,d13,d23 между PiP_iPi. 1) Параметризация точек на отрезке: Pi=A+ti(B−A),0≤ti≤1.
P_i=A+t_i(B-A),\qquad 0\le t_i\le1. Pi=A+ti(B−A),0≤ti≤1.
Тогда xi=xA+ti(xB−xA)⇒ti=λri−xA xB−xA .
x_i=x_A+t_i(x_B-x_A)\quad\Rightarrow\quad t_i=\frac{\lambda r_i-x_A}{\,x_B-x_A\,}. xi=xA+ti(xB−xA)⇒ti=xB−xAλri−xA. 2) Связь с расстояниями. Длина отрезка L=∣AB∣=(xB−xA)2+(yB−yA)2L=|AB|=\sqrt{(x_B-x_A)^2+(y_B-y_A)^2}L=∣AB∣=(xB−xA)2+(yB−yA)2. Поскольку точки коллинеарны, ∣ti−tj∣ L=dij.
|t_i-t_j|\,L=d_{ij}. ∣ti−tj∣L=dij.
Подставляя tit_iti, ∣λ(ri−rj)xB−xA∣ L=dij.
\left|\frac{\lambda(r_i-r_j)}{x_B-x_A}\right|\,L=d_{ij}. xB−xAλ(ri−rj)L=dij.
Отсюда для любой пары (i,j)(i,j)(i,j)∣λ∣=dij ∣xB−xA∣L ∣ri−rj∣.
|\lambda|=\frac{d_{ij}\,|x_B-x_A|}{L\,|r_i-r_j|}. ∣λ∣=L∣ri−rj∣dij∣xB−xA∣. 3) Условие совместности и восстановление. Необходимо и достаточно, чтобы значения справа для всех трёх пар совпадали; т.е. выполнялось d12∣r1−r2∣=d13∣r1−r3∣=d23∣r2−r3∣.
\frac{d_{12}}{|r_1-r_2|}=\frac{d_{13}}{|r_1-r_3|}=\frac{d_{23}}{|r_2-r_3|}. ∣r1−r2∣d12=∣r1−r3∣d13=∣r2−r3∣d23.
Если это так, то по любой паре вычисляем ∣λ∣|\lambda|∣λ∣, затем два варианта λ=±∣λ∣\lambda=\pm|\lambda|λ=±∣λ∣. Далее получаем tit_iti по ti=λri−xAxB−xA,
t_i=\frac{\lambda r_i-x_A}{x_B-x_A}, ti=xB−xAλri−xA,
и точки Pi=A+ti(B−A)P_i=A+t_i(B-A)Pi=A+ti(B−A). Нужно дополнительно проверить 0≤ti≤10\le t_i\le10≤ti≤1 (чтобы точки лежали именно на данном отрезке). 4) Возможные неоднозначности: - Двухзначность знака λ\lambdaλ ( λ\lambdaλ и −λ-\lambda−λ ) даёт максимум две допустимые конфигурации — зеркально-симметричные (реверсирование расположения вдоль оси проекций). Это эквивалентно отражению расположения точек на отрезке (реверс порядка). - Если даются только отношения расстояний (а не их абсолютные значения), то остаётся масштабная неопределённость: можно умножать все dijd_{ij}dij на один множитель и менять длину отрезка LLL — одно- параметр семейство решений (помимо отражения). - Особые вырожденные случаи: - xB=xAx_B=x_AxB=xA (отрезок вертикален): формула через проекции на абсцисс вырождается — нужно взять другую ось или повернуть систему. - если для некоторой пары ri=rjr_i=r_jri=rj, то требуется dij=0d_{ij}=0dij=0 (точки совпадают); иначе решений нет. - если полученные tit_iti не лежат в [0,1][0,1][0,1], то при данных ri,dijr_i,d_{ij}ri,dij точки не лежат на данном отрезке. Итого: восстановление сводится к проверке совместности пропорций dij/∣ri−rj∣ \;d_{ij}/|r_i-r_j|\;dij/∣ri−rj∣ и вычислению λ\lambdaλ (с двумя знаками), затем вычислению параметров tit_iti и координат PiP_iPi. Единственные общие неоднозначности — знак λ\lambdaλ (зеркальность) и, при отсутствии абсолютной шкалы расстояний, масштаб.
Обозначения. Пусть задан отрезок с концами A(xA,yA)A(x_A,y_A)A(xA ,yA ), B(xB,yB)B(x_B,y_B)B(xB ,yB ). На нём лежат три точки P1,P2,P3P_1,P_2,P_3P1 ,P2 ,P3 . Проекции этих точек на заданную ось (возьмём ось абсцисс) равны xix_ixi и заданы только в отношении, т.е. известны числа r1,r2,r3r_1,r_2,r_3r1 ,r2 ,r3 и справедливо
xi=λri x_i=\lambda r_i
xi =λri для некоторого общего масштаба λ\lambdaλ. Известны попарные расстояния d12,d13,d23d_{12},d_{13},d_{23}d12 ,d13 ,d23 между PiP_iPi .
1) Параметризация точек на отрезке:
Pi=A+ti(B−A),0≤ti≤1. P_i=A+t_i(B-A),\qquad 0\le t_i\le1.
Pi =A+ti (B−A),0≤ti ≤1. Тогда
xi=xA+ti(xB−xA)⇒ti=λri−xA xB−xA . x_i=x_A+t_i(x_B-x_A)\quad\Rightarrow\quad
t_i=\frac{\lambda r_i-x_A}{\,x_B-x_A\,}.
xi =xA +ti (xB −xA )⇒ti =xB −xA λri −xA .
2) Связь с расстояниями. Длина отрезка L=∣AB∣=(xB−xA)2+(yB−yA)2L=|AB|=\sqrt{(x_B-x_A)^2+(y_B-y_A)^2}L=∣AB∣=(xB −xA )2+(yB −yA )2 . Поскольку точки коллинеарны,
∣ti−tj∣ L=dij. |t_i-t_j|\,L=d_{ij}.
∣ti −tj ∣L=dij . Подставляя tit_iti ,
∣λ(ri−rj)xB−xA∣ L=dij. \left|\frac{\lambda(r_i-r_j)}{x_B-x_A}\right|\,L=d_{ij}.
xB −xA λ(ri −rj ) L=dij . Отсюда для любой пары (i,j)(i,j)(i,j) ∣λ∣=dij ∣xB−xA∣L ∣ri−rj∣. |\lambda|=\frac{d_{ij}\,|x_B-x_A|}{L\,|r_i-r_j|}.
∣λ∣=L∣ri −rj ∣dij ∣xB −xA ∣ .
3) Условие совместности и восстановление. Необходимо и достаточно, чтобы значения справа для всех трёх пар совпадали; т.е. выполнялось
d12∣r1−r2∣=d13∣r1−r3∣=d23∣r2−r3∣. \frac{d_{12}}{|r_1-r_2|}=\frac{d_{13}}{|r_1-r_3|}=\frac{d_{23}}{|r_2-r_3|}.
∣r1 −r2 ∣d12 =∣r1 −r3 ∣d13 =∣r2 −r3 ∣d23 . Если это так, то по любой паре вычисляем ∣λ∣|\lambda|∣λ∣, затем два варианта λ=±∣λ∣\lambda=\pm|\lambda|λ=±∣λ∣. Далее получаем tit_iti по
ti=λri−xAxB−xA, t_i=\frac{\lambda r_i-x_A}{x_B-x_A},
ti =xB −xA λri −xA , и точки Pi=A+ti(B−A)P_i=A+t_i(B-A)Pi =A+ti (B−A). Нужно дополнительно проверить 0≤ti≤10\le t_i\le10≤ti ≤1 (чтобы точки лежали именно на данном отрезке).
4) Возможные неоднозначности:
- Двухзначность знака λ\lambdaλ ( λ\lambdaλ и −λ-\lambda−λ ) даёт максимум две допустимые конфигурации — зеркально-симметричные (реверсирование расположения вдоль оси проекций). Это эквивалентно отражению расположения точек на отрезке (реверс порядка).
- Если даются только отношения расстояний (а не их абсолютные значения), то остаётся масштабная неопределённость: можно умножать все dijd_{ij}dij на один множитель и менять длину отрезка LLL — одно- параметр семейство решений (помимо отражения).
- Особые вырожденные случаи:
- xB=xAx_B=x_AxB =xA (отрезок вертикален): формула через проекции на абсцисс вырождается — нужно взять другую ось или повернуть систему.
- если для некоторой пары ri=rjr_i=r_jri =rj , то требуется dij=0d_{ij}=0dij =0 (точки совпадают); иначе решений нет.
- если полученные tit_iti не лежат в [0,1][0,1][0,1], то при данных ri,dijr_i,d_{ij}ri ,dij точки не лежат на данном отрезке.
Итого: восстановление сводится к проверке совместности пропорций dij/∣ri−rj∣ \;d_{ij}/|r_i-r_j|\;dij /∣ri −rj ∣ и вычислению λ\lambdaλ (с двумя знаками), затем вычислению параметров tit_iti и координат PiP_iPi . Единственные общие неоднозначности — знак λ\lambdaλ (зеркальность) и, при отсутствии абсолютной шкалы расстояний, масштаб.