我正在使用ARKit并试图将相机的位置作为旋转和(x,y,z)坐标在真实世界空间中.我所能得到的只是一个matrix_float4x4,我真的不明白,而且欧拉角只显示旋转.
这是我现在拥有的:
let transform = sceneView.session.currentFrame?.camera.transform
let eulerAngles = sceneView.session.currentFrame?.camera.eulerAngles
Run Code Online (Sandbox Code Playgroud)
这是我得到的输出:
eulerAngles: float3(-0.694798, -0.0866041, -1.68845)
transform: __C.simd_float4x4(columns: (float4(-0.171935, -0.762872, 0.623269, 0.0), float4(0.982865, -0.0901692, 0.160767, 0.0), float4(-0.0664447, 0.640231, 0.765304, 0.0), float4(0.0, 0.0, 0.0, 1.0)))
Run Code Online (Sandbox Code Playgroud)
有没有办法转换matrix_4x4,或者有更简单的方法来获取此信息?
谢谢!
目前的行为:
我试图通过拉起视图来更新从服务器获取的列表.当我这样做onRefresh不会开火.
我已经在setState函数的回调中设置了GET请求,但这似乎没有做任何事情.
预期行为:
拉起视图调用onRefresh函数.
码:
...
constructor(props) {
super(props);
this.state = {
stories: [],
isFetching: false,
};
}
componentDidMount() { this.fetchData() }
onRefresh() {
this.setState({ isFetching: true }, function() { this.fetchData() });
}
fetchData() {
var that = this;
axios.get('http://192.168.0.13:3000/api/story/get/by/geo')
.then((res) => {
that.setState({ stories: res.data, isFetching: false });
that.props.dispatch(StoryActions.setStories(res.data))
})
}
render() {
return (
<ScrollView>
<FlatList
onRefresh={() => this.onRefresh()}
refreshing={this.state.isFetching}
data={this.state.stories}
keyExtractor={(item, index) => item.id}
renderItem={({item}) => (<StoryFeed story={item} id={item.id} /> )}
/>
</ScrollView>
)
}
Run Code Online (Sandbox Code Playgroud)
版本信息 …
我是swift的新手,我正试图在ARKit示例中获取相机的位置,但它正在给我nil.
我使用了这个问题的解决方案并将委托设置为self,但它仍然没有给我相机变换.
我究竟做错了什么?
class ViewController: UIViewController, ARSCNViewDelegate {
@IBOutlet var sceneView: ARSCNView!
override func viewDidLoad() {
super.viewDidLoad()
sceneView.delegate = self
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
let configuration = ARWorldTrackingSessionConfiguration()
sceneView.session.run(configuration)
}
func session(_ session: ARSession, didUpdate frame: ARFrame) {
print("Hello") // DOES NOT RUN HERE
let currentTransform = frame.camera.transform
}
}
Run Code Online (Sandbox Code Playgroud) 对不起,新手问题;我还在学习。我遇到了一些奇怪的行为,找不到任何关于此的文档。我想知道您是否可以帮助指出我在这里做错了什么。
错误:
不能对不可变值使用变异成员:“arr”是“let”常量
class mySingleton {
static let sharedInstance = mySingleton()
private init() {}
var men = ["bob", "doug"]
var women = ["alice", "lisa"]
func removeFirst() {
self.arr.removeFirst()
}
func removeFirstByGender(gender: String) {
if gender == "men" {
self.modify(arr: self.men) // <-- error occurs here.
} else {
self.modify(arr: self.women) // <-- error occurs here.
}
}
func modify(arr: [String]) {
arr.removeFirst()
}
}
Run Code Online (Sandbox Code Playgroud) 我试图让ARWorldTracking会话在会话中断后重新定向北.我已经阅读了几次文档,但我发现它令人困惑.
目前的行为:
当我锁定设备并重新打开应用程序,触发时sessionWasInterrupted,SCNNodes在指南针上逆时针旋转大约90度左右.
当您使用与会话的当前配置不同类型的配置调用run(_:options :)方法时,会话始终重置跟踪
我解释说,当我生成一组与之不同的新配置时,viewWillAppear会话将"重置".我没有得到实际发生的事情,但中断后的方向是关闭的.(
removeExistingAnchors什么都不做)
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
let configuration = ARWorldTrackingSessionConfiguration()
configuration.planeDetection = .horizontal
configuration.worldAlignment = .gravityAndHeading
sceneView.session.run(configuration)
}
func sessionWasInterrupted(_ session: ARSession) {
let configuration = ARWorldTrackingSessionConfiguration()
configuration.planeDetection = .horizontal
configuration.worldAlignment = .gravityAndHeading
self.sceneView.session.run(configuration, options: [ARSession.RunOptions.removeExistingAnchors, ARSession.RunOptions.resetTracking])
}
Run Code Online (Sandbox Code Playgroud)
期望的行为:
当应用程序检测到会话中断时,我希望它将自己重新定位回真北.
我有 3 个数组,ObjectIds我想连接成一个数组,然后按创建日期排序。$setUnion正是我想要的,但我想尝试不使用它。
我想要排序的对象的架构:
var chirpSchema = new mongoose.Schema({
interactions: {
_liked : ["55035390d3e910505be02ce2"] // [{ type: $oid, ref: "interaction" }]
, _shared : ["507f191e810c19729de860ea", "507f191e810c19729de860ea"] // [{ type: $oid, ref: "interaction" }]
, _viewed : ["507f1f77bcf86cd799439011"] // [{ type: $oid, ref: "interaction" }]
}
});
Run Code Online (Sandbox Code Playgroud)
期望的结果:将 _liked、_shared 和 _viewed 连接到一个数组中,然后使用aggregate管道按创建日期对它们进行排序。见下文
["507f1f77bcf86cd799439011", "507f191e810c19729de860ea", "507f191e810c19729de860ea", "55035390d3e910505be02ce2"]
Run Code Online (Sandbox Code Playgroud)
我知道我应该使用$push、$each、$group、 和$unwind以某种组合或其他方式,但我在拼凑文档以实现这一点时遇到困难。
更新:查询
model_user.aggregate([
{ $match : { '_id' …Run Code Online (Sandbox Code Playgroud) mongoose mongodb node.js mongodb-query aggregation-framework
我有node_modules并bower_components在 .gitignore 中。每次我切换分支时,所有依赖项都会被删除(全局安装的依赖项除外),并且我必须重新安装所有依赖项。
我目前正在使用git stash save --keep-index --include-untracked \xe2\x80\x94all,但我想知道是否有一个更简单的解决方案,它可以在从另一个分支切换回来后保留 .gitignore 中的目录。
我正在尝试更新数学库以与Swift 3兼容,但我遇到了一个错误:
'Sequence' requires the types 'T' and 'ArraySlice<T>' be equivalent
关于Sequence的Apple文档建议makeIterator()方法返回一个迭代器.似乎迭代器返回grid变量中的一个元素,它是变量的T.我不太清楚我在这里缺少什么.任何意见将是有益的.
public struct Matrix<T> where T: FloatingPoint, T: ExpressibleByFloatLiteral {
public typealias Element = T
let rows: Int
let columns: Int
var grid: [Element]
public init(rows: Int, columns: Int, repeatedValue: Element) {
self.rows = rows
self.columns = columns
self.grid = [Element](repeating: repeatedValue, count: rows * columns)
}
...
}
extension Matrix: Sequence { // <-- getting error here
public func makeIterator() -> AnyIterator<ArraySlice<Element>> {
let …Run Code Online (Sandbox Code Playgroud) 我正在尝试按比例缩小包含其他节点的SCNNode,但它本身没有几何。我按比例阅读了文档,但我有点怀疑它们会相对于父级进行定位,而不是相对于父级进行定位。
问题:
scale似乎什么也没做。
这是我的SCNNode子类的摘录
addChildNode(Node1)
addChildNode(Node2)
Node2.addChildNode(Node21)
addChildNode(Node3)
print("pre-scale", self.scale)
// prints SCNVector3(x: 1.0, y: 1.0, z: 1.0)
self.scale = SCNVector3(x:0.05, y:0.05, z:0.05)
print("post-scale", self.scale)
// prints SCNVector3(x: 0.05, y: 0.05, z: 0.05)
Run Code Online (Sandbox Code Playgroud)
可见,没有任何变化。
我已经考虑过进行循环并将缩放因子应用于每个子节点,但是我认为相对位置会变得一团糟。
我希望一切都可以扩展并保持其完整性。有什么我想念的吗?
我是angular的$ q的新手,我正在尝试构建一个API调用服务并将其返回给控制器.
问题:无论我如何格式化它,服务returns就在它到达$ http.get(...)之前
服务:
// methods: query new, get existing
makeRequest: function(url, following) {
// create promise
var deferred = $q.defer();
$http.get(url, {
params: {
"following": JSON.stringify(following)
}
})
.then(function(res) {
console.log(res);
deferred.resolve(res.data);
});
return deferred.promise;
},
getFeed: function(user) {
console.log('>> userService[getUser]: retrieving user...');
if (!this.activities) {
// Request has not been made, setting user profile.
console.log('>> userService[getUser]: No user stored, making request...');
var following = this.compileArray(user);
console.log(following);
this.activities = this.makeRequest('api/network/activities', following);
};
// Return the myObject …Run Code Online (Sandbox Code Playgroud) 我很抱歉问这样一个菜鸟问题,但是关于视图的postgres 文档很少,我很难找到一个好的答案。
我正在尝试在 Postgres 上为三个表实现全文搜索。具体来说,用户的搜索查询将返回匹配的 1) 其他用户名、2) 消息、3) 主题。
我担心使用视图可能无法很好地扩展,因为它将三个表合并为一个。这是一个合理的担忧吗?如果没有,我还能如何解决这个问题?
如何从 dataset1 [下面] 中获取整数“100”?
var 数据集 1 = [
{video_name:“苹果”,video_views:100},
{video_name: "Oranges", video_views: 35},
{video_name:“葡萄”,video_views:20},
{video_name:“鳄梨”,video_views:85},
{video_name:“西红柿”,video_views:60}
]