小编mar*_*ert的帖子

获取Vim中当前文件的名称

我正在尝试在Vim中找到我正在编辑的文件的名称.所以我可以用它来映射F5来编译这个文件.如果我能识别文件格式并选择相应的编译器,那当然会很棒,但实际上并不是必需的.如果我找到文件的名称,我可以自己做.但我真的找不到任何方法来获取我正在编辑的文件的名称.

我知道这个:make命令,并且已经映射过了,但对于小脚本/测试程序,我真的不想先写一个简单的makefile.

vim

27
推荐指数
3
解决办法
2万
查看次数

极坐标 - >笛卡尔坐标转换的快速算法

我在极地网格上有一个图像.这个图像应该转换成笛卡尔网格,但我所知道的唯一算法对此来说真的很慢.现在我使用笛卡尔网格,对于每个点我找到r和theta值,然后我查看两个向量以找到由以下定义的最小错误:

min {(th_vec - theta)^ 2 +(range - r)^ 2}

这给出了外部嵌套for循环内部的嵌套for循环,因此我的复杂度为O(N ^ 4).512x512图像使用整分钟完成.当然,这样的复杂性无法使用,所以我想知道是否有人知道更快的算法来做到这一点?

我有图像和两个向量.图像的X轴是角度,而图像的Y轴是距中心的长度.角度始终为0-2pi,范围从0到r_max.

先感谢您.

编辑:范围从0到r_max,而不是-r_max到之前的r_max.我看到有一些误解.我使用了正常,反向,转换;


r=sqrt(x^2 + y^2);
theta=atan2(y,x);

问题是我必须首先将x和y值转换为x'和y'值,因为网格在结果图像中从-r_max到r_max,但在数据中以像素为单位.所以我有一个512x512的图像,但r_max可能是3.512.所以我必须将每个像素值转换为网格值,然后找到r和theta值.当我找到r和theta值时,我必须运行两个矢量range和th_vec,以找到原始图像中匹配的像素:

min {(range -r)^ 2 +(th_vec-theta)^ 2}

这给了我O(n ^ 4)的复杂度,因为th_vec和范围向量与图像的大小相同.因此,如果我有一个512x512元素的方阵,我必须运行68 719 476 736元素,这很慢.所以我想知道是否有更快的算法?我不能改变输入数据,所以据我所知,如果你不是从三角测量和东西开始,这是唯一的方法,但这在内存时是昂贵的.

algorithm image reformat

7
推荐指数
2
解决办法
1万
查看次数

如何在不使用外部API的情况下从python中的串口读取?

我必须通过串口读取从自制设备发送的流.问题是它应该部署在我无法安装任何新东西的机器上,这意味着我必须使用python标准库来执行此操作.这是可能的,如果是这样,我该如何管理呢.

如果事实证明几乎是不可能的,我将不得不让某人安装pySerial,但如果没有这个可以做到,我会非常感激.

如果在Linux/Windows的差异,这是在Windows机器上,但我真的很感激一个跨平台的解决方案.

python serial-port

6
推荐指数
1
解决办法
4281
查看次数

使相机移动和旋转的最佳方法

我正在学习一些OpenGL游戏编程,我陷入了如何实现,所以摄像机遵循鼠标指针.就像在fps游戏中你想要看你的鼠标所指向的那样,但是当我移动的时候我找不到一个很好的解决方案.我正在考虑为移动保存一个矩阵,比如踩踏和扫射,同时使用四元数来处理旋转.然后将四元数转换为旋转矩阵,加载模型视图矩阵的标识,并使用两个矩阵计算此矩阵.

这有一些问题,比如我们首先应该在乘法中使用哪个矩阵,并且代码将是丑陋的.

所以我想知道是否有人有一个很好的解决方案来解决这个问题,所以我不必首先找出使用哪个矩阵,哪个代码更清晰.

opengl

3
推荐指数
1
解决办法
2854
查看次数

使用gcc预处理器创建一个余弦表

我希望在编译时创建一个余弦表.有没有办法在没有硬编码的情况下做到这一点?

c gcc ps3 c-preprocessor

3
推荐指数
4
解决办法
1870
查看次数

标签 统计

algorithm ×1

c ×1

c-preprocessor ×1

gcc ×1

image ×1

opengl ×1

ps3 ×1

python ×1

reformat ×1

serial-port ×1

vim ×1