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

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

Barbara Streisand
Barbara Streisand원래의
2024-12-22 15:47:11166검색

Explaining donut like ears old Part-3

이제 남은 것은 중첩된 for 루프 내부에서 일어나는 일뿐입니다
r1sin θ 및 r1cos θ

을 본 적이 있을 것입니다.

2D 그래프에서 원을 만들 때 사용됩니다

그리고 r2 원 사이가 겹치지 않도록 거리를 유지합니다

그럼, r2 > r1 r2이 원점에서 원의 중심으로 시작하기 때문입니다

이제 압도적인 행렬 곱셈을 수행하기 위해 단일 행을 생성하겠습니다

C에서

자바에서

이제 원과 도넛의 회전에 도움이 되는 3개의 행렬 Ry, Rx, Rz를 만듭니다

자바에서

C에서

앞서 생성한 곱하기 함수를 사용하면 회전하는 도넛 좌표를 얻게 됩니다

C에서

자바에서

Nz 5(카메라와의 거리)의 역수인 reciNz를 만듭니다

screen_height / 2는 11이어야 했지만 지금은 12로 하겠습니다
30과 15는 무엇입니까? IDK
그리고 reciNz를 곱하는 거죠, 왜요? IDK
도넛 코드에는 풀리지 않은 미스터리가 너무 많습니다

이제 3D로 만들려면 어느 정도는 빛이 나야 합니다

그러려면 다음을 찾아야 합니다
N = Ny - Nz
- 2 sinB cosψ cosθ
- 2 sinB cosψ
2 cosB sinA sinф
2 cosA sin ψ

N은 0에서 √2 사이입니다
이제 N에 8을 곱하면 최대 11이 됩니다

휘도로 인쇄하기 위해 가장 낮은 휘도에서 가장 높은 휘도까지 문자 배열을 만듭니다

또는

이제 마지막 부분
다음 사항을 확인하세요.
x < 화면 너비
y < 화면 높이
reciNz > z버퍼[0]
그렇다면

L이 음수인 경우 charOpts[0]/마침표(.)를 사용하세요.

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.