Перекрестная функция продукта в быстром IOS - PullRequest
0 голосов
/ 30 августа 2018

В какой быстрой библиотеке я получу перекрестную функцию продукта

как cross(normalize(vector1),normalize(vector2))

Я хочу направление угла между тремя узлами scnnode с линией

let node0 :SCNNode = self.nodes[1]
let node1 :SCNNode = self.nodes[2]
let node2 :SCNNode = self.nodes[3]
let vector1 = float3((node0.position.x - node1.position.x), (node0.position.y - node1.position.y), (node0.position.z - node1.position.z))
let vector2 = float3((node2.position.x - node1.position.x), (node2.position.y - node1.position.y), (node2.position.z - node1.position.z))
let dotProduct = dot(normalize(vector1), normalize(vector2))
let theta = acos(dotProduct)

Это мой пример кода, тета-угол и угол в радианах между этими точками, и он идеален, но как определить направление угла - мой вопрос

1 Ответ

0 голосов
/ 31 августа 2018

Вы можете импортировать библиотеку simd, чтобы получить функцию кросс-продукта

import simd
let crossp = cross(normalize(vector1), normalize(vector2))
let dotpOfcross  = dot(crossp,float3.init(node0.position))

Я думаю, что это то, что вы хотите по вашему вопросу, пожалуйста, проверьте и дайте здесь знать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...