Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

рисование круга по точкам

6.8K
07 июля 2006 года
byff
38 / / 01.07.2006
как нарисовать круг радиуса r с цнтром в точке O (x:x) по точкам?
3
07 июля 2006 года
Green
4.8K / / 20.01.2000
С помощью формулы окружности.
16K
07 июля 2006 года
Триггер_Шмитта
18 / / 05.07.2006
В общем виде уравнение окружности имеет вид
(x-a)^2 + (y-b)^2 = R^2
a и b - абсцисса и ордината центра окружности, R - радиус окружности.
Вырази у через х, подставь координаты центра и изменяй в цикле значение x. Для каждого значения х получаешь два значения у, то есть рисуешь сразу две точки.
366
11 июля 2006 года
int
668 / / 30.03.2005
точка O(x;x)?? Будем считать, что (x;y)
Я точно не уверено, но, кажется, это в полярных координатах:

n:=-pi/1000;
repeat
n:=n+pi/1000;
x1:=r*cos(n);
y1:=r*sin(n);
putpixel(x+x1,y+y1,15);
until n>=2*pi;
2.7K
18 июля 2006 года
alexeyvnikitin
96 / / 11.10.2004
[QUOTE=int]точка O(x;x)?? Будем считать, что (x;y)
Я точно не уверено, но, кажется, это в полярных координатах:

n:=-pi/1000;
repeat
n:=n+pi/1000;
x1:=r*cos(n);
y1:=r*sin(n);
putpixel(x+x1,y+y1,15);
until n>=2*pi;[/QUOTE]

если бы окружность, линия, эллипс рисовались бы таким способом, никаких мощностей видеокарт не хватило бы даже на дряхленький HL2. Спасибо Брезенхему за его чудо алгоритм.
366
26 июля 2006 года
int
668 / / 30.03.2005
Так по-моему и вопрос был не по опенглу?
И когда это HL2 стал дряхленьким? У меня на бывгем 450-м целероне GF2 mx200 на минимуме кое-как шевелился. Вот кто дряхлый, так это wolf3d, однако, как там что на экран выводится, сказать не могу
2.7K
28 июля 2006 года
alexeyvnikitin
96 / / 11.10.2004
я это к тому, что люди хотят сделать 'как попало', а не 'как следует'
339
01 августа 2006 года
verybadbug
619 / / 12.09.2005
просто dn както странно определяется (pi/1000).... обычно оно определялось как полный_оборот/длину_окружности.... после преобразований dn := 1/r
339
01 августа 2006 года
verybadbug
619 / / 12.09.2005
Код:
var
  x,y,r,n,dn: real;
  x1,y1: Integer;
begin
  x := 100;
  y := 100;
  r := 50;

  dn := 1/r;
  n:=0;
  while n < 2*pi do begin
    x1 := Round(x + r*cos(n));
    y1 := Round(y + r*sin(n));
    PutPixel(x1, y1, 15);
    n := n + dn;
  end;
end;
18K
23 августа 2006 года
sysprg
4 / / 08.06.2006
Господа, окружность - вещь симметричная, следовательно, если точка с координатаим (x, y) лежит на окружности, то точки с координатами (x, -y), (-x, y) и (-x, -y) тоже лежат на зтой окружности, а отседова вытекает, что надо считать от 0 до pi/2.
929
23 августа 2006 года
sp999
198 / / 31.01.2003
[QUOTE=sysprg]Господа, окружность - вещь симметричная, следовательно, если точка с координатаим (x, y) лежит на окружности, то точки с координатами (x, -y), (-x, y) и (-x, -y) тоже лежат на зтой окружности, а отседова вытекает, что надо считать от 0 до pi/2.[/QUOTE]
А если не привязываться сразу к координатам центра окружности (X,Y), то можно и от 0 до pi/4, при этом меняя x с y.
2.0K
05 сентября 2006 года
WidowMaker
212 / / 05.04.2005
Так речь идет о круге или все же об окружности?
5.2K
24 сентября 2006 года
MIKE 247
31 / / 30.04.2005
А можно заглянуть, ну, хотя бы в "Язык Си для профессионалов" Г. Шилда и взять офигенный алгоритм рисования окружности (он даже носит имя чьё-то) без напряга мат. сопроцессора и вызова функций типа putpixel(), заменяя последние прямым доступом к видеопамяти. Получится быстро и профессионально.
ТОлько вот зачем рисовать окружность самому? Есть готовые функции в соответствующих библиотеках...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог