Текущий архив: 2004.12.05;
Скачать: CL | DM;
ВнизНужна информация по сглаживанию линий Найти похожие ветки
← →
Mihey_temporary © (2004-09-01 23:19) [0]Нужно реализовать сглаживание линий. Нужны именно алгоритмы или реализации с исходным кодом дабы можно было переделать под конкретный случай.
← →
MBo © (2004-09-02 07:15) [1]http://www.antigrain.com/
http://www.cs.wpi.edu/~matt/courses/cs563/talks/antialiasing/methods.html
efg тебе известно.
http://www.google.ru/groups?hl=ru&lr=&ie=UTF-8&group=borland.public.delphi.graphics
http://www.google.ru/groups?hl=ru&lr=&ie=UTF-8&group=comp.graphics.algorithms
http://www.simdesign.nl/tips/tip002.html
И поищи Graphics Gems, 1 том.
← →
Mihey_temporary © (2004-09-02 16:10) [2]Спасибо за ссылки, весьма интересные источники ты берёшь. Но боюсь, что я не правильно выразился.
Мне нужно скруглить, сгладить, сделать более плавной некоторую кривую или ломаную - вот, что я имел ввиду :). Пока что линия не представлена никак, с этим я также буду разбираться, но всё это значит, что подойдут самые разные алгоритмы.
← →
Mihey_temporary © (2004-09-03 18:25) [3]up
← →
wicked © (2004-09-04 01:52) [4]то есть нужны сплайны?....
PolyBezier подойдет?...
← →
Рыба © (2004-09-04 20:06) [5]
procedure DrawCubicCurve(Canvas: TCanvas; const Points: array of TPoint; Steps: cardinal);
function Interpolate(const p1, p2, p3, p4: TPoint; t: single): TPoint;
function cubic(v1, v2, v3, v4, t: single): single;
begin
result:= v2 + t*((-v1 + v3) +
t*((2*v1 - 2*v2 + v3 - v4) +
t*(-v1 + v2 - v3 + v4)));
end;
begin
Result.x:= round(cubic(p1.x, p2.x, p3.x, p4.x, t));
Result.y:= round(cubic(p1.y, p2.y, p3.y, p4.y, t));
end;
var
i, s: integer;
p, p1, p2, p3, p4: TPoint;
begin
if Length(Points) < 2 then
exit;
Canvas.MoveTo(Points[0].x, Points[0].y);
p2:= Points[0];
p3:= Points[0];
p4:= Points[1];
for i:= 0 to High(Points)-1 do
begin
p1:= p2;
p2:= p3;
p3:= p4;
if i+2 < Length(Points) then
p4:= Points[i+2];
for s:= 1 to Steps do begin
p:= Interpolate(p1, p2, p3, p4, s / Steps);
Canvas.LineTo(p.x, p.y);
end;
end;
end;
Бери Steps > 2.
← →
Mihey_temporary © (2004-09-04 20:59) [6]Так, спасибо, будем пробовать.
Страницы: 1 вся ветка
Текущий архив: 2004.12.05;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.038 c