小编Jon*_*lis的帖子

增强现实 - 仅使用GPS

我打算做一个仅使用GPS技术获取位置的AR应用程序,然后使用罗盘/陀螺仪跟踪6DOF取景器的移动.它是我自己开发的个人项目,但我正在寻找起点作为我的新领域,所以这可能是一个稍微开放的问题,有一个以上的正确答案.通过使用GPS,我希望以其准确性为代价简单地开发我的第一个AR应用程序.

该AR的想法不是使用任何视觉处理(仅依赖于GPS),而是在屏幕上以与用户站立的大致正确的距离(直到某一点)显示3d模型.这听起来很简单,因为游戏在3D世界中工作,具有视点和面部/对象/模型等的位置以进行绘制.我的目标平台将是移动设备和平板电脑,可能运行这些操作系统的WM6,Phone7或Android.

我见过的大多数应用都使用标记并使用AR-ToolKit或ARTag,而那些使用GPS的应用程序往往只是在屏幕上显示一个感兴趣的点或一个扁平的盒子,以便在所需位置显示您的标记.

我已经完成了一些非常有限的3D图形编程工作,但是你认为是否有任何库可以让我从头开始,而不是从下到上构建所有东西.忽略GPS的低精度(关于AR)我将在3D空间中定义一个点(由于GPS定位而不断移动),然后是在同一3D空间中渲染3D模型的定义点.

我已经看到了一些类似的应用程序示例,但我无法扩展,所以任何人都可以建议开始使用的库可能适合我的项目.

gps android windows-mobile augmented-reality

5
推荐指数
1
解决办法
4561
查看次数

在数据模板中使用样式

我有一个名为item的类,它只包含两个属性.我将它们显示在屏幕上作为带有样式的按钮.这个问题涉及我如何根据IsSelected值设置按钮样式,当我想要影响的元素是样式而不是数据模板时.我已经尝试过触发器但无法使其工作.

课程如下.

public class Item : ObservableObject
{
    private string _title;
    private bool _isSelected;

    public string Title
    {
        get { return _title; }
        set
        {
            _title = value;
            RaisePropertyChanged("Title");
        }
    }

    public bool IsSelected
    {
        get { return _isSelected; }
        set
        {
            _isSelected = value;
            RaisePropertyChanged("IsSelected");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我使用数据模板在ItemsControls中显示这些项目.

<ItemsControl ItemsSource="{Binding Path=Items}" ItemTemplate="{StaticResource ResourceKey=ItemTemplate}">
        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <StackPanel Orientation="Horizontal" />
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>
    </ItemsControl>
Run Code Online (Sandbox Code Playgroud)

使用以下样式和数据模板.

<Style x:Key="ItemButton" TargetType="Button">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type Button}">
                <Border Name="ButtonBorder" BorderThickness="2,2,2,0" BorderBrush="#AAAAAA"  CornerRadius="6,6,0,0"  Margin="2,20,0,0" Background="Black"> …
Run Code Online (Sandbox Code Playgroud)

wpf styles datatemplate

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

ActionSherlockBar样式 - PopupMenu

样式是我对android平台知识的改进之处.鉴于我整个上午都试图做一个简单的改变而无法实现它.

我想更改操作栏中溢出菜单的样式.我已经能够更改背景颜色,并添加动画,以便在单击时淡化为选定的颜色.但对于我的生活,我无法改变文字颜色.

下面是两个截图,一个使用Theme.Sherlock,另一个使用Theme.Sherlock.Light.

Theme.Sherlock - 这是我定制的当前设置.我想要的是溢出(又名android:popupmenu)在holo主题中(如下所示),理想情况下我可以更改文本颜色.

Theme.Sherlock

Theme.Sherlock.Light - 这个主题显示了我想要看到的溢出菜单的样式.但是,如红色突出显示,溢出按钮的颜色错误,此主题也绘制了一条水平线.

Theme.Sherlock.Light

我不知道使用弹出窗口问题更改Theme.Sherlock是最好/更容易的,或者更新是否带有溢出图标和行问题的Theme.Sherlock.Light.该应用程序是一个"轻"主题,所以选项二可能是长期更好的选择,但我会接受一个可以通过更改任一主题解决问题的答案.

ps在哪里可以找到用于更改主题/样式的属性列表,在eclipse中自动完成是非常不完整的.

更新

这实际上是本机操作栏的更新,因为我回到了同样的问题,但不再支持2.3或更低版本.

<style name="AppTheme" parent="android:Theme.Holo.Light">
  <item name="android:actionOverflowButtonStyle">@style/OverFlow</item>
</style>

<style name="OverFlow" parent="@android:style/Widget.Holo.ActionButton.Overflow">
  <item name="android:src">**Insert your icon here**</item>
</style>
Run Code Online (Sandbox Code Playgroud)

java android styles actionbarsherlock android-actionbar

5
推荐指数
1
解决办法
3362
查看次数

优化容量利用率的算法

我在C#中为自己设定了一个"简单"的编程挑战来优化容量.我没有做好我的第一次尝试(如下所述)所以我们正在寻找是否有一个标准化的算法来做这个,而不使用AI /启发式技术,因为我根本不知道它们.我相信有一种已知的方法可以解决这个问题,因为问题可能适用于CPU和其他资源的负载平衡等常见情况.

我自己设定的问题.我有3个容器.

  • 容器1 - 容量15
  • 容器2 - 容量30
  • 容器3 - 容量15

容器都是空的,所以容量很大.

我也有20件物品.为了列出很长的清单,我不会全部列出.但它们很简单,可以像

  • 第1项 - 金额3
  • 第2项 - 金额8
  • 第3项 - 金额1
  • 第4项 - 金额1
  • 第5项 - 金额5
  • 等等 .........

我想要做的是在不破坏约束的情况下将所有物品装入最少数量的容器中,即过度填充容量.

  • 容器1 - 第2,1项
  • 容器2 - 第3,4,5项
  • 等等 ..............

我正在寻找一个解决方案,但显然解决方案越有效,效果越好.最终我将自动生成容器和物品,甚至可能添加更多属性(重量和数量).我知道即使你随机生成它们也有一定数量的解决方案,想法是找到最好的,或者接近最好的是合理的时间.我最初的尝试是首先定义容器和项目对象,然后随机地将项目分配给容器,然后尝试通过在容量接近的容器中查找可用空间进行优化,并用不完整容器中的项目填充它们.但它没有成功.我认为最简单的解决方案是按照最大数量的顺序分配项目,然后使用少量填补空白.我远离这个初始,因为我觉得如果我添加更多约束,即数量很高(20),但是说重量新约束只有(1),这会有缺点.然后我可能最终得到一个装满量的容器,但几乎没有重量使用导致容器变得沉重以至于不再容纳.

虽然我比我使用C#.Net 4.0的语言更关注这个问题,所以如果你有想法可以随意使用LINQ等框架.

如果我发布了一个我已经错过的众所周知的解决方案的问题,请随时指出我的权利.但我对你能提出的任何解决方案感兴趣.我期待着阅读回复.

c#

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