Maison >développement back-end >C++ >Expliquer les beignets comme les oreilles, vieille partie 2

Expliquer les beignets comme les oreilles, vieille partie 2

Barbara Streisand
Barbara Streisandoriginal
2024-12-13 02:07:14541parcourir

Explaining donut like ears old Part-2

Multiplication matricielle

Pour multiplier singleRow et une matrice, en C on va créer une fonction et en Java, on va créer une fonction statique publique en Matrix

En 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;
}

En 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;
  }
}

Fonction principale. corps

Soit hauteur de l'écran = 22 et largeur = 80

superficie totale = 1760

A = 0, B = 0
A est l'angle de rotation sur l'axe X, B est l'angle de rotation sur l'axe Z, lorsque nous faisons pivoter le cercle sur l'axe Y, il devient un beignet
ϕ pour l'axe Y, θ pour créer un cercle

créez 2 tableaux de 1760, 1 qui stocke les caractères beignets à imprimer, l'autre qui stocke l'index z peut-être en double type

double zBuffer[1760];
char buffer[1760];

créez un nouvel écran avec printf("x1b[2J");
et ajoutez une boucle infinie

while (1) {
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn