Curvas
Uma curva regular é um conjunto de pixels realçados em uma exibição raster (ou pontos em uma página impressa) que definem o perímetro (ou parte do perímetro) de uma seção cônica. Uma curva irregular é um conjunto de pixels que define uma curva que não se encaixa no perímetro de uma seção cônica. O ponto final é excluído de uma curva assim como é excluído de uma linha.
Quando um aplicativo chama uma das funções de desenho de curva, o GDI divide a curva em vários segmentos de linha extremamente pequenos e discretos. Depois de determinar os pontos finais (ponto inicial e ponto final) para cada um desses segmentos de linha, o GDI determina quais pixels (ou pontos) definem cada linha aplicando seu DDA.
Um aplicativo pode desenhar uma elipse ou parte de uma elipse chamando a funçãoArc. Esta função desenha a curva dentro do perímetro de um retângulo invisível chamado retângulo delimitador. O tamanho da elipse é especificado por dois radiais invisíveis que se estendem do centro do retângulo para os lados do retângulo. A ilustração a seguir mostra um arco (parte de uma elipse) desenhado usando a função Arc.
Ao chamar a função Arc, um aplicativo especifica as coordenadas do retângulo delimitador e radiais. A ilustração anterior mostra o retângulo e radiais com linhas tracejadas enquanto o arco real foi desenhado usando uma linha sólida.
Ao desenhar o arco de outro objeto, o aplicativo pode chamar o SetArcDirection e funções de GetArcDirection para controlar a direção (no sentido horário ou anti-horário) em que o objeto é desenhado. A direção padrão para desenhar arcos e outros objetos é no sentido anti-horário.
Além de desenhar elipses ou partes de elipses, as aplicações podem desenhar curvas irregulares chamadas curvas de Bézier. Uma curva de Bézier é uma curva irregular cuja curvatura é definida por quatro pontos de controle (p1, p2, p3 e p4). Os pontos de controle p1 e p4 definem os pontos iniciais e finais da curva, e os pontos de controle p2 e p3 definem a forma da curva marcando pontos onde a curva inverte a orientação, como mostrado no diagrama a seguir.
Uma aplicação pode desenhar curvas irregulares chamando o função PolyBezier, fornecendo os pontos de controle apropriados.