Ich habe folgende Bezier Form:Wie zeichne vertikale Bezier in der Verarbeitung?
Die Form durch den folgenden Code erreicht wurde:
int width = 800; int height = 800;
int centerX = width/2; int centerY = height/2;
int lefterX = width/6; int upperY = height*5/6;
int righterX = width*5/6; int lowerY = height*5/6;
for (int y = 0; y <= height; y += 9) {
bezier(lefterX, centerY,
centerX, y,
centerX, y,
righterX, centerY);
}
Nun, ich möchte eine vertikale Version davon machen. Ich schrieb den folgenden Code:
for (int x = 0; x <= width; x += 9) {
bezier(centerX, upperY,
x, centerY,
x, centerY,
centerX, lowerY);
}
Allerdings stellt sich das Ergebnis aus nicht vollständig, nur die untere Hälfte Rendering:
Was aus dem Code fehlt?
Haven‘ t verwendet Verarbeitung in einer Weile, aber Ihre oberen und unteren Y sind auf den gleichen Wert initialisiert. Ich denke, die obere Hälfte sollte Höhe/6 sein. Überlegen Sie auch, Ihre Werte in Floats zu ändern. Sonst wirst du ganzzahlige Division machen (was ich nicht glaube, dass du willst). , d. H. Float lefterX = Breite/6f – Sprunth
Wow, du hast Recht. Danke –
Wenn Sie "die gleiche Sache" zeichnen, drehen Sie einfach das Koordinatensystem. –