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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.05.2011, 11:10   #1
IGOMERL
Пользователь
 
Регистрация: 15.03.2011
Сообщений: 25
По умолчанию построение окружности по точкам

подскажите алгоритм построения кружности по точкам...
имеем центр окружности ... и радиус... нужно построить попиксилям...
Только есть одно но надо построить не полную окружность а дугу от одной точки окружности до другой....
(Pascal)

Код:
Program test;
uses crt;
k,l:integer;
var x,y,r:real;
begin 
x:=100;
y:=100;
r:=50;
DetectGrahp(k,l);
InitGraph(k,l,'d:\tp7\bgi\');
....
...
PutPixel(x,y,color);
...
...
end.
IGOMERL вне форума Ответить с цитированием
Старый 02.05.2011, 09:43   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вот ядро отрисовки:
Код:
ang:=0;
while ang<(pi/3) do begin
 PutPixel(round(x+r*cos(ang)),round(y+r*sin(ang)),red);
 ang:=ang+0.01;
end;
А теперь бегом читать методички. Твой код противоречит сам себе.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.05.2011, 12:54   #3
IGOMERL
Пользователь
 
Регистрация: 15.03.2011
Сообщений: 25
По умолчанию

вот код
Код:
program test;
uses crt, graph;
var x,y,ang,r:real;
gm,gb:integer;
begin
x:=100;
y:=50;
r:=10;
ang:=0;
detectgraph (gm,gb);
Initgraph (gm,gb,'');
while ang<(pi/3) do begin
PutPixel(round(x+r*cos(ang)),round(y+r*sin(ang)),red);
ang:=ang+0.01;
end;
readln;
end.
получилось
1.JPG
это никак не полная окружность ...
IGOMERL вне форума Ответить с цитированием
Старый 02.05.2011, 13:05   #4
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Код:
program test;
uses crt, graph;
var x,y,ang,r:real;
gm,gb:integer;
begin
x:=100;
y:=50;
r:=10;
ang:=0;
detectgraph (gm,gb);
Initgraph (gm,gb,'');
while ang<(2*pi) do begin
PutPixel(round(x+r*cos(ang)),round(y+r*sin(ang)),red);
ang:=ang+0.01;
end;
readln;
end.
Логично?
_-Re@l-_ вне форума Ответить с цитированием
Старый 02.05.2011, 13:11   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
это никак не полная окружность ...
Ты типо сам себе решил перечить?
Зачем тогда писал что:
Цитата:
надо построить не полную окружность а дугу
Ты уж определись чего хочешь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.05.2011, 13:33   #6
IGOMERL
Пользователь
 
Регистрация: 15.03.2011
Сообщений: 25
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ты типо сам себе решил перечить?
Зачем тогда писал что:
Ты уж определись чего хочешь.
Вообще у меня есть две окружности одна пересекает другую... та часть которая пересекается (тоесть общая) должна остаться в виде дуги...
я нашел точки пересечения окружностей... и вот надо зная радиус точку начала окружности точку конца окружности и радиус
IGOMERL вне форума Ответить с цитированием
Старый 02.05.2011, 18:43   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну так в чем проблема? Точки тебе известны, переводи их в полярные координаты - получишь начальный и конечный угол. А после циклом отрисовывай дугу. Как переводить координаты написано в википедии
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.05.2011, 19:14   #8
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

В чём проблема?Я же кинул исправленный код, который рисует полную окружность.
_-Re@l-_ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
построение параболы по 3 точкам fen1ksss Общие вопросы Delphi 5 05.10.2010 01:57
построение араболы по 3 точкам fen1ksss Общие вопросы Delphi 1 04.10.2010 22:10
построение окружности по 3 точкам в Delphi ксона Помощь студентам 16 12.12.2009 17:14
построение окружности заданной функции по точкам лорд преисподней Помощь студентам 1 18.11.2009 09:06
рисование окружности в конве по точкам лорд преисподней Общие вопросы Delphi 8 17.11.2009 21:44