問題を始める前に、4 つのキュービック ベジェ ポイントに P0、P1、P2、および P3 を使用し、パラメトリックなので 't' を使用します。また、Googleだけでなく、このサイトでも同様の問題を検索しましたが、見つかりませんでした。これが一般的な質問である場合は申し訳ありません。
問題: これら 2 つのケースでは、3 次ベジエの dx/dt と dy/dt の両方で勾配が 0 になっています。
1: t = 0 and P0 == P1
2: t = 1 and P2 == P3
(1) を説明する例を次に示します。ここで、t = 0 および P0 == P1 です。
t = 0 における次の 3 次ベジエのタンジェント (つまり、dx/dt および dy/dt) を求めます。
(100, 100) (100, 100) (150, 150) (200, 100)
接線を見つけるには、3 次ベジェの一次導関数が必要です。
Cubic Bezier definition
B(t) = (1-t)^3P0 + 3t(1-t)^2P1 + 3t^2(1-t)P2 + t^3P3
First derivative of a bezier curve (if you'd like to see the steps I used to get here, let me know)
B'(t) = (-3P0 + 9P1 - 9P2 + 3P3)t^2 + (6P0 - 12P1 + 6P2)t + (-3P0 + 3P1)
t = 0 を一次微分方程式に代入すると、次のようになります。
B'(0) = -3P0 + 3P1
最後に、P0 = P1 = (100, 100) であることを思い出してください。したがって、dx/dt と dy/dt は次のようになります。
dx/dt = dy/dt = -3*(100) + 3*(100) = 0
これは、この 3 次ベジエの t = 0 にタンジェントがないことを示しています。グラフにして見ても意味がありません。
ゼロ以外の勾配を取得するために私が行っていることは次のとおりです。ポイント P1、P2、および P3 を 2 次ベジエのように扱い、それらを同等の 3 次ベジエに変換し、t = 0 で 1 次導関数を見つけます。それを避ける方法は?dx/dt と dy/dt が 0 の接線を受け入れるのは難しいと思います。ご協力いただきありがとうございます。