Форум программистов, компьютерный форум CyberForum.ru

Нахождение 3ей точки по первым двум лежащей на одной прямой с ними - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.87
gleb_brain
1 / 1 / 0
Регистрация: 08.05.2010
Сообщений: 6
16.05.2010, 12:31     Нахождение 3ей точки по первым двум лежащей на одной прямой с ними #1
найти координаты (XYZ) 3ей точки исходя из первых двух. 3 точки лежат на одной прямой.
Даны: координаты 1ой и 2ой тчк, расстояние от 1ой до 3ей тчк
Подскажи пожалуйста алгоритм нахождения 3ей тчк! Замучился уже

Есть формула: растояние между двумя точками в пространстве d=((x2-x1)^2 +(y2-y1)^2+(z2-z1)^2)^0.5
Как через нее вычислить?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.05.2010, 12:31     Нахождение 3ей точки по первым двум лежащей на одной прямой с ними
Посмотрите здесь:

Определить, будут ли точки расположены на одной прямой C++
C++ Определить минимальное подмножество точек, после удаления которых останутся точки лежащие на одной прямой
Определить, лежат ли точки на одной прямой C++
C++ Определите, лежат ли точки на одной прямой
Определить будут ли заданные три точки расположены на одной прямой C++
C++ Определить, лежат ли три точки A, B, C на одной прямой. Если нет, найти угол ABC
Найти всевозможные группы по 3,4. точки, лежащие на одной прямой C++
Лежат ли точки на одной прямой и вычислить угол C++
C++ Определить расположены ли точки на одной прямой
Три точки заданы координатами. Определить, лежат ли они на одной прямой C++
Принадлежат ли точки одной прямой C++
Определить лежат ли три точки на одной прямой C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gh05t
47 / 46 / 4
Регистрация: 03.04.2010
Сообщений: 99
16.05.2010, 17:55     Нахождение 3ей точки по первым двум лежащей на одной прямой с ними #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <conio.h>
#include <iostream>
#include <math.h>
 
using namespace std;
 
int main()
{
    int X1, X2, Y1, Y2, S;
    cin >> X1;
    cin >> Y1;
    cin >> X2;
    cin >> Y2;
    cin >> S;
 
    float k = (Y2-Y1)/(X2-X1);
    float X3 = sqrt(k*k+1)/S + X1;
    float Y3 = k*(X3-X1) + Y1;
 
    cout << X3 << endl;
    cout << Y3 << endl;
 
    getch();
    return 0;
}
gleb_brain
1 / 1 / 0
Регистрация: 08.05.2010
Сообщений: 6
16.05.2010, 19:13  [ТС]     Нахождение 3ей точки по первым двум лежащей на одной прямой с ними #3
X1=5;
Y1=4;
X2=2;
Y2=-1;
S=10;

Все варианты перепробывал, координаты местами менял, не помогает, 3я точка чертится в стороне (см вложение)
и сумма длин прямых не сходятся с исходными данными
может проблема в том что не используется координата Z ?
Миниатюры
Нахождение 3ей точки по первым двум лежащей на одной прямой с ними  
gleb_brain
1 / 1 / 0
Регистрация: 08.05.2010
Сообщений: 6
16.05.2010, 19:31  [ТС]     Нахождение 3ей точки по первым двум лежащей на одной прямой с ними #4
в этом случае точка(конец 1ой прямой) вращается вокруг оси(2ой линии, построенной на 1ой и 2ой точке)
следовательно нужно как-то рассчитать координату Z 3ей точки, чтобы 3я точка легла рядом, а не вращалась по кругу...
gh05t
47 / 46 / 4
Регистрация: 03.04.2010
Сообщений: 99
17.05.2010, 00:34     Нахождение 3ей точки по первым двум лежащей на одной прямой с ними #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <conio.h>
#include <iostream>
#include <math.h>
 
using namespace std;
 
int main()
{
    int X1, X2, Y1, Y2, Z1, Z2, S;
    cin >> X1;
    cin >> Y1;
    cin >> Z1;
    cin >> X2;
    cin >> Y2;
    cin >> Z2;
    cin >> S;
 
    float k1 = (Y2-Y1)/(X2-X1);
    float k2 = (Z2-Z1)/(X2-X1);
    float X3 = sqrt(k1*k1+k2*k2+1)/S + X1;
    float Y3 = k1*(X3-X1) + Y1;
    float Z3 = k2*(X3-X1) + Z1;
 
    cout << X3 << endl;
    cout << Y3 << endl;
    cout << Z3 << endl;
 
    getch();
    return 0;
}
Yandex
Объявления
17.05.2010, 00:34     Нахождение 3ей точки по первым двум лежащей на одной прямой с ними
Ответ Создать тему
Опции темы

Текущее время: 12:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru