Je dois créer un programme utilisant C# Generated Graphics pour créer une réplique de mon nom que j'ai écrite en cursive. Twist est, je dois utiliser des courbes de Bézier. J'ai déjà appelé une fonction pour faire des courbes de Bézier en utilisant 4 points et un concept de gravité. Ma question est la suivante: quelle serait la façon la plus simple de faire 10 courbes?Écrire un nom en utilisant des courbes de Bézier en C#
Voici ma fonction pour une courbe de Bézier.
public static void bezierCurve(
Graphics g,
double p1x, double p1y,
double p2x, double p2y,
double p3x, double p3y,
double p4x, double p4y)
{
double t, r1x, r4x, r1y, r4y;
float x, y;
Pen black = new Pen(Color.Black);
r1x = 3 * (p2x - p1x);
r4x = 3 * (p4x - p3x);
r1y = 3 * (p2y - p1y);
r4y = 3 * (p4y - p3y);
t = 0;
while (t <= 1)
{
x = (float) ((2 * Math.Pow(t, 3) - 3 * Math.Pow(t, 2) + 1) * p1x
+ (-2 * Math.Pow(t, 3) + 3 * Math.Pow(t, 2)) * p4x
+ (Math.Pow(t, 3) - 2 * Math.Pow(t, 2) + t) * r1x
+ (Math.Pow(t, 3) - Math.Pow(t, 2)) * r4x);
y = (float) ((2 * Math.Pow(t, 3) - 3 * Math.Pow(t, 2) + 1) * p1y
+ (-2 * Math.Pow(t, 3) + 3 * Math.Pow(t, 2)) * p1y
+ (Math.Pow(t, 3) - 2 * Math.Pow(t, 2) + t) * r1y
+ (Math.Pow(t, 3) - Math.Pow(t, 2)) * r4y);
g.DrawRectangle(black, x, y, 1, 1);
t = t + 0.01;
}
}
Merci d'avoir réglé cela pour moi Drew. Il ne codait pas correctement pour une raison quelconque. – Cistoran