|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Oleg Tynianyi 2:5025/900 18 May 2001 17:19:24 To : All Subject : Re: Кривые Безье -------------------------------------------------------------------------------- "Iskander Sagen" <Iskander_Sagen@p2.f1186.n5030.z2.fidonet.org> сообщил/сообщила в новостях следующее: news:176183272@p2.f1186.n5030.z2... > Пpивет c седьмого этажа All! > Расскажите/дайте почитать/подскажите адpес пpо сабж. Hу простой программка я тебе дам, а вот про усики жду сам ответа !!! if (Type==ptpBezier) { // Рисование кривой Безье TPoint a, c ; CopyPoint(a,Vertex[0]) ; CopyPoint(c,Vertex[2]) ; if(a.x>c.x) ChangePoint(a,c) ; Count = 0 ; Extended dx = min(int(abs(c.x-a.x)),640) ; int Plus=(dx>20?0:20) ; Extended Step = 1.0/(dx+Plus) ; for (int i=a.x;i<=c.x+Plus;i++) { Extended t = Extended(i-a.x)*Step ; Extended q1 = t*t*t*-1 + t*t*3 + t*(-3) + 1; Extended q2 = t*t*t*3 + t*t*(-6) + t*3; Extended q3 = t*t*t*(-3) + t*t*3; Extended q4 = t*t*t; Extended qx = q1*a.x + q2*Vertex[1].x + q3*Vertex[1].x + q4*c.x; Extended qy = q1*a.y + q2*Vertex[1].y + q3*Vertex[1].y + q4*c.y; if (int(qx)<1 && int(qy)<1) break ; points[Count].x = qx ; points[Count].y = qy ; Count++ ; } } Олег --- Microsoft Outlook Express 5.50.4133.2400 * Origin: Comment is superfluous... (2:5025/900@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/13384e3c6cda9.html, оценка из 5, голосов 10
|