Работа с координатами и векторами
|
|
SourceSamil
|
Дата: Вторник, 06.09.2016, 19:00:19 | Сообщение # 1 |
|
Сообщений: 237
Репутация: [ +/- ]
|
|
Прошу помощи. Позиция x и y известна, нужно найти позицию o (центр вектора XY) и построить вектор OO1 = вектору XY, так, чтобы угл 2 был равен углу 1
Гости не могут скачивать файлы
|
Сообщение отредактировал SourceSamil - Вторник, 06.09.2016, 19:01:08 |
|
| |
WOW_NAMES
|
Дата: Вторник, 13.09.2016, 21:00:18 | Сообщение # 2 |
|
Сообщений: 170
Репутация: -1 [ +/- ]
|
|
Цитата SourceSamil ( ) Прошу помощи. Я думаю ты знаешь ссылку на апи =)
|
|
| |
_R1KO_
|
Дата: Вторник, 13.09.2016, 22:34:39 | Сообщение # 3 |
|
Сообщений: 200
Репутация: 30 [ +/- ]
|
|
SourceSamil, ну если у тебя есть точки A[3] и B[3] то средина отрезка это: C[0] = (A[0]+B[0])/2; C[1] = (A[1]+B[1])/2; C[2] = (A[2]+B[2])/2;
А вот как с углами сделать - хз. Перпендикулярный найти - можно
|
|
| |
SourceSamil
|
Дата: Среда, 14.09.2016, 12:11:46 | Сообщение # 4 |
|
Сообщений: 237
Репутация: [ +/- ]
|
|
Спс, глядишь кто-нибудь подтянется
Сообщение отредактировал SourceSamil - Среда, 14.09.2016, 12:12:05 |
|
| |
_R1KO_
|
Дата: Среда, 14.09.2016, 12:16:40 | Сообщение # 5 |
|
Сообщений: 200
Репутация: 30 [ +/- ]
|
|
SourceSamil, хотя. смотри: Сумма углов треугольника на евклидовой плоскости равна 180°. Следовательно тебе сначала надо найти угол от оси до вектора, затем умножить его на 2 и отнять что выйдет от 180. Получишь угол который должен быть между изначальным вектором и тем, который строишь
|
|
| |
SourceSamil
|
Дата: Среда, 14.09.2016, 16:04:30 | Сообщение # 6 |
|
Сообщений: 237
Репутация: [ +/- ]
|
|
В идеале мне нужен вектор направленный из O в O1
|
|
| |
_R1KO_
|
Дата: Среда, 14.09.2016, 16:15:51 | Сообщение # 7 |
|
Сообщений: 200
Репутация: 30 [ +/- ]
|
|
Цитата SourceSamil ( ) В идеале мне нужен вектор направленный из O в O1 если перпендикулярный - нет проблем. а вот если учитывать углы - сложнааааа
Сообщение отредактировал _R1KO_ - Четверг, 15.09.2016, 21:46:32 |
|
| |
SourceSamil
|
Дата: Среда, 14.09.2016, 16:17:19 | Сообщение # 8 |
|
Сообщений: 237
Репутация: [ +/- ]
|
|
Вот я тоже парюсь, а с перпендикулярным как?
|
|
| |
_R1KO_
|
Дата: Среда, 14.09.2016, 16:47:17 | Сообщение # 9 |
|
Сообщений: 200
Репутация: 30 [ +/- ]
|
|
SourceSamil, http://www.webmath.ru/poleznoe/formules_13_14.php
|
|
| |
stepkick
|
Дата: Четверг, 15.09.2016, 12:08:36 | Сообщение # 10 |
|
Сообщений: 2
Репутация: 2 [ +/- ]
|
|
Код C[0] = (A[0] + B[0]) / 2.0; C[1] = (A[1] + B[1]) / 2.0; C[2] = (A[2] + B[2]) / 2.0; X[0] = (C[0] + C[0] * Cosine(DegToRad(90.0))); X[1] = (C[1] + C[1] * Sine(DegToRad(90.0))); X[2] = C[2];
A - X. B - Y. C - O. X - сама точка O1.
|
|
| |
SourceSamil
|
Дата: Пятница, 16.09.2016, 10:56:39 | Сообщение # 11 |
|
Сообщений: 237
Репутация: [ +/- ]
|
|
Воу, спасибо большое, очень хорошоДобавлено (16.09.2016, 10:56:39) --------------------------------------------- stepkick, угл XOO1 не известен. возможно юзать угл OXO1?
|
|
| |