综合编程

摄像机边界控制

微信扫一扫,分享到朋友圈

摄像机边界控制
0

由于美术场景有限制,所以需要将摄像机限制在一个如下图所示的凸六面体内:

那八个顶点的位置根据场景不同而不同,限制摄像机位置的关键在于判定摄像机位置是否在六面体内。而剩下的就是几何知识了。

首先要求出6个平面的方程,取一个平面的三个顶点 V1, V2, V3,分别代入平面方程:

aX+ bY + cZ +d = 0 中然后求出:

a = v1.y * v2.z – v1.y * v3.z -v2.y * v1.z + v2.y * v3.z + v3.y * v1.z – v3.y * v2.z;

b = -v1.x * v2.z + v1.x * v3.z + v2.x * v1.z – v2.x * v3.z – v3.x * v1.z + v3.x * v2.z;

c = v1.x * v2.y – v1.x * v3.y – v2.x * v1.y + v2.x * v3.y + v3.x * v1.y – v3.x * v2.y;

d = -v1.x * v2.y * v3.z + v1.x * v3.y * v2.z + v2.x * v1.y * v3.z – v2.x * v3.y * v1.z – v3.x * v1.y * v2.z + v3.x * v2.y * v1.z;

取一个六面体内的点V0,代入方程中,得出:

P0 = a * V0.x + b * V0.y + c * V0.z + d 。

设待验证的摄像机位置为Vx,同样代入,得出:

Px = a * Vx.x + b * Vx.y + c * Vx.z + d 。

然后对比P0和Px的正负号,如果相同,则证明V0和Vx在同侧。

按照以上算法,验证P0和Px是否同时满足在六个面同侧,是,则说明摄像机在六面体内,否则在六面体外。

阅读原文...


微信扫一扫,分享到朋友圈

摄像机边界控制
0

Avatar

中国企业家:一个不成熟和暧昧的阶层

上一篇

moving towards liblognorm v2

下一篇

评论已经被关闭。

插入图片

热门分类

往期推荐

摄像机边界控制

长按储存图像,分享给朋友