Objective c 随机移动-Windows管道屏幕保护程序
你们中的许多人可能知道。有人知道这是如何用3D或2D编程的吗?没有真正的代码是必要的-只是一个完整的算法解释将是伟大的 这是在微软对Windows上的OpenGL感到兴奋时使用OpenGL完成的。虽然我不能权威地谈论其余部分,但我不确定我是否看过源代码,它看起来是一个非常简单的问题,即选择一个方向向上、向下、向左、向右、向前、向后和一段距离,并有一些边界将其保持在一个立方体中 管道具有特定直径,如果需要,可以选择要在管道上设置纹理的位图。如果不使用纹理,它可以/将选择颜色。它已经足够老了,我相信它写的是只使用20 16?Windows将颜色定义为几乎所有图形适配器都支持的基本调色板,但自从主流硬件几乎受到限制以来,已经有相当一段时间了。是Chrome的屏幕截图。在chrome中,编程非常容易:Objective c 随机移动-Windows管道屏幕保护程序,objective-c,c,algorithm,Objective C,C,Algorithm,你们中的许多人可能知道。有人知道这是如何用3D或2D编程的吗?没有真正的代码是必要的-只是一个完整的算法解释将是伟大的 这是在微软对Windows上的OpenGL感到兴奋时使用OpenGL完成的。虽然我不能权威地谈论其余部分,但我不确定我是否看过源代码,它看起来是一个非常简单的问题,即选择一个方向向上、向下、向左、向右、向前、向后和一段距离,并有一些边界将其保持在一个立方体中 管道具有特定直径,如果需要,可以选择要在管道上设置纹理的位图。如果不使用纹理,它可以/将选择颜色。它已经足够老了,我相信
file_util::AppendToPath(&path, L"sspipes.scr");
CreateProcess(NULL, ...
或者:打开windows管道屏幕保护程序文件并运行它
xscreensaver版本的来源是:xscreensaver-4.16.tar.bz2中的xscreensaver-4.16/hacks/glx/pipes.c或同一软件包的其他版本
更新:工作原理:它使用OpenGL使事物变得美丽
每个附加管绘制为圆柱体和球体:
glBegin(GL_QUAD_STRIP);
for (an = 0.0; an <= 2.0 * M_PI; an += M_PI / 12.0) {
glNormal3f((COSan_3 = cos(an) / 3.0), (SINan_3 = sin(an) / 3.0), 0.0);
glVertex3f(COSan_3, SINan_3, one_third);
glVertex3f(COSan_3, SINan_3, -one_third);
}
glEnd();
对于弯板,许多代码用于绘制函数myElbow
对于“不相交”,三维阵列与此空间点包含管道的标志一起使用。所有管道都具有整数坐标,并与轴平行。透视校正来自三维库opengl/direct3d
逻辑的主要功能是绘制管道
它绘制一个球体,选择一个随机方向,然后开始管路。每一步都有一个20%弯曲概率的随机棚屋。此外,每一步都要检查近路以防止碰撞。如果没有可用空间继续管道,或者管道足够长,也可能是随机的,它将停止,新管道从随机点开始 你可以检查里面有个克隆人。
quadObj = gluNewQuadric();
gluQuadricDrawStyle(quadObj, (GLenum) GLU_FILL);
gluSphere(quadObj, radius, 16, 16);
gluDeleteQuadric(quadObj);