我在飞机上有300或更少相等半径的圆盘.在时间0,每个盘都在一个位置.在时间1,每个盘处于可能不同的位置.我希望为每个光盘生成一个介于0和1之间的2D路径,这样光盘就不会相交,路径相对有效(短),如果可能的话,曲率也很低.(例如,直线比波浪线更好)
你可以看到我最好的尝试演示(通过Javascript + WebGL).请注意,由于涉及的计算,它将在旧计算机上缓慢加载.它似乎适用于Windows下的Firefox/Chrome/IE11.
在这个演示中,我将每个光盘表示为3D中的"弹性带"(也就是说,每个光盘每次都有一个位置)并运行一个简单的游戏式物理引擎来解决约束并将每个时间点视为一个上一次/下次弹簧的质量.(在这种情况下,'时间'只是第三个维度.)
这实际上适用于小N(<20),但在常见的测试用例中(例如,从以圆圈排列的光盘开始,将每个光盘移动到圆圈上的相反点),这无法生成令人信服的路径,因为约束和弹性在整个弹簧中缓慢传播.(例如,如果我将时间切割成100个离散级别,弹性带中的张力仅在每个模拟周期中传播一个级别)这使得良好的解决方案需要许多(> 10000)次迭代,这对于我的应用来说是非常慢的.它也无法合理地解决许多N> 40个案例,但这可能仅仅是因为我无法运行足够的迭代.
我最初的尝试是一个爬山者,从直线路径开始,逐渐变异.比目前最佳解决方案更好的测量解决方案取代了目前最好的解决方案 交叉量(即完全重叠测量比仅仅放牧更糟糕)和路径长度(较短路径更好)导致更好的测量结果.
这产生了一些令人惊讶的好结果,但不可靠的是,很可能经常陷入局部极小.N> 20时速度极慢.我尝试应用一些技术(模拟退火,遗传算法方法等)试图绕过局部最小问题,但我从来没有取得太大成功.
我正在优化"弹性带"模型,以便张力和约束在时间维度上传播得更快.在许多情况下,这将节省大量所需的迭代,但是在高度受限的情况下(例如,许多光盘试图穿过相同的位置)仍然需要无法维持的迭代量.我不是如何解决约束或更快地传播弹簧的专家(我已经尝试阅读一些关于非拉伸布料模拟的论文,但我还没弄清楚它们是否适用),所以我会感兴趣,如果有一个很好的方法来解决这个问题.
language-agnostic algorithm motion-planning game-physics computational-geometry
我用一个功能区为Outlook 2010准备了一个最小的VSTO Addin.我唯一的目标是显示一个没有功能的功能区(通过设计师创建).从MSDN中可以告诉我的一点点,默认情况下应该自动显示,也许通过调整选项卡的ControlIdType/CustomId属性.
唉,调整这些属性什么都不做 - Outlook加载并不显示任何选项卡.功能区加载器中显示的简单消息框显示它永远不会被触发.此外,我还没有看到任何有关需要手动告诉Outlook显示选项卡的信息资源(教程,演练,概述等).
我的iOS应用程序使用AVPlayer通过本地设备存储中的AAC音轨解码H.264视频.具有比特率尖峰的内容导致在播放尖峰之后音频不久(不到一秒)丢失,但视频播放正常继续.通过Safari播放视频似乎工作正常,并且这种行为在几种型号的iPhone上可重复,范围从6s到8加.
我一直在寻找生成的任何消息,代表调用错误信息或有趣的KVO,但到目前为止没有任何有用的信息.我可以做些什么来获得某些更详细的信息,这些信息可以指引我朝着正确的方向前进?
Since this is an important problem to me I've stuck a bounty on. I'm not looking for the exact answer -- whatever answer leads me to fix this problem gets the bounty. Please make sure you've seen the edit just below.
Edit: I've since managed to catch the crash in Gdb just as it dies (via "adb shell setprop debug.db.uid 32767") and noticed this is the exact same problem as is mentioned on this post on Google Groups. The …
我编写了一个表单,在文本输入文本框时异步执行查询,但是我有点随意地抛出以下错误:"除非控件具有焦点,否则无法引用控件的属性或方法."
直接相关的代码是:
Dim UpdateRequested As Boolean
Dim qryText As String
.
.
.
Private Sub txtBox_Change()
qryText = txtBox.Text
UpdateRequested = true
End Sub
Run Code Online (Sandbox Code Playgroud)
省略号中的一些位置是处理动态加载ADODB记录集,填充本地表和刷新子表单的代码.但是,即使我禁用此代码,问题仍然存在:有时我得到错误.有时我没有.
通过关闭数据库并重新打开它似乎是持久的.每次它再次开始工作时,都是因为我一直在调试器中使用代码,但我不确定究竟是什么导致它神奇地"正常工作"或导致它根本无法工作的原因.
为了让事情更令人费解,我添加了几个简单的事件处理程序:
Private Sub txtBox_GotFocus()
MsgBox "Got focus"
End Sub
Private Sub txtBox_LostFocus()
MsgBox "Lost focus"
End Sub
Run Code Online (Sandbox Code Playgroud)
我运行表格.我点击测试框.我收到"有焦点"的消息.一旦我输入,我就会看到如上所述的错误.如果我重新打开表单,我可以在有问题的文本框(它本身是未绑定的)和子表单中的绑定文本框之间单击,并且可以看到"获得焦点"和"丢失焦点"消息.此外,显示一个当前值为"Screen.ActiveControl.Name"的消息框显示了访问Text属性之前的预期名称.
我在一个窗口中有一个 TextBox,我使用以下简单的转换器将其绑定到一个值:
public class TestConverter : MarkupExtension, IValueConverter {
public override object ProvideValue(IServiceProvider serviceProvider) {
return this;
}
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) {
return "x";
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) {
return "y";
}
}
Run Code Online (Sandbox Code Playgroud)
绑定本身表现如下:
Binding bnd = new Binding(nm); // 'nm' is a string with the binding path which is just
// a property name of the future source object
bnd.Converter = new TestConverter();
bnd.Mode = …Run Code Online (Sandbox Code Playgroud) 如何通过Android Studio输入LLDB命令?
根据这里:
除正常的Android Studio UI外,调试器窗口还具有LLDB标签,可让您在调试过程中输入LLDB命令。您可以输入与Android Studio在调试器UI中显示信息相同的命令,并且可以执行其他操作。
大!...但是“ LLDB选项卡”在哪里?实际上,“调试”选项卡中确实有一个“控制台”选项卡,其中显示:
Connected to the target VM, address: 'localhost:8600', transport: 'socket'
Run Code Online (Sandbox Code Playgroud)
但是,在此键入的文本后接回车不起作用,无论是暂停还是不暂停。
我有一个"Thingy"控制器,看起来像:
[HttpPost]
public ActionResult DeleteConfirmed(long? id) {
// <Validate ID, delete associated records>
return RedirectToAction("Index", "Thingy");
}
Run Code Online (Sandbox Code Playgroud)
但是,RedirectToAction继续使用参数中的id填充其路由值,而我希望将id保留为null,以便将其重定向到www.mywebsite.com/Thingy而不是www.mywebsite.com/Thingy/1
事实上,我可以www.mywebsite.com/Thingy直接访问,它按预期工作.
我试过了:
RedirectToAction("Index", "Thingy")
RedirectToAction("Index", "Thingy", new { })
RedirectToAction("Index", "Thingy", new { id = (long?)null })
Run Code Online (Sandbox Code Playgroud)
最后一个特别有趣,因为它重定向到www.mywebsite.com/Thingy?id=1其他人重定向到的位置www.mywebsite.com/Thingy/1.
android ×2
c# ×2
access-vba ×1
algorithm ×1
android-ndk ×1
asp.net-mvc ×1
avplayer ×1
converter ×1
crash ×1
data-binding ×1
game-physics ×1
ios ×1
lldb ×1
ms-access ×1
objective-c ×1
opengl-es ×1
outlook ×1
query-string ×1
ribbon ×1
routevalues ×1
vba ×1
video ×1
vsto ×1
wpf ×1