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

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

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.05.2010, 12:16   #1
rubik
Пользователь
 
Регистрация: 19.09.2009
Сообщений: 20
По умолчанию Раскраска эллипса

Происходит перебор точек по X и Y, точки которые попали в область эллипса окрашиваются в цвет. Мне нужно что бы эллипс был окрашен не монохромно, а цветными кольцами (то есть, например центр - белый, вокруг белого, желтый т.д.)
rubik вне форума Ответить с цитированием
Старый 02.05.2010, 05:21   #2
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

короче тебе вот сюда.
http://programmersforum.ru/showthread.php?t=92420
чтобы закрасить его своим цветом сначала создай вот такой массив :
Код:
type
My_Color=record
r,g,b:real;
end;
{там где написано var Form1:TForm1; сразу после этой строчки вписываешь это}
Massiv_Color:array[0..22] of My_Color;
потом заполняешь его. Лучше всего в onCreate
Код:
for i := 0 to 22 do
begin
  if (i mod 2=0) then 
  begin
    massiv_color[i].r:=0;
    massiv_color[i].g=0;
    massiv_color[i].b=0;
  end
  else
    begin
    massiv_color[i].r:=1;
    massiv_color[i].g=1;
    massiv_color[i].b=1;
  end;
end;
мы заполнили его чередованием чёрного и белого цвета.
далее в коде , который указан в той теме, ссылку на которую дал выше
замени везде glcolor3f(random,random,random) на
Код:
 for I := 0 to 21 do
    for j := 1 to 120 do
    begin
      if j<>120 then
      begin
        glBegin(GL_quads);
        glcolor3f(massiv_color[i].r,massiv_color[i].g,massiv_color[i].b)
        glVertex3f(s[i,j].x,s[i,j].y,s[i,j].z);
        glcolor3f(massiv_color[i+1].r,massiv_color[i+1].g,massiv_color[i+1].b)
        glVertex3f(s[i+1,j].x,s[i+1,j].y,s[i+1,j].z);
        glcolor3f(massiv_color[i+1].r,massiv_color[i+1].g,massiv_color[i+1].b)
        glVertex3f(s[i+1,j+1].x,s[i+1,j+1].y,s[i+1,j+1].z);
        glcolor3f(massiv_color[i].r,massiv_color[i].g,massiv_color[i].b)
        glVertex3f(s[i,j+1].x,s[i,j+1].y,s[i,j+1].z);
        glEnd;
      end
      else
      begin
        jj:=1;
        glBegin(GL_quads);
        glcolor3f(massiv_color[i].r,massiv_color[i].g,massiv_color[i].b)
        glVertex3f(s[i,120].x,s[i,120].y,s[i,120].z);
        glcolor3f(massiv_color[i+1].r,massiv_color[i+1].g,massiv_color[i+1].b)
        glVertex3f(s[i+1,120].x,s[i+1,120].y,s[i+1,120].z);
        glcolor3f(massiv_color[i+1].r,massiv_color[i+1].g,massiv_color[i+1].b)
        glVertex3f(s[i+1,jj].x,s[i+1,jj].y,s[i+1,jj].z);
        glcolor3f(massiv_color[i].r,massiv_color[i].g,massiv_color[i].b)
        glVertex3f(s[i,jj].x,s[i,jj].y,s[i,jj].z);
        glEnd;
      end;
    end;
вот у тебя и будет сфера в чёрно-белую полоску
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пересечение эллипса с прямой (Delphi) 0rtega Помощь студентам 0 13.04.2010 21:45
Рисование Эллипса Macwin Общие вопросы C/C++ 1 18.03.2010 14:38
Раскраска домика в ассемблере! Tirr Помощь студентам 1 21.11.2009 19:14
раскраска матрицы jeyjoe Помощь студентам 0 12.11.2009 18:49
Раскраска домика в графике Tirr Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 28.10.2009 22:10