Compartilhar via


Cardinal splines no GDI +

Uma spline cardinais é uma sequência de curvas individuais associados a formar uma curva maior.O spline é especificado por uma matriz de pontos e um parâmetro de tensão.Uma spline cardinais suavemente passa por cada ponto no array; não há nenhum cantos nítidos e nenhuma alteração abruptas em tightness da curva.A ilustração a seguir mostra um conjunto de pontos e uma spline cardinais passa por cada ponto no conjunto.

Splines físicos e matemáticos

Uma spline física é um fino de madeira ou Outros material flexível.Antes do aparecimento de splines matemáticos, designers usado splines físicas para desenhar curvas.Um designer deve colocar o spline em uma folha de papel e ancore-lo a um determinado conjunto de pontos.O designer em seguida, pode criar uma curva pelo desenho junto o spline com uma caneta ou lápis.Um determinado conjunto de pontos pode produzir uma variedade de curvas, de acordo com as propriedades de spline físico.Por exemplo, um spline com uma alta resistência a tortos produziria uma curva diferente de uma spline extremamente flexível.

As fórmulas para splines matemáticos são baseadas nas propriedades de hastes flexíveis, portanto as curvas produzidas pelo splines matemáticos são semelhantes às curvas de uma vez produzidas pela splines físicos.Assim sistema autônomo 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ísico, forçando a curva para tirar a maneira mais curta (linhas retas) entre pontos.Uma tensão de 1 corresponde a nenhum tensão físico, permitindo que o spline percorrer o caminho da curva menos total.Com valores de tensão maiores que 1, a curva funciona como uma mola compactada, empurrada para tirar um caminho mais longo.

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

Para desenhar uma spline cardinais, você precisa de uma instância do Graphics classe, um Pene uma matriz de Point A instância de objetos a Graphics classe fornece o DrawCurve método, que desenha o spline, e o Pen armazena atributos da spline, sistema autônomo largura da 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 da 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