Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.05.2011, 11:10   #1
Демик
Форумчанин
 
Аватар для Демик
 
Регистрация: 30.01.2011
Сообщений: 231
По умолчанию Координаты прямой.

Здравствуйте, подскажите пожалуйста, как можно найти координаты точек начала и конца прямой заданной уравнением ax+by+c=0. Уже весь интернет облазил, ничего нужного не нашел.
Злостный анимешнег =^.^=
Демик вне форума Ответить с цитированием
Старый 26.05.2011, 14:19   #2
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

Прямая бесконечна.
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума Ответить с цитированием
Старый 26.05.2011, 14:56   #3
Демик
Форумчанин
 
Аватар для Демик
 
Регистрация: 30.01.2011
Сообщений: 231
По умолчанию

А если мне даны коэффициенты a,b,c? Как мне тогда узнать координаты этой прямой что бы нарисовать её в программе?
Злостный анимешнег =^.^=
Демик вне форума Ответить с цитированием
Старый 26.05.2011, 15:13   #4
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

Выбрать x краев и подставить в формулу:
Код:
point pt1, pt2;
if(!b)
{
   pt1.x = pt2.x = - c/a;
   pt1.y = 10; // Top edge
   pt2.y = 500; // Bottom edge
}
else
{
   pt1.x = 10; // Left edge
   pt1.y = (-a*pt1.x - c)/b;
   pt2.x = 500; // Right edge
   pt2.y = (-a*pt2.x - c)/b;
}
line(pt1, pt2);
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума Ответить с цитированием
Старый 26.05.2011, 15:52   #5
Демик
Форумчанин
 
Аватар для Демик
 
Регистрация: 30.01.2011
Сообщений: 231
По умолчанию

Я сильно извиняюсь, но немного непонятно.
Код:
Код:
point pt1, pt2; //Тип переменной поинт мы должны определить сами через  struct?
if(!b)//а что означает (!b)если не b, что?
{
   pt1.x = pt2.x = - c/a;// Хначала=Хконца=-c/a верно?
   pt1.y = 10; // Top edge//а откуда эти значаения?
   pt2.y = 500; // Bottom edge
}
else
{
   pt1.x = 10; // Left edge // и эти?
   pt1.y = (-a*pt1.x - c)/b;//Уначала=(-а*Хначала-с) так да?
   pt2.x = 500; // Right edge// и это непонятно.
   pt2.y = (-a*pt2.x - c)/b;
}
line(pt1, pt2);//Мы сами должны написать функцию рисования линии?
Буду очень благодарен если вы ответите на вопрос.
Злостный анимешнег =^.^=
Демик вне форума Ответить с цитированием
Старый 26.05.2011, 16:56   #6
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

1) Это псевдокод.
2) Можете через struct, можете просто кучу int'ов.
3) ( !b ) == (b != 0)
4) Это края области рисования
5) Да
6) Да
7) Вам лучше не рисковать писать функцию черчения линии, воспользуйтесь библиотечной.
В предверье следующего вопроса насчет пункта 7: Где вы пишите?
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума Ответить с цитированием
Старый 26.05.2011, 17:06   #7
Демик
Форумчанин
 
Аватар для Демик
 
Регистрация: 30.01.2011
Сообщений: 231
По умолчанию

VS C++ 2010 Express. Пользуюсь opengl библиотеками, в рисовании разобрался осталась проблема с нахождением и подстановкой координат.
Злостный анимешнег =^.^=
Демик вне форума Ответить с цитированием
Старый 26.05.2011, 17:41   #8
Демик
Форумчанин
 
Аватар для Демик
 
Регистрация: 30.01.2011
Сообщений: 231
По умолчанию

А вы можете мне просто написать формулу нахождения точек А(х1,у1) Б (х2,у2) прямой АБ заданной уравнением ax+by+c=0?
Злостный анимешнег =^.^=
Демик вне форума Ответить с цитированием
Старый 26.05.2011, 17:53   #9
Mahin
Пользователь
 
Регистрация: 18.11.2009
Сообщений: 39
По умолчанию

y=(-ax-c)/b. a, b, c, x подставь сам, а вообще можешь выложить текст задания, а то как-то непонятно.
Mahin вне форума Ответить с цитированием
Старый 26.05.2011, 17:59   #10
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

y = (-ax - c)/b
Опоздал
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прямой доступ к БД pervasive Evgen1503 БД в Delphi 5 11.03.2011 12:50
Генератор прямой последовательности izzie Помощь студентам 9 03.11.2010 21:29
Поворот прямой Байт Помощь студентам 2 15.02.2010 22:41
Программка на С++ о прямой адресации `Fleur Фриланс 1 12.12.2008 20:35
Анимация прямой NecroSlider Помощь студентам 3 23.04.2007 13:31