Compartilhar via


Cardinal de Splines em GDI+

Uma spline cardinais é uma seqüência de curvas individuais, Unidas para formar uma curva maior. O spline é especificado por uma matriz de pontos e um parâmetro de tensão. Uma spline cardinais suavemente passa através de cada ponto na matriz; há nenhum cantos acentuados e sem mudanças abruptas no tightness da curva. A ilustração a seguir mostra um conjunto de pontos e uma spline cardinais que passa por cada ponto no conjunto.

Spline cardinal

Splines físicos e matemáticos

Uma spline física é um pedaço fino de madeira ou outro material flexível. Antes do aparecimento das splines matemáticos, os designers usavam o splines físicas para desenhar curvas. Um designer seria colocar spline em um pedaço de papel e ancorá-lo para um determinado conjunto de pontos. O designer pode criar uma curva desenhando ao longo de spline com uma caneta ou lápis. Um determinado conjunto de pontos pode produzir uma variedade de curvas, de acordo com as propriedades da spline físico. Por exemplo, um spline com uma alta resistência para entortar produziria uma curva diferente de uma spline extremamente flexível.

As fórmulas de matemáticas splines baseiam-se nas propriedades de hastes flexíveis, portanto, as curvas produzidas pelo splines matemáticos são semelhantes às curvas de uma vez produzidas pelo splines físicos. Assim como splines físicas de tensão diferente produzirá curvas diferentes por meio de um determinado conjunto de pontos, splines matemáticas com valores diferentes para o parâmetro de tensão produzirá curvas diferentes por meio de um determinado conjunto de pontos. A ilustração a seguir mostra quatro splines cardinais, passando pelo mesmo conjunto de pontos. A tensão é mostrado para cada spline. Uma tensão 0 corresponde ao infinito tensão física, forçando a curva de assumir a forma mais curta (linhas retas) entre pontos. Uma tensão de 1 corresponde a nenhuma tensão física, permitindo que o spline percorrer o caminho da curva menos total. Se com valores de tensão maiores que 1, a curva comporta como uma mola compactada, empurrada para levar a um caminho mais longo.

Splines cardinais

Os quatro splines na ilustração anterior compartilham a mesma linha tangente no ponto de partida. A tangente é a linha desenhada a partir do ponto de partida para o próximo ponto ao longo da curva. Da mesma forma, a tangente compartilhada no ponto final é a linha desenhada a partir do ponto final para o ponto anterior na curva.

Para desenhar uma spline cardinais, você precisa de uma instância da Graphics classe, uma Pene uma matriz de Point objetos a instância da Graphics classe fornece o DrawCurve método, que desenha spline, e o Pen armazena os atributos da spline, como a largura de linha e cor. A matriz de Point objetos armazena os pontos de curva atravessarão. O exemplo de código a seguir mostra como desenhar uma spline cardinais que passa através de pontos de myPointArray. O terceiro parâmetro é a tensão.

        myGraphics.DrawCurve(myPen, myPointArray, 1.5F)

myGraphics.DrawCurve(myPen, myPointArray, 1.5f);

Consulte também

Outros recursos

Linhas, curvas e formas

Construindo e desenho de curvas