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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.03.2011, 17:01   #1
nataliya234
 
Регистрация: 14.05.2010
Сообщений: 9
Восклицание графика на си

Доброго времени суток. Люди помогите плиз разобраться в задачи по графике, просто безумно буду благодарна............
Разработать приложение, отображающее на экране ход решения следующей задачи: на плоскости заданы множество точек М и круг. Выбрать из М две различные точки так, чтобы наименьшим образом различались количества точек в круге, лежащие по разные стороны от прямой, проходящей через эти точки.
хотя бы подскажите как эту все нарисовать можно.
nataliya234 вне форума Ответить с цитированием
Старый 30.03.2011, 17:33   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Вам собственно графика нужна или решение нахождения таких точек?
Если графика, то можно рисовать на канве TImage при помощи команд Point и Ellipse
Примерно так:
Image1->Canvas->Point(X,Y);
Image1->Canvas->Ellipse(X1,Y1,X2,Y2);
X и Y определяют прямоугольник вокруг эллипса.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 01.04.2011, 17:51   #3
nataliya234
 
Регистрация: 14.05.2010
Сообщений: 9
По умолчанию

с этим я разобралась...........но никак не могу написать цикл, для того чтобы координаты точек выводились через random, ну и если не сложно конечно, то и алгоритм нахождения таких точек
nataliya234 вне форума Ответить с цитированием
Старый 01.04.2011, 20:03   #4
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Точки и эллипс рисуются вот так. С алгоритмом разбираться не стал, но подсказать могу. Проводятся линии от точки до точки и проверяется "область порадания в окружность".
Затем, те линии, которые попали в эту област оставляються и проверяется количество точек, попавших в сектор ограниченный дугой и линией.

Код:
void __fastcall TMainForm::Button2Click(TObject *Sender)
{
TCanvas *pCanvas = Image1->Canvas;
pCanvas->Ellipse(20, 20, Image1->Width-20, Image1->Height-20);
randomize();
for(int i=0; i<100; i++)
  {
    Image1->Canvas->Pixels[random(Image1->Width)][random(Image1->Height)] = clBlack;
  }
}
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 01.04.2011 в 20:08.
Smitt&Wesson вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Графика plm Общие вопросы по программированию, компьютерный форум 0 18.01.2011 19:07
Графика Си++ Nika123 Общие вопросы C/C++ 2 24.11.2010 01:23
Графика в С++ 3.1 N@t@ly1992 Общие вопросы C/C++ 0 16.06.2010 18:40
Графика Solnze2 Общие вопросы Delphi 0 15.06.2010 09:46
Графика с++ dampirik Общие вопросы C/C++ 4 19.10.2009 01:57