小编dmr*_*r07的帖子

将matrix_float4x4转换为xyz空间

我正在使用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,或者有更简单的方法来获取此信息?

谢谢!

swift3 arkit

13
推荐指数
3
解决办法
6165
查看次数

React-Native:FlatList onRefresh没有调用pull up.

目前的行为:

我试图通过拉起视图来更新从服务器获取的列表.当我这样做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)

版本信息 …

react-native react-native-flatlist

10
推荐指数
3
解决办法
8727
查看次数

在ARKit中没有为相机位置获取会话didUpdate

我是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)

augmented-reality ios scenekit swift arkit

7
推荐指数
1
解决办法
1830
查看次数

在 Swift 中修改作为参数传递给函数的数组

对不起,新手问题;我还在学习。我遇到了一些奇怪的行为,找不到任何关于此的文档。我想知道您是否可以帮助指出我在这里做错了什么。

错误:

不能对不可变值使用变异成员:“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)

swift

6
推荐指数
1
解决办法
2649
查看次数

ARKit:如何在中断后重置世界方向

我试图让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)

期望的行为:

当应用程序检测到会话中断时,我希望它将自己重新定位回真北.

ios swift arkit

6
推荐指数
1
解决办法
2156
查看次数

MongoDB:连接多个数组

我有 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

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

切换分支后删除的节点模块

我有node_modulesbower_components在 .gitignore 中。每次我切换分支时,所有依赖项都会被删除(全局安装的依赖项除外),并且我必须重新安装所有依赖项。

\n\n

我目前正在使用git stash save --keep-index --include-untracked \xe2\x80\x94all,但我想知道是否有一个更简单的解决方案,它可以在从另一个分支切换回来后保留 .gitignore 中的目录。

\n

git

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

Swift错误:'Sequence'要求类型'T'和'ArraySlice <T>'是等价的

我正在尝试更新数学库以与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)

swift swift4

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

SCNKit:扩展父节点无效

我正在尝试按比例缩小包含其他节点的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)

可见,没有任何变化。

我已经考虑过进行循环并将缩放因子应用于每个子节点,但是我认为相对位置会变得一团糟。

我希望一切都可以扩展并保持其完整性。有什么我想念的吗?

scenekit swift

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

$ q.defer()不使用Angular服务

我是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)

javascript angularjs q

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

多个表的视图可以用于全文搜索吗?

我很抱歉问这样一个菜鸟问题,但是关于视图的postgres 文档很少,我很难找到一个好的答案。

我正在尝试在 Postgres 上为三个表实现全文搜索。具体来说,用户的搜索查询将返回匹配的 1) 其他用户名、2) 消息、3) 主题。

我担心使用视图可能无法很好地扩展,因为它将三个表合并为一个。这是一个合理的担忧吗?如果没有,我还能如何解决这个问题?

sql postgresql full-text-search

3
推荐指数
1
解决办法
1640
查看次数

Javascript:访问数组内对象的属性

如何从 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}
        ]

javascript

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