我一直在研究如何在OpenGL中使用反别名.这是我发现的教程.
例6-5是一个小程序,用于演示多边形的反锯齿.
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glut.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
GLboolean polySmooth = GL_TRUE;
static void init(void)
{
glCullFace(GL_BACK);
glEnable(GL_CULL_FACE);
glBlendFunc(GL_SRC_ALPHA_SATURATE, GL_ONE);
glClearColor(0.0, 0.0, 0.0, 0.0);
}
#define NFACE 6
#define NVERT 8
void drawCube(GLdouble x0, GLdouble x1, GLdouble y0,
GLdouble y1, GLdouble z0, GLdouble z1)
{
static GLfloat v[8][3];
static GLfloat c[8][4] = {
{0.0, 0.0, 0.0, 1.0}, {1.0, 0.0, 0.0, 1.0},
{0.0, 1.0, 0.0, 1.0}, {1.0, 1.0, 0.0, 1.0},
{0.0, 0.0, 1.0, …Run Code Online (Sandbox Code Playgroud) 我在Mathematica 8中尝试过以下代码:
f[z_] := (5 + 1/(z-a)) / ( 8 + 1/(z-a))
f[a]
Run Code Online (Sandbox Code Playgroud)
令人惊讶的是我收到了以下警告:
Power::infy: Infinite expression 1/0 encountered. >>
Power::infy: Infinite expression 1/0 encountered. >>
Infinity::indet: Indeterminate expression 0 ComplexInfinity encountered. >
Run Code Online (Sandbox Code Playgroud)
而输出是Indeterminate,我认为这不是真的,因为显然它是1.
奇怪的是,当我将代码更改为:
Simplify[(5 + 1/(z-a)) / ( 8 + 1/(z-a))] /. a -> z
Run Code Online (Sandbox Code Playgroud)
我得到了正确的输出1.这是为什么?我应该如何处理涉及∞/∞的表达式?
这很奇怪.看起来python将其解释为(1+1)j.imag,但为什么呢?不应该是1+(1j).imag或(1+1j).imag?
我想一个功能,可替换的值x用z时x是y,什么事都不做,否则,那就是:
\x -> if x == y then z else x
Run Code Online (Sandbox Code Playgroud)
它只在我的程序中使用过一次,它位于函数链的中间,所以我不想将它定义为命名函数,我认为lambda表达式看起来不必要地冗长.相反,我试图从其他功能组成它.然而,到目前为止,我只提出了这个神秘的(和cring-y):
(ap . flip . bool id $ const z) (== y)
Run Code Online (Sandbox Code Playgroud)
这种简单的功能有更好的无点形式吗?
假设我有一个包含许多文件和目录的文件夹(不是实际的文件名,这就像垃圾桶目录,因此文件名完全是随机的,有些文件没有扩展名):
dir1/
dir2/
...
dirN/
file1
file2
...
fileM
Run Code Online (Sandbox Code Playgroud)
现在我需要将此目录中的所有文件移动到dir1/.也就是说,移动file1,file2...... fileM进入dir1/.最简单的方法是什么?
如果它们都是带扩展名的文件,那么问题就很简单了mv *.* dir1/.但是如果有没有扩展名的文件,我不知道该怎么办.
下面是一个简单的perl示例,$ _应该在0到6之间,并且对于每次迭代,应该提取出包含相应数字的字符串.但是,结果并不是我的预期.我被告知$_可能需要引用,所以我使用\Q和\E.
use strict;
use warnings;
for (0..6) {
print ("$_: ".(join ", ", (grep /\Q$_\E/, ("12", "123", "00", "0012")))."\n");
}
Run Code Online (Sandbox Code Playgroud)
我期望获得:
0: 00, 0012
1: 12, 123, 0012
2: 12, 123, 0012
3: 123
4:
5:
6:
Run Code Online (Sandbox Code Playgroud)
我真正得到的是:
0: 12, 123, 00, 0012
1: 12, 123, 00, 0012
2: 12, 123, 00, 0012
3: 12, 123, 00, 0012
4: 12, 123, 00, 0012
5: 12, 123, 00, 0012
6: 12, 123, 00, 0012
Run Code Online (Sandbox Code Playgroud)