double Hermit( double x, int n) { if (n<0) return 0.0; if (n ==0) return x; if(n==1) return (x*x - 1.0); return ( x * Hermit(x,n-1) - n * Hermit(x,n-2) ); }
void HermiteShape::Draw(CDC *pDC) { if(IsDone()) { drawHelper(pDC, counter); HPEN pen = CreatePen(2, 2, 0xff0000); HPEN old = (HPEN)SelectObject (pDC->m_hDC ,pen); pDC -> MoveTo(Hermit(0)); for(float t = 0; t <= 1; t += 0.001f) { pDC -> LineTo(Hermit(t)); } SelectObject (pDC->m_hDC ,old); DeleteObject(pen); } else { drawHelper(pDC, counter); } }