现在剩下的就是嵌套 for 循环内发生的事情
您可能已经看到 r1sin θ 和 r1cos θ
这些用于在 2D 图中制作圆
和 r2 用于保持圆圈之间的距离,这样它们就不会重叠
所以,r2> r1 因为 r2 从原点开始到圆心
现在,为了进行压倒性的矩阵乘法,我们将创建一个单行
C语言
Java 语言
现在制作 3 个矩阵 Ry、Rx、Rz,这将帮助我们旋转圆和甜甜圈
Java 语言
C语言
使用我们之前创建的乘法函数,我们将得到旋转的甜甜圈坐标
C语言
Java 语言
我们将制作reciNz,它将是Nz 5(距相机的距离)的倒数
screen_height / 2 应该是 11,但我们现在选择 12
30 和 15 分别是多少?我不知道
并乘以 reciNz,为什么?我不知道
甜甜圈代码有太多未解之谜
现在要使其成为 3D,我们需要某些部分发光
为此,我们需要找到
N = Ny - Nz
- 2 sinB cosphi cosθ
- 2 sinB cosψ
2 cosB sinA sinphi
2 cosA sinψ
N 介于 0 到 √2 之间
现在将 N 乘以 8,最大值为 11
为了用亮度打印它,我们将创建一个从最低亮度到最高亮度的字符数组
或
现在是最后一部分
检查是否:
x
y
reciNz> zBuffer[0]
如果是,那么
如果 L 为负数,则使用 charOpts[0]/ period(.)
以上是解释像耳朵一样老的甜甜圈第 3 部分的详细内容。更多信息请关注PHP中文网其他相关文章!