Loading
Nota de Estudos
Study Reminders
Support
Text Version

Representação Spline

Set your study reminders

We will email you at these times to remind you to study.
  • Monday

    -

    7am

    +

    Tuesday

    -

    7am

    +

    Wednesday

    -

    7am

    +

    Thursday

    -

    7am

    +

    Friday

    -

    7am

    +

    Saturday

    -

    7am

    +

    Sunday

    -

    7am

    +

Olá e bem-vindo a palestra número 8 no curso Computer Graphics.
Hoje vamos discutir em detalhes sobre esses dois tipos de splines. Junto com isso, vamos falar sobre como essas splines podem ser usadas para representar curvas e superfícies em computação gráfica. Comecemos pela ideia de splines interpolantes.
Se você relembrar, as splines interpolantes são aquelas em que definimos um conjunto de pontos de controle e a curva de Spline passa por esses pontos. E mencionamos também 3 splines populares interpolantes. A saber, a esplina cúbica natural, as splines cúbicas de Hermite e as splines cúbicas cardinais, todas 3 são splines interpolantes, significando que são definidas por pontos de controle que passam pelas curvas de Spline. Por isso, vamos agora, entrar em alguma discussão detalhada sobre cada um desses tipos populares. Começaremos com esplina cúbica natural.
Só um pouco de história. Portanto, esta é uma das primeiras splines. Isso foi usado em aplicativos de computação gráfica. E como o nome sugere, uma vez que se trata de uma espla cúbica por isso ela é composta por peças de polinômios de terceiro grau.
Agora, cada peça, cada uma das peças polinomiais é definida por 4 pontos de controle, podemos denotá-los como p0, p1, p2, p3. Recordamos que quando estamos falando de interpolação polinomial, o que mencionamos anteriormente é que se estamos usando um polinomial de grau n, então vamos ter n mais 1 pontos de controle. Por isso, similarmente aqui desde o grau é três, então temos 4 pontos de controle.
Agora no caso de splines cúbicos naturais dois dos pontos de controle p0 e p3 denotam dois pontos de limite que significa o valor limite do parâmetro u so p0 refere-se ao ponto quando u = 0 e p3 refere-se ao ponto em que u = 1. Agora, os outros dois pontos de controle estão, essencialmente, denotando o primeiro e o segundo derivados no ponto de partida que é igual a 0. Assim, dois pontos de controle são essencialmente pontos nas curvas p0 e p3, o que representa os dois pontos de limite e os outros dois pontos não são pontos nas Curvas, e sim os derivados de primeira e segunda ordem com relação ao parâmetro u at u igual a 0.
Agora, vamos tentar representar essa esplina usando uma das técnicas de representação. Assim, recolecia novamente que a spline pode ser representada em qualquer das duas formas, a saber, uma representação matriz de base e uma representação de função de mistura. Mencionamos também que eles são equivalentes. Então, qualquer uma representação é boa o suficiente. Agora, no contexto de representações interpolantes, tentaremos representá-las utilizando forma de matriz de base.
Por isso, em caso de esplina cúbica natural, já que estamos usando polinômio cúbico para que as equações de peça polinomial geral devem se parecer com algo assim. Onde a0, a1, a2 e a3 são coeficientes, u é o parâmetro. Agora já sabemos que p0 ou o ponto de controle p0 e o ponto de controle p1 ponto de controle p2, ele deve ser p2 e o ponto de controle p3 ter significado específico, portanto p0 e p3 representam o ponto nos limites. Sendo assim, então podemos configurar as equações, algo assim, p0 é o valor da função em u igual a 0 que podemos obter substituindo u por 0.
Assim, obteremos a0, 0.a1, 0 quadrado a2, 0 cubo a3 apenas substituir 0, substituir u por 0. Da mesma forma para p3, temos o valor da função em u igual a 1. Então, neste caso substituímos u por 1 e obtemos algo assim. Estas duas são equações correspondentes aos pontos de controle, p0 e p3, p1 e p2, como dissemos representar a primeira encomenda e a segunda derivada de ordem em u igual a 0. Assim, p1 é o derivado de primeira ordem, p2 é a segunda derivada de ordem com relação u.
Agora se computamos os derivativos e depois substituímos u com valor de 0 em caso de p1, o que obteremos vai obter equação, algo assim. Você pode tentar você mesmo para primeiro obter o derivativo e, em seguida, substituir os valores u com 0. Agora computamos o derivativo novamente para obter o segundo derivativo da ordem em u igual a 0 correspondente a p2 e depois substituir u com 0 novamente. E a gente recebe equação algo assim.
Sendo assim, essas 4 equações representam o sistema de equações que podemos obter utilizando as características do ponto de controle. E a partir dessas equações, a partir destes conjunto de equações, podemos derivar a matriz de base. Como podemos fazer isso, podemos primeiro construir a matriz de restrição, tomando simplesmente esses valores ligados aos coeficientes e então tiramos o inverso disso para obter a matriz de base.
Então, qual é a matriz de restrição? Reformulemos a equação aqui. Por isso, a partir daí o que obtemos, como podemos ver, 1, 0, 0, 0, esta é a primeira fila. 0 1 0 0. Esta é a segunda linha, 0 0, 2 e 0 esta é a terceira linha e finalmente 1, 1, 1, 1. Esta é a quarta fila. Por isso, apenas utilizando esses valores, obtemos a matriz constante C. Agora, para obter matriz de base o que precisamos fazer, precisamos levar o inverso de C, como computar o inverso que não vamos discutir aqui, é claro, porque esse é um conhecimento muito básico. E você pode se referir a qualquer livro sobre matriz básica. Também, você pode consultar o apêndice do material de referência que será mencionado no final desta palestra para aprender como obter o inverso de uma matriz, assumindo que já sabemos disso. Então, se esta é a nossa matriz de restrição C e se tomarmos o inverso, a matriz que obteremos é esta. E esta é a matriz de base para a esplina cúbica natural.
Por isso, vamos relembrar a série de passos que seguimos para obter a matriz de base primeiro definimos os pontos de controle então usando esses pontos de controle. Montamos o sistema de equações e a partir das equações formulamos a matriz de restrição C. Depois tomamos o inverso de C para obter a matriz de base, uma vez que matriz de base é a matriz característica para os polinômios cúbicos e que a esplina de Cubic natural, são confecionados em polinômios cúbicos.
Então, podemos dizer que essa matriz de base, que é características de polinomial cúbico é boa o suficiente para representar a esplina cúbica natural. Por isso, seguiremos essa linha de argumentação como discutida na palestra anterior.
Então, se simplesmente usarmos a matriz, então podemos dizer que esta é a espla cúbica natural em vez de especificar as equações ou qualquer coisa. Agora, outra propriedade importante aqui que essas splines cúbicas têm é que elas suportam as condições de continuidade até a continuidade de C2, continuidade paramétrica até C2 que significa que suportam a continuidade C0, a continuidade C1 e C2 continuam.
Mas o problema é que as splines cúbicas não têm controlabilidade local. Isso significa que se temos uma esplina e queremos mudar sua forma levemente modificando alguns pontos na curva, então temos que re-computar toda a curva em vez da re-computação, apenas a área localizada.
Então, essa é essencialmente uma abordagem muito ineficiente. Por exemplo, suponhamos que eu tenha curva assim e eu quero mudar essa parte para algo assim, mas então em vez de apenas restringir nosso cálculo dentro dessa parte, temos que realmente computar toda a curva novamente. Então, ele não suporta controlabilidade local. Agora, vamos chegar ao segundo tipo de splines interpolantes que são as splines cúbicas de Hermite como as cúbicas naturais, as splines cúbicas Hermite também são representadas por 4 pontos de controle.
No entanto, possui uma propriedade importante que suporta a controlabilidade local. Assim, o principal problema com as espinhas cúbicas naturais é aliviado com as espinhas cúbicas Hermitas. Assim, os 4 pontos de controle que define as splines cúbicas de Hermite podem ser denotados por p0, p1, p2 e p3.
Agora onde p0 e p2 são os valores nos limites de parâmetros que significa u igual a 0 e u igual a 1, p1 é o primeiro derivado em u igual a 0 e p2 é o primeiro derivado em u = 1. Por isso, antes tínhamos p0 e p3 para serem os pontos no limite p1 e p2 são os primeiros e segundo derivados no mesmo ponto que é u igual a 0.
Agora o que temos é p0 e p2 aqui usando para representar os pontos nos limites de parâmetros, a saber, u igual a 0 e u igual a 1. P1 é a primeira derivada em u igual a 0 e P2 é a primeira derivada em u igual a 1. Assim, em ambos os pontos limites temos primeiro derivativo indicado pelos pontos de controle P1 e P2.
Seguindo a abordagem que usamos para derivar a matriz de base para as splines cúbicas naturais, podemos também derivar a matriz de base para as splines cúbicas Hermite, não fará isso aqui. E você pode tentar você mesmo. A abordagem é a mesma. Então, você montou um sistema de equações, identificar a matriz de restrição pegar seu inverso e obter a matriz básica. A Matrix se parece com algo assim, que é a representação para as espinhas cúbicas Hermitas. Agora, embora as splines cúbicas Hermite suportem a controlabilidade local, mas não suportam todas as condições de continuidade paramétricas, ao contrário das cúbicas naturais, elas suportam apenas as condições de continuidade C0 e C1 e não suportam a condição C2. Mas os cúbicos naturais suportam todos estes três C0, C1, C2. Isso implica que a curva que resulta dos polinômios de Hermite cúbicos são menos lisas em comparação com a spline de base polinomial natural. Então, às custas de smoothies. Estamos conseguindo a propriedade de controlabilidade local, por isso estamos obtendo a controlabilidade local, mas estamos perdendo em alguma medida, o grau de smoothies na curva.
Agora, um problema aqui é que temos que especificar os derivados de primeira ordem. Como pontos de controle e ambos os limites, claramente isso coloca carga extra sobre o usuário. Para evitar que tenhamos outra curva de spline que é o cardeal splines cúbicos. Agora, com essa spline, podemos resolver o problema que enfrentamos com splines cúbicos de Hermite que está tendo que definir o primeiro derivativo de ordem e tanto os pontos limites.
Como antes, desde novamente, estamos lidando com splines cúbicas, esta fartura também é composta por peças polinomiais, e cada peça é definida por 4 pontos de controle. Novamente, estamos denotando-os usando p0 a p3. Mesmas notações que estamos usando mas aqui p1 e p2 representam os valores limite que significa em u igual a 0 e u igual a 1. P0 e p3 são usados para obter derivados de primeira ordem nos limites. Como, olhe para este sistema de equações aqui. Este é o ponto de controle p1 que é o valor da função em 0. Este é o ponto de controle p2 que é o valor da função em 1, u igual a 1.
Agora a primeira ordem derivada em u = 0 pode ser obtida usando-se esta equações. Similarmente a primeira ordem derivada em u = 1 pode ser obtida usando essas equações. Onde temos usado isso para controlar pontos desta moda. E também usou um parâmetro adicional t em ambos os casos. Agora t é chamado de Parâmetro de tensão. Então, essencialmente ele determina a forma da curva quando t igual a 0 o que obtemos é o catmull-rom ou overhuset spline. Então, esse é um tipo especial de spline quando t igual a 0. Por isso, usando o valor de t podemos realmente controlar a forma da curva de spline geral. Então, aqui não temos que computar de fato os derivados em vez disso podemos derivá-lo usando os pontos de controle e o valor de t, de modo que realmente torna mais simples a vida do usuário.
Mas, novamente, o cardeal Cubic também sofreu com o mesmo problema. Ou seja, suporta até C0 e vê uma condição de continuidade paramétrica. Ele não suporta C2. Então, ela tem uma curva menos suave do que a natural Cubics. Então, então o que resta é a formulação de matriz de base. Isso é um pouco complicado, mas, novamente, você pode tentar usar a mesma abordagem, configurando o sistema de equações em que alguns rearranjos podem ser necessários. Aí você cria a matriz de restrição, leva o inverso para obter a matriz de base para o cardeal spline cúbico. O qual é representado na forma de S onde S é esta expressão.
Por isso, para resumir, aprendemos cerca de 3 splines interpolantes. Cada uma dessas splines interpolantes são feitas de peças polinomiais. E essas peças são Cubic. Assim, cada peça é definida por 4 pontos de controle. Em caso de cúbica natural, os pontos de controle são definidos de maneira particular, em caso de Hermite cúbico é definido de maneira diferente e em caso de Cardeal Cubic, ele é definido em mais uma forma. Por isso, o Cubic natural é muito suave, mas tem alguns problemas.
Esses problemas estão particularmente relacionados com a controlabilidade local, que é cuidada no Hermite Cubic, mas à custa de smoothies. Mas especificar a Hermite Cubic's é um pouco difícil, que é novamente cuidado pelo Cardeal Cubic's. Mas o alisamento permanece menos comparado com o de Cubic natural. Agora, vamos mudar para a outra categoria de splines, a saber, as splines aproximadas, então o que são essas splines? Só para recapitear aqui, temos um conjunto de pontos de controle, mas essa esplina não precisa passar por todos os pontos. Em vez disso, os pontos de controle são usados para definir o casco do condenado, o que determina a forma da curva geral de Spline.
Agora, há duas splines populares aproximadas usadas em computação gráfica. Uma é chamada de curvas Cubic Bezier, e a outra é B splines. Como no caso de splines interpolantes, vamos tentar entender esses tipos em um pouco mais de detalhes. Começaremos com curvas cúbicas de Bezier. Agora, essas curvas em particular, as curvas do Cubic Bezier estão entre a técnica de representação amplamente utilizada em gráficos. O nome foi derivado do engenheiro francês Pierre Bezier, que o usou pela primeira vez para projetar corpos da Renault Car.
Uma vez que é curva Cubic tão definida por 4 pontos de controle como antes, mas aqui a diferença é que a curva é um Spline aproximado que significa que as peças polinomiais não passam por todos os 4 pontos de controle. Podemos denotar esses pontos como antes de p0, p1, p2 e p3. Por isso, há 4 pontos, mas não é necessário que a curva passe por todos os pontos. Em vez disso, esses pontos são usados para definir o casco convexo, assim, cada peça se origina em p0 e termina em p3, ou seja, o primeiro e os últimos pontos de controle. Os outros dois pontos são usados para determinar o casco convexo dentro do qual a curva encontra-se. Então, 2 pontos estão na curva e outros 2 pontos estão controlando a forma da curva.
Agora, os pontos de controle podem ser usados para definir os derivados de primeira ordem nos valores limite que é u igual a 0 e u igual a um usando essas expressões. Então, esta é a primeira derivada de ordem em u igual a 0 e esta é a primeira derivada de ordem u igual a 1 E t hese dois derivados são definidos em termos dos pontos de controle como mostrado nestes exemplos.
A partir desse conjunto de equação podemos reorganizar e obter este formulário mostrado aqui para os pontos de controle. Agora, a partir dessa forma rearranjada, podemos obter a matriz de restrição como mostrado aqui. Esta é a matriz de restrição. Em seguida, tiramos o inverso da matriz de restrição C-1 para obter a matriz de base, representação das curvas de Bezier, que é algo assim. Então, observe aqui seguimos a mesma abordagem que é primeiro criamos o conjunto de equações utilizando as características do ponto de controle, depois formulamos a matriz de restrição e finalmente pegamos o inverso da matriz de restrição para obter a matriz de base.
Há na verdade uma representação de função de mistura também para curvas de Bezier. Nós já dissemos que eles são equivalentes, mas a representação de função de mistura para curvas Bezier também é bastante popularmente usada. O que como geral forma algo assim, onde pk são os pontos de controle e Bez são as funções blending. E a função é definida dentro deste intervalo é u entre 0 e 1. Agora, essas funções de mistura são, na verdade, funções especiais, às vezes são conhecidas como Bernstein Polynomial que tem esta forma onde C é esta. Assim, curvas de Bezier podemos representar usando funções de mistura onde as funções de mistura são chamadas de polinômios Bernstein, que assume as formas aqui nesta primeira linha. Onde o termo C (n, k) é mostrado na segunda linha.
Agora, se expandimos as funções de mistura para dizer um Bezier cúbico onde n igual a 3, então como ele parece? BEZ 0, 3 é (1-u) 3, 1, 3 é este um 2, 3 é este e 3, 3 é este aqui. Então, essas são as funções de mistura para a curva Bezier Cubic. Mesma coisa que podemos derivar da matriz de base também.
Como disse na palestra anterior, que eles são equivalentes. Um pode ser derivado de outro e você pode tentar fazer o mesmo.
Por isso, um grande problema com o Bezier Cubic é que eles não apoiam a controlabilidade local.
Isso é, naturalmente, uma grande preocupação. Agora, vamos mudar para a outra categoria de splines que é a B splines.
Agora aqui, a ideia é um pouco mais complicada. Agora, as splines B estão aproximando splines, como já mencionamos, elas suportam até condições de continuidade de C2, condições de continuidade paramétricas. Isso significa C0, C1 e C2 todos os três eles apoiam. Em outras palavras, essas splines nos dão uma curva muito suave e que suportam a controlabilidade local. Por isso, as curvas de Bezier não possuem controlabilidade local, enquanto essas splines são muito lisas. Eles são muito lisas, assim como apoiam a controlabilidade local. Então, todos os nossos problemas são resolvidos com essas splines. Agora, vamos tentar entender a ideia básica, a matemática por trás dela é um pouco complicada, por isso tentaremos mantê-la no mínimo pela simplicidade. Qual é a ideia? A ideia se baseia em representar um polinomial em termos de outros polinômios, como vimos na representação da função de mistura. Então, é aí que começa essa ideia, que um polinomial pode ser representado em termos de outros polinômios.
Então, qual é a forma mais geral de tal representação, encontramos esta expressão na palestra anterior pi control points e bi é a função de mistura. Então, estamos assumindo nessa representação que a função f é uma combinação linear das funções de mistura onde os pontos de controle p servem como os coeficientes. Agora, nesta definição, uma coisa a ser notada aqui é que estamos usando um parâmetro t em vez de u. Agora este parâmetro é mais geral. Isso significa que não precisamos nos restringir ao intervalo definido para você que está entre 0 e 1. Assim, o t pode levar qualquer valor, não necessariamente dentro do intervalo de 0 1.
Agora, cada bi é um polinômio. Vamos supor que assim então f possa ser considerada como uma esplina formada por peças polinomiais, que é basicamente a ideia agora podemos representar cada bi como uma combinação de outras funções, como a função geral f. Por isso, f é representado como uma combinação linear de bi's, cada bi por sua vez pode ser representada como uma combinação de outras funções. Então conceitualmente, cada bi também é spline, porque é formada por outros polinômios.
Então, quando falamos de Spline, dissemos que Spline é uma curva que é feita de polinômios de grau inferior agora cada um desses polinômios. Novamente, estamos assumindo que somos feitos de até mesmo outros polinômios. Então, essas peças polinomiais são elas mesmas splines em vez de polinômios simples. E essa é a ideia geral de splines B. Ou seja, estamos a ter uma esplina, que é feita de esplina base em vez de peças polinomiais.
Agora, cada spline base é composta por peças polinomiais. Então, a definição é um nível superior à definição básica de Spline. Na spline temos uma curva feita de peças polinomiais nesta spline. Temos uma curva composta por splines de base, que por sua vez é composta por peças polinomiais.
Então, o que obtemos é uma esplina formada por splines B e essa é a ideia geral. Portanto, quando estamos a falar de splines B, estamos realmente a referir-nos às espinhas constituintes. Vamos tentar entender em termos de exemplo. Suponhamos que tenhamos 4 pontos de controle e queremos encaixar uma curva através desses pontos. Então, já que temos 4 pontos. Então, nossa função de curva vai parecer algo assim, expandiremos o formulário geral em mostrado anteriormente para obter as 4 funções de mistura na forma geral. Agora, suponha que estamos usando um B-spline linear que significa B-splines peças feitas de polinômios lineares.
Em seguida, cada spline B terá duas peças lineares conforme a equação a seguir. Este é o B-spline e estas são as peças lineares definidas dentro do intervalo de t. Assim, como você pode ver na formulação anterior, que cada B-spline é definida entre os sub intervalos do parâmetro T agora dentro deste sub intervalo, as peças que fizeram que são os constituintes da B-splines têm seu alcance próprio. Então, nós temos um intervalo para o B-spline e temos sub intervalos para as peças polinomiais constituintes da spline. Agora, aqueles pontos na faixa de parâmetro em que a peça começa ou termina são chamados de pontos de nó ou simplesmente nó para o i-spline de i-ésima, os nós são i + 1 e i + 2. Só para relembrar, por isso temos uma esplina formada por B-spline. Agora cada B-spline é definido dentro de um intervalo que o intervalo é subdividido para cada peça constituinte de uma B-spline. Agora, onde uma peça começa ou termina são chamados de knot points ou simplesmente nós. Para a i-ésima-spline. Podemos definir os nós como i, i + 1 e i + 2. Para os 4 pontos de controle em nosso exemplo, eu leva o valor 1 para 4. Então, então nós podemos ter os nós. Como 1, 2, 3, 4, 5, 6, estes são os 6 pontos de nó, e este conjunto de pontos é o vetor de nós, também conhecido como o vetor nó. O que é, é claro, uma ordem crescente de valores de parâmetro.
Por isso, então para resumir cada B-spline é feita de k onde k igual a d + 1, d é o grau do polinômio. Agora o parâmetro t varia entre 1 para n + k tendo n + k knots. No nosso exemplo n é 4, n é o número de pontos de controle k é 2 desde d é 1. Assim, o intervalo está entre 1 a 6 com 6 nós.
A i-ésima spline é definida dentro dos nós e i + k, por exemplo, o segundo B-spline que significa i= 2 é definido entre 2 e 2 + 2 ou 4, pois k é 2. Então, entre 2 4, isso significa que os valores knot são 2, 3 e 4.
Assim, cada B-spline tem k + 1 knot's. Agora, no nosso exemplo, já que k igual a 2. Então, cada B-spline terá 3 nós para qualquer outro valor de k o B-spline terá k + 1 nós. Então, essas são as características da B-spline. Outras características é k na verdade é muito crucial na determinação de todas essas características. Então, esse valor k é frequentemente chamado de parâmetro B-spline. Então, você deve manter isso em mente que k é muito importante, ele desempenha um papel muito crucial na determinação das características de B-spline que nós enumeramos anteriormente. Por isso, muitas vezes k é chamado de parâmetro B-spline. Agora, vejamos vários tipos de B-spline. Até o momento, nós demos uma ideia básica, ideia introdutória básica de B-spline. Agora vejamos os tipos que estão lá para a spline B.
Existem 3 tipos, uniforme B-spline, não uniforme B-spline e berços ou não uniforme racional B-spline vamos introduzir brevemente cada um desses tipos.
Assim, quando temos os nós que são uniformemente espaçados no vetor knot, como no caso do exemplo que vimos anteriormente, aqueles B-spline são chamados de splines uniformes. Se os vectores de nó não estiverem uniformemente espaçados, espaçamento entre nós consecutivos não é o mesmo. Em seguida, obtemos spline B não uniforme. E, finalmente, os enfermeiros referiram-se às divisas B que na verdade se referem à proporção de duas quantidades mostradas aqui nesta expressão. Cada um i são os pesos escalares e os bi's são não uniformes B-splines e também deve-se notar que a mesma B-spline é usada tanto em numerador quanto no denominador. Então, os berços essencialmente se referem a essa proporção, por isso temos um uniforme B-spline onde os pontos de knot são uniformemente espaçados, temos spline B não uniforme, em que os pontos de nó não são uniformemente espaçados.
E temos berços onde falamos de proporção de duas grandezas, cada uma delas é feita de uma mesma B-spline não uniforme. Agora, a ideia básica de splines é que usando isso, devemos ser capazes de representar algumas curvas e renderá-lo na tela. Agora como podemos exibir curvas spline?
Por isso, onde começamos como encaixar uma curva a um determinado conjunto de pontos de controle, por isso estamos dando um conjunto de pontos de controle e queremos encaixar uma curva, discutimos como usar a ideia de spline para obter a curva. Agora o que podemos fazer. Então, nós conseguimos a esplina. Então o que podemos fazer da maneira mais simples é determinar ou interpolar novos pontos de controle usando a equação de spline e, em seguida, unido os pontos de controle usando segmentos de linha. Podemos também utilizar a representação de função de mistura para interpolar esses pontos.
Como exemplo, suponhamos que nos seja dado dois pontos de controle p0 e p1 este p0 e este é p1 desde dois pontos de controle lá fora podemos usar uma spline interpolante linear e uma vez que identificamos a representação spline usando as abordagens mencionadas já, podemos avaliar a função spline para criar 3 novos pontos de controle mostrados aqui. E obteremos o valor do parâmetro para esses pontos de controle definidos aqui, e então obteremos o valor da função real.
Então, nós estamos atendendo dois pontos de controle, estamos usando uma spline interpolante linear e usando essa spline, estamos criando 3 novos pontos de controle e uma vez que esses pontos são criados. Podemos juntar-nos a eles usando um segmento de linha para obter a curva.
E podemos continuar adicionando mais e mais pontos para obter uma curva final. Na verdade, se mais pontos de controle estiverem lá podemos usar mais pontos de controle para obter splines melhores, as splines de ordem superior em vez de splines lineares e fazer a mesma abordagem, seguir a mesma abordagem. Então, tudo é possível. Mas o principal problema é que temos que avaliar a função de mistura de novo e de novo. Agora, quando queremos exibir as splines a uma taxa muito alta, esses cálculos podem ser custosos e podem desacelerar o processo de renderização. Então, nós exigimos alguma abordagem alternativa. Uma dessas abordagens é conhecida como algoritmo De Casteljau. E teremos um olhar rápido para o algoritmo.
Então, o algoritmo consiste em alguns passos. Eles são n pontos de controle dados. O que fazemos, nos unimos aos pares consecutivos de pontos de controle com segmentos de linha e então continuamos até que um único ponto seja obtido. O que fazemos, dividimos pela primeira vez cada segmento de linha na proporção, d: 1-d para obter n-1 novos pontos em que d é qualquer número real maior que 0. Agora junte-se a esses novos pontos com segmentos de linha e depois vamos voltar para a etapa 1.So, este é tipo de look como funciona. Vejamos um exemplo, suponhamos aqui n igual a 4 e decidimos que d para ser um terço. Então, p0, p1, p2, p3 são os pontos iniciais, então em um terço do p estão dizer p0 e p1 tomamos um ponto.
Da mesma forma, um terço do p são p1, p2 você tomou outro ponto e em seguida outro ponto? E então esses p0 foram modificados para se referir a isso. Então continuamos no loop para finalmente chegar ponto aqui depois que o algoritmo é executado Então, essa divisão continua até que tenhamos um ponto. E, nesse ponto, paramos. Então, esse é o ponto de saída. Isto é, em resumo como podemos usar um procedimento iterativo para um procedimento mais simples para obter pontos na curva usando o algoritmo. Então, o que estamos fazendo em cada corrida, estamos conseguindo um novo ponto e podemos executá-lo a qualquer momento que quisermos obter m novos pontos, quando esses pontos forem unidos com segmentos de linha, obtemos as curvas do Bezier. Então, aqui tem que se notar que nós conseguimos essa curva em particular, não todos os tipos Spline. Então, esse algoritmo realmente se refere à criação de uma curvas de Bezier, que é uma spline aproximada. Nós podemos executar o algoritmo m vezes para obter os pontos m na curva do Bezier. Então, é assim que podemos obter os pontos e criar a curva.
Agora há outra coisa em computação gráfica, por isso não estamos necessariamente satisfeitos com apenas curvas. O que precisamos são superfícies também curvas. Por isso, usar a ideia spline como podemos obter superfícies curvas é muito simples. Olhe para esta figura aqui. Nós podemos realmente criar uma grade de pontos de controle como mostrado nesta figura.
Então, cada subconjunto da grade pode ser usado para obter uma curva de maneiras diferentes e quando juntamos essas curvas, obtemos uma superfície, então para obter a superfície, definimos uma grade mostrada no campo dos círculos aqui usando um subconjunto, obtemos uma curva de spline. Usando outro subconjunto, obtemos outra curva de Spline que estão se cruzando, e quando obtemos essa grade de curvas, obtemos a superfície, a superfície é definida por essa grade. Então, esta é a maneira simples de se obter uma superfície.