Preciso encontrar o centro de uma curva de Bezier para girá-la. Eu tenho uma lista de todos os pontos (pontos de controle, começo e fim, todos os pontos na própria curva). Como eu iria encontrar seu centro?
algorithm
bezier-curve
user4656
fonte
fonte
t=0.5
ponto. e dois é o ponto médio geométrico em relação à distância cartesiana da viagem ao longo da linha.Respostas:
As curvas de Bézier são entidades matemáticas e não possuem um centro claramente definido. De fato, pode-se definir muitas coisas diferentes como o centro da curva de Bézier. Tentei descrever alguns dos possíveis centros da imagem 1. Existem mais do que isso.
Imagem 1 : Alguns dos possíveis centros de uma única curva de Bézier
Na prática, quase todos os aplicativos gráficos voltados para desenho usam o centro da caixa delimitadora local (BB) como centro. O software de animação geralmente possui um conceito adicional de pivô, de modo que eles usam a abordagem de perguntar ao usuário, se nenhuma entrada for feita, eles frequentemente reverterão para o centro do BB ou simplesmente para o centro de coordenadas local. Isso provavelmente ocorre porque o BB precisa ser calculado de qualquer maneira e obter seu centro é muito fácil de fazer (consulte A Primer on Bézier Curves ).
As métricas do centro de gravidade também são um tanto naturais, especialmente em um contexto de animação, embora mais desagradável de calcular. Ser mais fácil discretizar os dados e fazer o cálculo na entrada discreta. Dito isto, algumas soluções de forma fechada são possíveis para o centro de gravidade da curva, mas não é uma equação muito agradável formular e simplificar.
Então temos os pontos da curva: o ponto médio pelo comprimento do arco e o ponto em que o parâmetro é 0,5. Na minha opinião, o parâmetro é frequentemente problemático, embora fácil de calcular, e perde significado quando você liga vários Béziers um após o outro por um polibézier. O centro do comprimento, é claro, é natural, desde que a curva não esteja fechada.t t
Também definimos outros centros possíveis, o centro pode estar no centro de gravidade da curva do casco, na média dos pontos de controle ou no centro BB da gaiola de controle. Embora, na prática, estes não pareçam funcionar muito bem.
Observação : embora a curva na figura 1 mostre o centro do BB bem próximo de alguns centros naturais, isso nem sempre é o caso de curvas mais complexas e, principalmente, de polibeziers.
fonte
Como não nos dizem que definição de "centro" usar, também podemos usar o mais fácil. Isso seria que , , , são os pontos de controle da curva.
fonte