math - 平面绕 y 轴旋转
问题描述
我正在构建一个基于网络的小型游戏,它使用计算机的内置或附加摄像头。我正在使用机器学习来识别用户的脸,然后在屏幕上模拟用户的动作(即当用户的脸靠近相机时,由于用户的脸更靠近相机,化身变得更大;当用户向右移动,头像也向右移动)。
我的一个朋友面前有一个大显示器,然后笔记本电脑就坐在他的右边。因此,当他靠近更大的显示器时,头像显示他向左移动,因为相机在他的右边。这是有道理的,但我想知道,从数学的角度来看,给定用户鼻子、眼睛和耳朵的一组 (x, y) 坐标,我怎么可能围绕 y 轴旋转这组坐标。我们可以假设相机位于我朋友右侧 45 度角。
我希望通过这种旋转,当他靠近他所面对的屏幕时,化身会变得更大,模仿他的确切动作,尽管相机在他的右边。我正在努力解决的一个特殊问题是头像的大小 - 当相机向右并且用户向左移动时,头像变得更小,因为脸部正在远离相机,但这不应该是这种情况.
我添加了询问用户相机位置的选项,但我需要帮助来找到可以解决上述问题的平面旋转。
提前致谢。
解决方案
推荐阅读
- python - 路径应该是字符串、字节或 os.PathLike,而不是 InMemoryUploadedFile
- vue.js - 在 vue 项目中更改 package.json 以进行自定义构建模式
- firebase - React Native:使用“refFromURL”从firebase中删除图像
- flutter - 导航栏不会出现在所有屏幕上
- vue.js - 无法安装 vuemdb
- java - Spring WS:没有 package-info.java 的 XML 命名空间前缀处理?
- java - Spring Boot - Swagger 文档不起作用
- javascript - Chrome 扩展 - 监听按钮点击事件
- python - 检测椭圆的最佳拟合 - OpenCV
- powerbi - DAX 中的 FORECAST.ETS Excel 函数