我已经开始做一个小的swift/spritekit项目来教我自己的游戏开发.它以等距地图开始,我设法绘制.但是我在地图的不同瓷砖上获得精确的触摸位置时遇到了麻烦.它有效,但有点不合适,似乎不一致.
这是我的功能:
class PlayScene: SKScene {
let map = SKNode()
override func didMoveToView(view: SKView) {
let origin = view.frame.origin
let mapOrigin = CGPointMake(origin.x + self.frame.width / 4, origin.y - self.frame.height / 4)
let mapConfig: Int[][] =
[[0, 0, 0, 0, 1, 0, 0, 0],
[0, 0, 0, 0, 1, 0, 0, 0],
[0, 0, 0, 0, 1, 0, 0, 0],
[2, 2, 2, 2, 1, 2, 2, 2],
[0, 0, 0, 0, 1, 0, 0, 0],
[0, 0, 0, 0, …Run Code Online (Sandbox Code Playgroud) 我正在研究Python中的一个程序,其中一小部分涉及优化方程/不等式系统.理想情况下,我本来想做的就像在Modelica中一样,写出方程并让解算器处理它.
解算器和线性编程的操作有点超出我的舒适范围,但我决定尝试.问题是程序的一般设计是面向对象的,组合方程有许多不同的可能性,以及一些非线性,所以我无法将其转化为线性规划问题(但我可能错了).
经过一些研究,我发现Z3求解器似乎做了我想要的.我想出了这个(这看起来像我想要优化的典型情况):
from z3 import *
a = Real('a')
b = Real('b')
c = Real('c')
d = Real('d')
e = Real('e')
g = Real('g')
f = Real('f')
cost = Real('cost')
opt = Optimize()
opt.add(a + b - 350 == 0)
opt.add(a - g == 0)
opt.add(c - 400 == 0)
opt.add(b - d * 0.45 == 0)
opt.add(c - f - e - d == 0)
opt.add(d <= 250)
opt.add(e <= 250)
opt.add(cost == If(f > 0, …Run Code Online (Sandbox Code Playgroud) 我有两个向量,一个(A)约1亿个非独特元素(整数),另一个(B)有100万个相同,独特的元素.我试图获得一个列表,其中包含A中每个B元素的重复实例的索引.
A <- c(2, 1, 1, 1, 2, 1, 1, 3, 3, 2)
B <- 1:3
# would result in this:
[[1]]
[1] 2 3 4 6 7
[[2]]
[1] 1 5 10
[[3]]
[1] 8 9
Run Code Online (Sandbox Code Playgroud)
我天真地,天真地试过这个:
b_indices <- lapply(B, function(b) which(A == b))
Run Code Online (Sandbox Code Playgroud)
这是非常低效的,显然不会在几年内完成.
我尝试的第二件事是创建一个空向量列表,用B的所有元素索引,然后循环通过A,将索引附加到A中每个元素的相应向量.虽然技术上O(n),我'我不确定重复追加元素的时间.这种方法显然需要2-3天,但仍然太慢......
有什么可以更快地工作吗?
我刚刚在mac(macOS Sierra 10.12.2)上安装了带有python 3的anaconda,许多软件包在导入时都会发出错误.这似乎与打字包有关,但我无法弄清楚发生了什么.如果我做
python -c 'import sklearn'
Run Code Online (Sandbox Code Playgroud)
(蟒蛇正在Python 3.5.2 :: Anaconda 4.2.0 (x86_64))
我收到此错误:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/Users/geromepistre/anaconda3/lib/python3.5/site-packages/sklearn/__init__.py", line 57, in <module>
from .base import clone
File "/Users/geromepistre/anaconda3/lib/python3.5/site-packages/sklearn/base.py", line 6, in <module>
import copy
File "/Users/geromepistre/anaconda3/lib/python3.5/copy.py", line 51, in <module>
import types
File "/Users/geromepistre/types.py", line 1, in <module>
import typing
File "/Users/geromepistre/anaconda3/lib/python3.5/typing.py", line 4, in <module>
import contextlib
File "/Users/geromepistre/anaconda3/lib/python3.5/contextlib.py", line 5, in <module>
from functools import wraps …Run Code Online (Sandbox Code Playgroud) anaconda ×1
indexing ×1
ios ×1
isometric ×1
macos ×1
python ×1
python-3.5 ×1
python-3.x ×1
r ×1
scikit-learn ×1
solver ×1
sprite-kit ×1
swift ×1
z3 ×1
z3py ×1