Текущий архив: 2003.07.21;
Скачать: CL | DM;
Вниз
Повёрнутый элипс Найти похожие ветки
← →
KAV © (2003-04-01 17:36) [0]Привет всем. Я начинающиц дельфист, и процессе возникла такая проблемма: нужно нарисовать элипсы под разными углами т.е повёрнутые относителоьно центра, и еще не получается разобраться с FloodFill, т.к. эти элипсы должны быть разных цветов, и меняться в процесе выполнения программы.
Заранее благодарен.
← →
BOA_KAA © (2003-04-01 17:46) [1]Насколько я помню курс математики эллипс, повернутый под углом имеет свое уравнение. Если смотреть с этой позиции, то удобнее использовать Polygon. Если Вы нашли другой способ рисования эллипса, то для использования FloodFill просто можно определить координаты центра эллипса и от него начинать заливку. По-моему, так...
← →
MBo © (2003-04-01 17:50) [2]procedure TForm1.Button1Click(Sender: TObject);
var i,n:integer;
ang:integer;
sfi,cfi,alpha:double;
xa,ya:double;
x,y:integer;
a,b:integer;
x0,y0:integer;
begin
ang:=30;
x0:=200;
y0:=200;
a:=150;
b:=100;
n:=60;
sfi:=sin(degtorad(ang));
cfi:=cos(degtorad(ang));
for i:=0 to n do begin
alpha:=i*2*pi/n;
xa:=a*cos(alpha);
ya:=b*sin(alpha);
x:=round(x0+xa*cfi+ya*sfi);
y:=round(y0-xa*sfi+ya*cfi);
if i=0 then
canvas.moveto(x,y)
else
canvas.lineto(x,y);
end;
← →
MBo © (2003-04-01 17:54) [3]P.S.
Более быстро и умно будет аппроксимировать эллипс 4-мя кривыми Безье, проводя над их контрольными точками аффинное преобразование поворота вокруг центральной точки
Страницы: 1 вся ветка
Текущий архив: 2003.07.21;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.018 c