|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Dmitry Kalinin 2:5009/5.43 30 Mar 2002 20:50:23 To : Max Vikulov Subject : Re: Пространственная кривая Безье -------------------------------------------------------------------------------- 30 Мар 02 00:33, Max Vikulov -> All: MV> 30 марта 2002 в 00:33, письмо для All ... MV> Hello, All ! MV> Если кто в курсе расчетных формул для пространственной MV> кривой Безье -- откликнитесь! MV> Куда хоть копать? Просто: m p = S(Cim*t^i*(1-t)^(m-i-1)*p[i] i = 0 S - сумма, от i до m Cim - сочетание i из m ^ - степень Для большей читабельности вот кусок из моей программы t = 0; MoveToEx(dc, (int) p[0].x, (int) p[0].y, NULL); while (t < 1) { x = y = 0; for (long i = 0; i < pn; i ++) { x += pow(t, i)*pow(1 - t, pn - i - 1)*p[i].x*C(i, pn - 1); y += pow(t, i)*pow(1 - t, pn - i - 1)*p[i].y*C(i, pn - 1); } LineTo(dc, (int) x, (int) y); t += dt; } t определена от 0 до 1. Для 3D просто добавляешь составляющую z z += pow(t, i)*pow(1 - t, pn - i - 1)*p[i].z*C(i, pn - 1); Dmitry ... "Ангельская пыль" (c) Ария. --- 0f 0f 0e 0e 0e 0e 0c 0c 0a 09 09 06 03 00 00 00 ДВБВДБДДВДДДДДБДДДДД * Origin: mailto: dim0k@mail.ru (2:5009/5.43) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/27843ca5ee6a.html, оценка из 5, голосов 10
|