Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Евгений Буланов
6 / 6 / 4
Регистрация: 23.10.2013
Сообщений: 63
#1

Параллельные прямые - C++

23.10.2013, 13:06. Просмотров 1500. Ответов 5
Метки нет (Все метки)

Есть два отрезка на плоскости, координаты точек известны. Нужно изменить координаты второй линии так, чтоб она стала параллельно первой на определенном пользователем расстоянии... Прошу помочь в математической составляющей, код реализую сам. Благодарю.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.10.2013, 13:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Параллельные прямые (C++):

Заменить в коде параллельные главной, на параллельные побочной диагонали - C++
Вот код,нужно сделать чтобы сортировались диагонали параллельные побочной, а не главной. помогите пожалуйста. int *diag1; diag1...

помогите пожалуйста задать прямые с помощью структур прямые задаются точкой и направляющим вектором. дальше как делать знаю - C++
Разработать алгоритм определяющий взаимное расположение двух прямых в пространстве. прямые задать с помощью структур. результат вывести на...

Две прямые описываются уравнениями напечатать координаты точки пересечения этих прямых, либо сообщить что эти прямые совпада - C++
Две прямые описываются уравнениями а1x+b1y+c1=0 a2x+b2y+c2=0 напечатать координаты точки пересечения этих прямых, либо сообщить что...

Определить пересекаются две прямые, параллельны или совпадают.Две прямые заданы уравнениями: ax+by+c=0, px+qy+r=0 - C++
Определить пересекаются две прямые, параллельны или совпадают. Две прямые заданы уравнениями: ax+by+c=0, px+qy+r=0

Параллельные вычисления - C++
Здравствуйте, не знаю в какой ветке постить, решил в этой. Хочу использовать эти технологии OpenMP и\или GPGPU(OpenCL) но практической...

Параллельные потоки - C++
Может кто-нибудь подсказать, как написать программу, в которой с какой-то определенной точки работают параллельно, например, три потока?...

5
Raali
623 / 327 / 34
Регистрация: 06.07.2013
Сообщений: 1,068
Завершенные тесты: 1
23.10.2013, 13:18 #2

Не по теме:

Цитата Сообщение от Евгений Буланов Посмотреть сообщение
Прошу помочь в математической составляющей
дак почему выбор пал на форум C++ , а не на математический ?



вобщем суть такова - отношение разницы по X к разнице по Y (x1-x2)/(y1-y2) для двух линий должно быть одинаково
1
Евгений Буланов
6 / 6 / 4
Регистрация: 23.10.2013
Сообщений: 63
23.10.2013, 13:52  [ТС] #3
да-да, до этого я конечно дошел... это угловой коэффициент. я немогу сдвинуться далее. если возможно, поттолкните... Как изменить угловой коэффициент второго отрезка? У меня есть m(угл.коэф.)
m = (y2-y1)/(x2-x1) Все переменные известны. А вот чему будут равняться координаты, если мне нужно изменить 'm'?
0
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
23.10.2013, 14:07 #4
Цитата Сообщение от Евгений Буланов Посмотреть сообщение
Есть два отрезка на плоскости, координаты точек известны. Нужно изменить координаты второй линии так, чтоб она стала параллельно первой на определенном пользователем расстоянии... Прошу помочь в математической составляющей, код реализую сам. Благодарю.
C++
float n = 5.0; // расстояние
 
// координаты начала и конца первого отрезка
float xa1 = 3.0; 
float ya1 = 4.0;
float xb1 = 1.0;
float yb1 = 1.0;
 
// кот Ангенс... мяу
float t = (xa1-xb1)/(ya1-yb1);
 
// координаты начала и конца второго отрезка
float xa2 = xa1 - n * t;
float ya2 = ya1 + n / t;
float xb2 = xb1 - n * t;
float yb2 = yb1 + n / t;
1
CheshireCat
Эксперт С++
2895 / 1244 / 78
Регистрация: 27.05.2008
Сообщений: 3,397
23.10.2013, 14:15 #5
Ну вот смотри:
Пусть у тебя есть отрезок A с координатами концов x1a, y1a, x2a, y2a, и отрезок B с координатами концов x1b, y1b, x2b, y2b.
Вычисляешь: k = (x2a - x1a)/(y2a - y1a).
Теперь у тебя ровно тот же самый k должен получиться и для второго отрезка: (x2b - x1b)/(y2b - y1b) == k.
Имеет смысл зафиксировать из четырех координат три, и изменить четвертую так, чтобы это равенство выполнилось.
Например, будем менять x2b, тогда:
(x2b - x1b)/(y2b - y1b) = (x2a - x1a)/(y2a - y1a);
или
x2b = ((x2a - x1a)/(y2a - y1a))*(y2b - y1b) + x1b;

Краевые случаи (например, когда y2a == y1a) рассмотри сам.
Вуаля.

Ну и "на определенном расстоянии" реализуется столь же несложными вычислениями.
1
Евгений Буланов
6 / 6 / 4
Регистрация: 23.10.2013
Сообщений: 63
23.10.2013, 22:40  [ТС] #6
Благодарю ВСЕХ, прогу запилил, всё работает
0
23.10.2013, 22:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.10.2013, 22:40
Привет! Вот еще темы с ответами:

Параллельные вычисления - C++
Прошу помочь решить следующую задачу(параллельное программирование) Дана последовательность чисел. Найти сумму элементов этой...

OPENmp параллельные потоки QT - C++
#include <iostream> #include "omp.h" using namespace std; int main() { #pragma omp parallel { ...

Параллельные вычисления средствами С++ 11 - C++
Поиск файлов в каталоге реализован в ф-ии direct, потоки управляют из мейна. Ф-ю direct надо разбить на несколько потоков, вывод...

Параллельные сортировки с OpenMP - C++
Привет, читателю . Надеюсь не поленитесь прочесь до конца, кто понимает =) Вообщем суть такова, у меня есть функции 3 разных сортировок(...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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