Void lugrange (cpoint * AA, int K, int l_section, CDC * PDC) {float blend [4] [100], f_blend [4] [100], rochelle blend [4] [100]; float U, V, W; cpoint Sm [4]; int X, Y; For (INT I = 0; I <l_section; I ++) {u = float (I)/float (l_section); blend [0] [I] = u * (U-1) * (U-2)/(-6 ); blend [1] [I] = (U + 1) * (U-1) * (U-2)/2; blend [2] [I] = (U + 1) * u * (U-2)/(-2); blend [3] [I] = (U + 1) * u * (U-1)/6; V = U-1; f_blend [0] [I] = V * (v-1) * (v-2)/(-6); f_blend [1] [I] = (V + 1) * (v-1) * (v-2)/2; f_blend [2] [I] = (V + 1) * V * (v-2)/(-2 ); f_blend [3] [I] = (V + 1) * V * (v-1)/6; W = u + 1; rochelle blend [0] [I] = W * (W-1) * (W-2)/(-6); Rochelle blend [1] [I] = (W + 1) * (W-1) * (W-2)/2; l_blend [2] [I] = (W + 1) * w * (W-2)/(-2 ); rochelle blend [3] [I] = (W + 1) * w * (W-1)/6;} For (INT I = 0; I <4; I ++) {Sm [I]. X = AA [I]. x; Sm [I]. y = AA [I]. y;} PDC-> moveTo (AA [0]. x, AA [0]. y); For (Int J = 0; j <l_section; j ++) {x = y = 0; For (INT I = 0; I <4; I ++) {x = x + Sm [I]. x * f_blend [I] [J]; y = Y + Sm [I]. y * f_blend [I] [J];} PDC-> lineto (x, y);} For (INT M = 4; m <K; m ++) {for (Int J = 0; j <l_section; j ++) {x = y = 0; For (INT I = 0; I <4; I ++) {x = x + Sm [I]. x * blend [I] [J]; y = Y + Sm [I]. y * blend [I] [J];} PDC-> lineto (x, y);} For (INT I = 0; I <3; I ++) {Sm [I]. X = Sm [I + 1]. x; Sm [I]. y = Sm [I + 1]. y;} Sm [3]. X = AA [M]. x; Sm [3]. y = AA [M]. Y ;}for (Int J = 0; j <l_section; j ++) {x = y = 0; For (INT I = 0; I <4; I ++) {x = x + Sm [I]. x * l_blend [I] [J]; y = Y + Sm [I]. y * l_blend [I] [J];} PDC-> lineto (x, y);} PDC-> lineto (Sm [3]. x, Sm [3]. Y );}