草庐IT

c++ - C++ 中的非刚体 2D 物理引擎

我正在尝试使用C++中的2D物理引擎进行实验。到目前为止,似乎最受欢迎的是Box2D。不幸的是,Box2D是一个刚体物理引擎,它并不能真正帮助我完成我想尝试的事情。我希望能够定义一个形状,它有许多由Spring连接的顶点,这样当这个形状与刚性或其他非刚性形状碰撞时,它的形状就会变得灵活。现在我试图想办法在Box2D中仅使用刚体来实现这一点,但似乎总是存在缺陷:使用矩形或线段作为灵活形状的外边缘。这些将与其他形状碰撞。不幸的是,它们没有弹性,因此不会看到预期的效果。形状的每个顶点都可以是一个具有自己的小圆形的物体。然后可以通过Spring将这些主体连接在一起。就形状的变形而言,这会很有效

c++ - 使用 OpenCV、C++ 和 Image 2D 进行头部姿势估计 - 几何方法 - 滚动、偏航和俯仰

我正在尝试根据2D图像找到人脸的三个角度.我将OpenCV与HaarCascade结合使用来查找面部、眼睛、Nose和嘴巴。但是我没有找到任何几何方法可以帮助我找到角度X、Y和Z(Roll、Pitch和Yaw)。谁能帮我展示一些可用的C++或Java方法? 最佳答案 给定一张图片,没有其他信息,角度没有单一的解决方案。考虑一下Yaw的情况。投影到2d平面上时,可以看到眼睛之间的投影距离和眼睛相对于Nose/嘴巴的位置发生了微小变化。然而,这个距离在人与人之间并不是恒定不变的。解决此问题的一种典型方法是要求用户通过直视相机的标称“0”

c++ - 具有 FFT 卷积的低通 FIR 滤波器 - 重叠添加,原因和方式

首先,很抱歉没有在这里发布代码。出于某种原因,当我试图输入我在这个页面上的代码时,所有的代码都被弄乱了,而且无论如何张贴的代码可能太多了,无法接受。这是我的代码:http://pastebin.com/bmMRehbd据我所知,我无法从这段代码中得到好的结果是因为我没有使用重叠添加。我试图阅读互联网上的多个资源,了解为什么我需要使用重叠添加,但我无法理解。看起来实际过滤器起作用了,导致任何高于给定截止值的东西都被截止了。我应该提到这是为vst2-sdk工作的代码。有人能告诉我为什么我需要添加它以及如何将重叠添加代码实现到给定代码中吗?我还应该提到,在算法和数学方面,我非常愚蠢。我是那些

c++ - glTexImage2d 和空数据

这是一个奇怪的问题,但我想知道为什么glTexImage2d关心Null数据的像素数据类型和格式。glTexImage2d的签名是...voidglTexImage2D(GLenumtarget,GLintlevel,GLintinternalFormat,GLsizeiwidth,GLsizeiheight,GLintborder,GLenumformat,GLenumtype,constGLvoid*data);internalFormat告诉图形驱动程序你想在gpu上存储什么数据,格式和类型告诉图形驱动程序期望从GLvoid*数据中得到什么。所以,如果我不传递任何数据,例如传递n

c++ - 如何为 OpenGL ES 重写 2D OpenGL 应用程序?

我正在开发一款带有Sprite图形的OpenGL2D游戏。最近有人建议我应该使用OpenGLES调用,因为它是OpenGL的一个子集,可以让我更轻松地将它移植到移动平台。大部分代码只是调用draw_image函数,其定义如下:voiddraw_img(floatx,floaty,floatw,floath,GLuinttex,floatr=1,floatg=1,floatb=1){glColor3f(r,g,b);glEnable(GL_TEXTURE_2D);glBindTexture(GL_TEXTURE_2D,tex);glBegin(GL_QUADS);glTexCoord2f

c++ - 前向 FFT 图像和后向 FFT 图像以获得相同的结果

我正在尝试使用http://www.fftw.org/中的库对图像进行FFT这样我就可以在频域中进行卷积。但我不知道如何让它发挥作用。为了解如何执行此操作,我尝试将图像作为像素颜色数组进行前向FFT,然后将其向后FFT以获得相同的像素颜色数组。这是我的做法:fftw_planplanR,planG,planB;fftw_complex*inR,*inG,*inB,*outR,*outG,*outB,*resultR,*resultG,*resultB;//Allocatearrays.inR=(fftw_complex*)fftw_malloc(sizeof(fftw_complex)

c++ - 使用 FFTW 库 C++ 计算 FFT 和 IFFT

我正在尝试计算FFT,然后计算IFFT,只是为了尝试是否可以返回相同的信号,但我不确定如何完成它。这就是我进行FFT的方式:plan=fftw_plan_r2r_1d(blockSize,datas,out,FFTW_R2HC,FFTW_ESTIMATE);fftw_execute(plan); 最佳答案 这是一个例子。它做了两件事。首先,它准备一个输入数组in[N]作为余弦波,其频率为3,幅度为1.0,并对其进行傅里叶变换。因此,在输出中,您应该在out[3]处看到一个峰值,在out[N-3]处看到另一个峰值。由于余弦波的幅度为1

c++ - 在音频样本上应用 Kiss FFT 并获得 NaN 输出?

标题解释了我的问题。我想做的很简单:加载MP3轨道(通过libmpg123)阅读样本对样本应用KissFFT到目前为止我尝试了什么inlinefloatscale(kiss_fft_scalarval){intg=0;returnval问题出现在这一行kiss_fftr(config,(kiss_fft_scalar*)samples,spectrum);其中samples包含音频样本(16位),spectrum假设保存输出数据。函数完成后,这是调试器窗口中发生的情况。谁能给我一个简单的例子,说明如何在音频(16位编码)样本上应用KissFFT函数? 最佳答

c++ - OpenGL- 简单的 2D 裁剪/遮挡方法?

我正在制作一个相对较小的2D(俯View)游戏演示,使用OpenGL制作图形。这是一个基本的基于隐身的角度,因此对于我所有的敌人,我都画了一个视线弧,这样玩家就知道他们在看哪里。到目前为止,我遇到的一个问题是,当我绘制这条视线弧线(作为填充的多边形)时,它会自然地穿过屏幕上的任何墙壁显示出来,因为没有什么可以阻止它:http://tinyurl.com/43y4o5z我很好奇我怎样才能最好地防止这样的事情发生。我确实已经有了代码,可以让我检测线与墙的交叉点等(用于敌人视线检测),理论上我可以用它来检测这种情况并相应地绘制多边形,但这可能是非常繁琐和/或效率低下,所以我想如果有任何内置的

c++ - 使用 FFT 进行实时音调检测

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎是题外话,因为它缺乏足够的信息来诊断问题。更详细地描述您的问题或includeaminimalexample在问题本身。关闭8年前。Improvethisquestion我正在尝试使用C++进行实时音调检测。我正在测试来自performous(http://performous.org/)的一些代码,因为其他一切都对我不起作用。我肯定知道这行得通,但我就是无法让它工作。我已经尝试了几个星期了,但我一直无法让任何音高检测代码正常工作。