Heim >Backend-Entwicklung >C++ >Erklärung der Donut-ähnlichen Ohren, Teil 2
Um singleRow und eine Matrix zu multiplizieren, erstellen wir in C eine Funktion und in Java erstellen wir eine öffentliche statische Funktion in Matrix
In C
singleRow multiply(singleRow m1, Matrix m2) { singleRow res; res.a1 = (m1.a1 * m2.a1.a1) + (m1.a2 * m2.a2.a1) + (m1.a3 * m2.a3.a1); res.a2 = (m1.a1 * m2.a1.a2) + (m1.a2 * m2.a2.a2) + (m1.a3 * m2.a3.a2); res.a3 = (m1.a1 * m2.a1.a3) + (m1.a2 * m2.a2.a3) + (m1.a3 * m2.a3.a3); return res; }
In Java
class Matrix { public static singleRow multiply(singleRow m1, Matrix m2) { singleRow res = new singleRow(0, 0, 0); res.a1 = (m1.a1 * m2.a1.a1) + (m1.a2 * m2.a2.a1) + (m1.a3 * m2.a3.a1); res.a2 = (m1.a1 * m2.a1.a2) + (m1.a2 * m2.a2.a2) + (m1.a3 * m2.a3.a2); res.a3 = (m1.a1 * m2.a1.a3) + (m1.a2 * m2.a2.a3) + (m1.a3 * m2.a3.a3); return res; } }
Angenommen, Bildschirmhöhe = 22 und Breite = 80
Gesamtfläche = 1760
A = 0, B = 0
A ist der Winkel für die Drehung auf der X-Achse, B ist der Winkel für die Drehung auf der Z-Achse. Wenn wir den Kreis auf der Y-Achse drehen, wird er zum Donut
ϕ für die Y-Achse, θ zum Erstellen eines Kreises
Erstellen Sie 2 Arrays mit 1760, eines speichert die zu druckenden Donuts-Zeichen, das andere speichert den Z-Index möglicherweise im Doppeltyp
double zBuffer[1760]; char buffer[1760];
Erstelle einen neuen Bildschirm mit printf("x1b[2J");
und füge eine Endlosschleife hinzu
while (1) { }
Das obige ist der detaillierte Inhalt vonErklärung der Donut-ähnlichen Ohren, Teil 2. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!