math - 在给定相机位置和向前、向上和向右单位向量的情况下计算地平线的显示坐标
问题描述
我在Scratch中编写了一个简单的过山车模拟器,使用 3d catmull-rom 样条线来创建轨道布局。计算旋转最小化框架,以便表面法线在整个样条曲线中平滑流动。使用每个位置的查看旋转矩阵预先计算相机路径(使用行进方向的单位法线,轨道的表面法线和两者的叉积。这一切都很好,可以在这里查看.
我想添加一个简单的背景,其中地平线以上的任何东西都是蓝色的天空,下面的任何东西都是绿色的陆地,但我在如何计算这个问题上遇到了一个完整的心理障碍。我怀疑我应该将地平线视为一个简单的 3D 平面,其表面法线为 (0,1,0),使用查看矩阵旋转它,然后从结果中创建可见的地平线坐标,但需要一些帮助来了解如何做这个。
任何建议都将非常受欢迎!
解决方案
我通过使用观察矩阵旋转地平线(0,0,0)相对于相机和平面法线的位置来实现它。这只是将地平线上的一个遥远点投射到屏幕上的情况。
推荐阅读
- linux - 在整个服务器中搜索大于 1GB 的特定文件类型?
- pointers - Go 指向不同内存位置但更新相同变量的指针
- javascript - Javascript中的数组元素与Json响应的比较
- spss - 根据不同数据集中出现的值选择一个数据集中的案例
- python - 如何用python计算批量标准化?
- android - miui 10如何在android 4.4及更高版本不允许的情况下自动打开移动数据和gps进行紧急sos?
- python - 从python中的SQL查询中选择时间戳
- java - 用模拟器拍摄后图像变灰
- python - 简单地 python 脚本给出错误,有什么问题?
- symfony - 在 symfony 中,我可以使用什么事件为每个数据库查询添加参数?