CainCamera icon indicating copy to clipboard operation
CainCamera copied to clipboard

关于ProjectionScale的问题

Open katyperry13 opened this issue 4 years ago • 2 comments

大佬,这里centerX,centerY为什么都是除以ImageHeight,centerX不是应该除以ImageWidth吗 image

katyperry13 avatar Aug 30 '19 01:08 katyperry13

并不是,你这个地方是要以某一边为基准来计算才能得到正确的结果,前面计算出了中心点的位置,然后除以imageHeight,这里是将实际坐标转化为NDC坐标,只能以某个边为基准,而不是分别除以宽高,因为我的Matrix.frustumM设置了ratio的,后续的计算就不能分别除以宽高了,要不然贴纸会变形的。我这里是以高度为基准计算得到的。这个地方可能比较难理解,需要你对透视矩阵的各个参数理解得比较清楚才行。你尝试改成你说的那样,那也是一种做法,但不管是哪种方法,贴纸从人脸基准到透视空间转换再到姿态角变换的过程,是一个比较长的流程,相对复杂一点。

CainKernel avatar Sep 06 '19 16:09 CainKernel

大佬, ProjectionScale等于2是如何计算得到的,能具体解释一下吗?这个变量在计算NDC坐标多次使用,能解疑一下原理吗?

cwj2014 avatar Nov 09 '22 06:11 cwj2014