> 백엔드 개발 > C++ > 귀가 늙어가는 도넛을 설명하다 Part-2

귀가 늙어가는 도넛을 설명하다 Part-2

Barbara Streisand
풀어 주다: 2024-12-13 02:07:14
원래의
539명이 탐색했습니다.

Explaining donut like ears old Part-2

행렬 곱셈

singleRow와 행렬을 곱하기 위해 C에서는 함수를 만들고 Java에서는 Matrix에서 공용 정적 함수를 만듭니다

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;
}
로그인 후 복사

자바에서

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;
  }
}
로그인 후 복사

주요 기능 몸

화면 높이 = 22, 너비 = 80으로 설정

전체 면적 = 1760

A = 0, B = 0
A는 X축 회전 각도, B는 Z축 회전 각도, Y축 원을 회전하면 도넛이 됩니다
Y축의 경우 ф, 원 생성의 경우 θ

1760 배열 2개를 생성합니다. 하나는 인쇄할 도넛 문자를 저장하고 다른 하나는 z 인덱스를 이중 유형으로 저장합니다

double zBuffer[1760];
char buffer[1760];
로그인 후 복사

printf("x1b[2J");를 사용하여 새 화면을 만듭니다.
그리고 무한 루프를 추가하세요

while (1) {
}
로그인 후 복사

위 내용은 귀가 늙어가는 도넛을 설명하다 Part-2의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿