Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.30;
Скачать: CL | DM;

Вниз

Как нарисовать эллипс под произвольным углом   Найти похожие ветки 

 
wardoc ©   (2005-06-04 12:46) [0]

Доброго времени суток.

Уважаемые, подскажите плиз как нарисовать эллипс под произвольным углом.


 
MBo ©   (2005-06-04 18:11) [1]

В NT-системах (указана XP, так что, видимо, подойдет) - SetWorldTransform c матрицей поворота относительно центра эллипса

В Вин9X  - аппроксимировать эллипс 4-мя кривыми Безье, провести аффинное преобразование поворота над их контрольными токами, отрисовать.


 
programania ©   (2005-06-04 23:45) [2]


procedure TForm1.Button1Click(Sender: TObject);
const ugol=30; //угол поворота элипса в градусах
var
i,xx,yy,h,w,xc,yc:integer;
u,f,x,y:extended;

begin
w:=200; h:=100; //размеры элипса

xc:=clientWidth div 2;  //центр
yc:=clientHeight div 2;

canvas.brush.color:=255;
f:=2*pi * ugol /360;

for i:=1 to 3600 do begin
 u:=2*pi * i / 3600;
 x:=w*sin(u{*3}); //убрать коментарии
 y:=h*cos(u{*5}); //чтоб было покрасивее элипса

//поворот точки x,y вокруг xc,yc на угол f
 xx:=trunc(x*cos(f) - y*sin(f))+xc;
 yy:=trunc(x*sin(f) + y*cos(f))+yc;

 canvas.fillRect(rect(xx,yy,xx+2,yy+2));
end;
end;




Страницы: 1 вся ветка

Текущий архив: 2005.10.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.049 c
14-1128999519
Laymer
2005-10-11 06:58
2005.10.30
ErWin и FireBerd


3-1126874915
Ромыч
2005-09-16 16:48
2005.10.30
Не могу сгенерить правильную ДБФку at runtime :(


4-1121785751
Valera
2005-07-19 19:09
2005.10.30
При перехвате сообщения WMEraseBkgnd получаю HDC больше Integer


14-1128920739
ilya39
2005-10-10 09:05
2005.10.30
Visual Studio Beta 2


14-1129110358
-=S..S=-
2005-10-12 13:45
2005.10.30
А чё ветку орешник не обновляют ? :(