как упомянуто в проблеме. Надеюсь это поможет :)

ыло интересно, удалось ли кому-нибудь определить вертикальные плоскости перед устройством в режиме реального времени, используя ARCore SDK.

Мне удалось достичь достойного результата, определив стену с помощью уравнения линии:

z = Multiplier * x + Constant (For every y)

под комментарием «для каждого y» я имел в виду, что я игнорирую ось y (глядя на стену сверху, как в 2d отображении комнаты), чтобы вычислить линию, которая определяет стену.

Множитель - это вращение между точками:

let angleDeg = Float((360 - angle + 360) % 360) * Float.pi / 180.0;

Все вычисления:

let angle: Int = Int((atan2(pointA.z - pointB.z, pointA.x - pointB.x) * 180) / Float.pi) % 360
     yRotation = Float((360 - angle + 360) % 360) * Float.pi / 180.0

    if pointA.x == pointB.x {
         multiplier = Float.infinity
    } else {
         multiplier = (pointA.z - pointB.z) / (pointA.x - pointB.x)
    }
    constant = pointA.z - multiplier * pointA.x
}

Теперь я запускаю это вычисление, пока пользователь ходит, и отбирает множество точек облака точек.

Результаты хорошие, но не такие точные, как обнаружение ARCore в горизонтальной плоскости.

Ответы на вопрос(2)

Ваш ответ на вопрос