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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2010, 11:46   #11
Macmeprag
Пользователь
 
Аватар для Macmeprag
 
Регистрация: 07.10.2010
Сообщений: 43
По умолчанию

множество точек это окружность) но то что в комменте это просто дя красоты окружность переходная точка такая между линиями
Macmeprag вне форума Ответить с цитированием
Старый 10.12.2010, 11:52   #12
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Как я понял: Есть начальная точка, игрок рисует очередную, но рисует конечно же неточно. Тогда вы из области, куда кликнул игрок найдите ту точку для которой будет выполняться условие sqrt((GX-X)^2+(GX-Y)^2)=D
или даже sqrt((GX-X)^2+(GX-Y)^2)-D<=eps. Если же ни для одной точки условие не выполняется, пусть тыкает дальше. Соответственно eps и допуск можете подрегулировать
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 10.12.2010, 11:56   #13
Macmeprag
Пользователь
 
Аватар для Macmeprag
 
Регистрация: 07.10.2010
Сообщений: 43
По умолчанию

Мм, спасибо, попробую реализовать это дело)
Macmeprag вне форума Ответить с цитированием
Старый 10.12.2010, 12:00   #14
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

в принципе несложно, что-то такое

Код:
for:=x-2 to x+2 do
 for j:=y-2 to y+2 do
  if (sqrt(sqr(i-gx)+sqr(j-gy))-D)<=0.0001 then begin
   Line(i,j);
   gx:=i;gy:=j;break;//нашли новую точку и запоминаем ее координаты
  end;
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 11.12.2010, 00:12   #15
Macmeprag
Пользователь
 
Аватар для Macmeprag
 
Регистрация: 07.10.2010
Сообщений: 43
По умолчанию

Все, спасибо) Сделал, правда немного подругому..даже не немного))
но спасибо за идеи)
Macmeprag вне форума Ответить с цитированием
Старый 11.12.2010, 14:37   #16
Dim On
Новичок
Джуниор
 
Регистрация: 08.12.2010
Сообщений: 2
По умолчанию

Как удалить нарисованную линию, способ рисования такой же лиии но с цветом фона не подходит, необходимо именно удалять?
Dim On вне форума Ответить с цитированием
Старый 11.12.2010, 14:38   #17
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Мммм...Чисто фактически вроде бы никак. Но если пользуете Делфи, можно юзать битмапы, и с помощью них можно....делать всякие всячины.
_-Re@l-_ вне форума Ответить с цитированием
Старый 11.12.2010, 16:56   #18
Dim On
Новичок
Джуниор
 
Регистрация: 08.12.2010
Сообщений: 2
По умолчанию

а больше никак? у меня просто прога(это ее часть), соединяем первую и вторую кнопку с помощью линии, а потом третью и вторую и линии накладваются, после этого например нужно удалить первую или вторую и при этом что бы другая осталась на месте....
глобальные

var
Form1: TForm1;
lines: array[1..3] of byte;
button: byte;
b: boolean;

----------------

procedure TForm1.Button1Click(Sender: TObject);
begin
button:= 3;
panel1.Visible:=true;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
button:= 2;
panel1.Visible:=true;
end;

procedure TForm1.Button2Click(Sender: TObject);
var x,y: integer;
begin
lines[button]:= 2;
panel1.Visible:=false;

case button of
3: begin
x:=button1.Left+75;
y:=button1.Top+12;
end;
2: begin
x:=button3.Left+75;
y:=button3.Top+12;

end else end;
form1.Canvas.MoveTo(x,y);
form1.Canvas.LineTo(x+button*20,y);
if y-(button2.Top+12)<0 then
begin
form1.Canvas.LineTo(x+button*20,y-(y-(button2.Top+12)));
form1.Canvas.LineTo((x+button*20)-(x-(button2.Left)),y-(y-(button2.Top+12)));
end
else
begin
form1.Canvas.LineTo(x+button*20,y-(y-(button2.Top+17)));
form1.Canvas.LineTo((x+button*20)-(x-(button2.Left)),y-(y-(button2.Top+17)));
end;
Dim On вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с рисованием на canvas`e Timage (Delphi) Dalagardi Помощь студентам 9 25.03.2010 20:55
delphi canvas Neymexa Помощь студентам 5 06.01.2010 21:35
Canvas.CopyRect DELPHI Что и как... 08ekhiv1 Помощь студентам 1 09.06.2009 08:25
Delphi Canvas карандаш wayder Помощь студентам 3 28.05.2009 16:57