- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试实现一种算法,该算法可找到以下形状给出的外多边形的每个单独边的对应区域。也就是说,1,2 边的相应区域是 [1,6,7,8,2],2,3 边的区域是 [2,8,3] 等等,CCW 或 CW 在这里不是问题。在这里要详细一点,黑色粗体线是外部多边形,内部蓝色虚线是给定外部多边形的直骨架,我无法控制这里的内部节点编号方案,这意味着从左到右的节点可以是 8,7 ,6 或 6,8,7 或 7,6,8 等..
谷歌搜索几天后,我发现最小循环基础与 Floyd Warshall 算法的组合被命名为这种技术,可用于提取所需的最小循环图,我认为我至少在正确的道路上,拜托确认?
我遵循“Ferreira Manuel J. Fonseca Joaquim A. Jorge 的一组线 Alfredo 的多边形检测”命名法中给出的说明。
下面给出提取最小循环路径的伪代码,
***MINIMUM-CYCLE-BASIS(G)***
1 Γ ← empty set
2 Π ← ALL-PAIRS-SHORTEST-PATHS(G)
3 for each v in VERTICES(G)
4 do for each (x, y) in EDGES(G)
5 do if Π x,v ∩ Π v,y = {v}
6 then C ← Π x,v ∪ Π v,y ∪ (x, y)
7 add C to Γ
8 ORDER-BY-LENGTH(Γ)
9 return SELECT-CYCLES(Γ)
谢谢
最佳答案
我建议采用更简单的方法。从任何外边缘开始,比如 P1->P2。然后检查连接到 P2 的每个节点 PX,并选择角度 (P1,P2,PX) 具有最小正值的节点。该节点 PX 是多边形中的下一个节点。然后继续寻找与PX相连的节点PY,其中角度(P2,PX,PY)具有最小的正值。
有几种可能的方法来计算角度。一个是:
c = inner_product( P1-P2, PX-P2 ) / ( abs(P1-P2) * abs(PX-P2) ) # cosine of the angle
s = cross_product( P1-P2, PX-P2 ) / ( abs(P1-P2) * abs(PX-P2) ) # sine of the angle
angle = atan2( s, c ) # arc tangent with correct sign
与:
def cross_product( a, b ):
return a.x*b.y - a.y * b.x
def inner_product( a, b ):
return a.x*b.x + a.y*b.y
注意符号,这取决于 CW 与 CCW。当然,您可以省略规范化项 (abs...
),因为它们相互抵消。
如果允许凹多边形,则必须重新归一化反正切的结果以确保角度始终为正:
def atan2_normalized( y, x ):
angle = atan2( y, x )
if angle < 0:
return angle + 2 * Pi
else:
return angle
关于algorithm - 从直骨架中提取的最小 Cyle 基,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21363323/
我被要求从存在的主干模型(可选)中删除几个属性。我的第一个意图是在模型上放置类似before_save回调的内容。但是我没有发现任何信息。 有可能在 Backbone 这样做吗? 最佳答案 只需覆盖默
我对使用 Backbone .js模型获取方法感到非常困惑。请参阅以下示例 Backbone 路由器: profile: function(id) { var model = new Accoun
我想根据现有的分段创建骨架,类似于此处所做的(来自 sk-image): 但是我想对 3D 数据执行此操作。那里有代码吗?最好使用 Python,但任何语言都有帮助。 我知道 this很棒的网站,但我
通常,我为与之合作的后端开发人员创建静态html prototype/skeleton。这有助于在实施网站之前发现UI / IA中的错误并进行昂贵的重写。 我想更进一步,并创建这些prototypes
我最近发现了 skeleton.css,它正是我要找的。我不太了解列,但是按钮的示例完全符合我的要求,因为在屏幕变窄时堆叠元素。我所拥有的效果很好,但我还不够精通 css,无法将按钮制作成列。我已将
我正在使用 Skeleton.css 在 wordpress 中创建一个网格系统 教程显示了标题的以下标记,在这里您可以看到 Logo 有 3 个类,- 五列和 clearfix
我正在使用“Microsoft Kinect SDK 1.8”。对于骨架跟踪,我计算了 FPS,大约是 10-15。 “Microsoft”是否提供任何规范?我想提高骨架帧数据的 FPS,可以吗? 最
我正在尝试将两个图像放在一个表单旁边,并使用骨架 css 使其响应: U
有谁知道我在哪里可以找到一个像样的框架页面或用于创建全 FBML Facebook 应用程序的示例?我查遍了官方维基并做了很多搜索,但我找不到任何可靠的东西。 wiki 中的大多数示例要么过时、损坏,
我想制作一个骨架 css 直到页面完全加载。我想到了这个解决方案。因此,如果 javascript 被禁用,我不会有任何问题。那是对的吗?也许你有更好的解决方案?谢谢! .slider {
我有一个使用骨架 css 实现的表单。我使用的是三列(即三分之一列)布局,但由于列内容的各自长度,这导致了大量空白。我更喜欢类似于以下的水平布局: 文本框 1 文本框 2 文本框 3 文本框4 文本框
假设我有一个名为 dict1 的字典,它具有我想要的新字典的骨架(顺序和嵌套深度)。例如: dict1 = { "Personnel": { "Performance": ""
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
因此,我了解我们可以执行以下操作: Collection.fetch({success:function(){bla ..}}) 但是说我想要这样的事情: Collection.fetch({成功:功
我想开发一个 swift cocoa pod,但是我不知道如何开始。 Cocoapods 预发布版现在支持 swift但是他们目前没有说明如何创建新的 swift 项目 pod 的说明。 当前关于创建
我目前正在使用提供深度图的 Processing Kinect 库。如果可能的话,我想知道如何使用它并使用它来创建 2D 骨架。不在这里寻找任何代码,只是我可以用来实现这些结果的一般过程。 此外,鉴于
我创建了一个使用多个“ View ”运行的 Vaadin Web 应用程序。 我想做的是应用 MVC/MVP 设计模式,它将无缝集成各种 View 中显示的信息。 到目前为止,我有一个带有登录、注册和
如何实现下面提到的view the URL 一种加载 View ,类似于许多使用它的应用程序,如 TvShowTime 最佳答案 这称为微光效果。 Facebook 已经开源了一个库,提供类似 fac
据我所知,JAX-WS(JAX-RPC)的前身使用的是 客户端 stub (代理)服务器骨架(也称为服务器端 stub ,或 Tie)系统,用于客户端和服务之间的通信。 但是,如果我正在阅读 JAX-
我已经编写了一个 WSDL 来生成 stub 和骨架,但我的骨架没有在 eclipse 中生成。我正在使用 Eclipse 的 Helios 版本。 谁能说出 WSDL 的问题是什么? 我想使用 Ax
我是一名优秀的程序员,十分优秀!