小编dan*_*an3的帖子

citeseerx搜索api

有没有办法以编程方式访问CiteSeerX(例如按作者和/或标题搜索?)令人惊讶的是我找不到任何相关内容; 当然其他人也试图获得学术文章元数据而不诉诸刮痧?

编辑:请注意,CiteSeerX 支持 OAI PMH,但这似乎是一个面向数字图书馆的API,它们保持最新状态("内容传播"),并不专门支持搜索.此外,该页面上的citeseer信息非常稀少,甚至说"目前,OAI存在困难".

还有另外一个关于CiteSeerX API的问题(虽然不是特别搜索); 2个答案没有解决问题(一个是关于Mendeley,另一个软件,另一个是说OAI-PMH实现可以免费提供最小规格的扩展).

或者,任何人都可以建议以编程方式从作者/标题中获取引用的好方法吗?

api metadata citations web-scraping

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

PyGTK:带有线程的 gobject.idle_add() 和 timeout_add()

是否有任何明确的文档说明 idle_add() / timeout_add() 和/或它们安装的实际回调是否需要(任何类型的)锁?

def work(*args):
  # (1) gtk.gdk.threads_enter() #needed?
  self.ui.change_some_label()
  # (2) gtk.gdk.threads_leave() #?

# (3) gtk.gdk.threads_enter()   #?
gobject.idle_add (work)
# (4) gtk.gdk.threads_leave()   #?

def main():
  gtk.gdk.threads_init()
  #...
Run Code Online (Sandbox Code Playgroud)

是否需要 1+2 和/或 3+4?这适用于哪些 pygtk 版本?我分别针对 2.12(在嵌入式平台上)和 2.24(在桌面上)。线程是由于 gstreamer。

对于底层的 C 函数 g_idle_add(), g_timeout_add() 我发现了一个gtk-app-devel 讨论,指出

如果你调用了 gdk_threads_init 那么空闲和超时处理程序将在没有gdk 线程锁的情况下运行如果你在做 gui 的东西,你必须自己添加 gdk_threads_enter/leave 调用。

...虽然这是从 2004 年开始的。我发现很难为 GTK+-2 或 PyGTK 找到清晰、具体的文档。

SO 上的许多答案都通过 idle_add 支持调度 GUI 工作,没有任何锁/关键部分(例如,使用 PyGtk 时 GUI 不会从另一个线程更新 …

gtk user-interface multithreading pygtk thread-safety

4
推荐指数
1
解决办法
2699
查看次数

计算两个未知点之间的俯仰和偏航

我一直在处理 3D 空间(X、Y、Z)中的点,并希望能够计算其中两个点之间的俯仰和偏航。

我目前的代码:

pitch = (float) (1/Math.tan((Y1 - Y2) / (Z1 - Z2)));
yaw = (float) (1/Math.tan((X1 - X2) / (Z1 - Z2)));
Run Code Online (Sandbox Code Playgroud)

其中 X1、X2、Y1、Y2、Z1、Z2 直到运行时都是未知的,此时它们是从两个随机生成的点中收集的。

但出于某种原因,我的结果完全错误,我尝试了许多不同的组合,并在谷歌上搜索了无数东西,但一无所获。

一些限制是:

  1. 音高只能小于或等于 90,或大于或等于 -90(90 => 音高 => -90)
  2. 从来没有一个卷所以不适用
  3. 在程序中声明之前,所有坐标都是未知的
  4. 俯仰沿 Z 轴开始,即向前/向后,向上俯仰为正
  5. Y向上,Z向前/向后,X向侧面
  6. 偏航开始直接面向 Z 轴

这是我第一次使用 3D 角度,我读过可以在两个不同的 2D 平面上分别计算俯仰和偏航,就像我的例子一样,但这不起作用。

非常感谢任何帮助。

java angle computational-geometry

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