- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
假设我有一个点及其在二维平面上的位置。这个点会随机改变它的位置,但那不是那个点,所以我们假设它有自己的速度并且它在宽度和高度受限的平面上移动;因此,经过一段时间的运动后,该点将到达平面边界。但不允许离开飞机。
所以现在我可以检查每一帧的点位置,看看它是否达到边界。
if(point.x>bound.xMax)point.x=bound.xMax
如果我想让点自己传送到平面的第二侧,我可以简单地:
point.x = point.x%bound.xMax;
但是我需要用整数存储点位置。
对于我的 corei7 1.6 上的 1000 万值,这两种解决方案有相似的时间。 41 毫秒 vs 47 秒,所以在这种情况下使用模函数是没有意义的,只检查值会更快。
但是,有什么技巧可以让它更快吗?迭代数组方法的多线程不是解决方案。
也许我可以将我的绑定(bind)值缩放到某个奇怪的值,例如丢弃位置值的二进制解释的一部分。
如果有什么技巧可以做到,我认为有人在我之前做到了 :)您知道可以帮助我的任何解决方案吗?
最佳答案
如果有一些方法可以在平面坐标周围添加信息,那么您可以很好地在平面周围创建一个“边界”,其中包含一个被标识为“超出边界”的值。例如,如果您有一个 10x10 的板,将其设为 12x12 并使用 2 个额外的行和列来插入该信息。
现在你可以做(伪代码): IF point IN board 是“out of boundaries value” THEN 做你的事 如果结束
请注意,如果您的点同时具有 x 和 y 值(我对您的情况的假设),则此方法只是一种优化。
关于c++ - 指定范围内的保值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11067907/
我正在寻找一种采用 decimal.Decimal 对象 x 并返回字符串 s 的方法,这样: x == Decimal(s) re.match("^-?(0|[1-9][0-9]*)(.[0-9]*
我有一个使用 asp.net mvc 语法的 Kendo UI Grid。我有一个带有日期时间的列以及一个用于编辑的编辑器模板。当我单击“编辑”时,它会显示日期时间选择器,但我不确定如何保留当前值 (
我有一个使用 asp.net mvc 语法的 Kendo UI Grid。我有一个带有日期时间的列以及一个用于编辑的编辑器模板。当我单击“编辑”时,它会显示日期时间选择器,但我不确定如何保留当前值 (
我是一名优秀的程序员,十分优秀!