Closed. This question needs to be more focused。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
                        
                        3年前关闭。
                                                                                            
                
        
我有两个问题,这些问题在Google的答案中非常缺乏。



我的第一个问题-生成飞机

我正在尝试根据提供的法线,位置和半径来计算有限平面的4个顶点。我怎样才能做到这一点?一些伪代码的示例或产生有限平面的4个顶点的算法的描述将不胜感激。

此外,了解如何旋转具有任意法线的平面以与另一个平面对齐是很有用的,这样它们的法线是相同的,并且其顶点对齐。



我的第二个问题-立方体上点的距离

给定一个从立方体中心的向量,我如何计算到立方体表面上某个点的距离?

这是很难解释的,因此我的Google搜索对此很难措辞很好。

基本上,我有一个边长为s的立方体。我有一个来自立方体v中心的向量,并且我想知道从立方体的中心到该向量所指向的表面上的点的距离。有一个广义的公式可以告诉我这个距离吗?



可以对这两种方法中的任何一个进行回答,但是解决立方距离问题的方法是目前更方便的一种方法。

谢谢。

编辑:

我说“有限平面”,我的意思是四边形。原谅我用不好的术语,但是我更喜欢称其为平面,因为我是基于平面计算四边形的。四边形的顶点在平面上仅4个点。

最佳答案

第二个问题:

假设您的向量是v=(x,y,z)

因此,它撞击立方体表面的点是绝对值最大的坐标等于s的点,或者在数学上:

(x,y,z) * (s/m)

哪里

m = max{ |x| , |y| , |z| }

距离是:

|| (x,y,z) * (s/m) || = sqrt(x^2 + y^2 + z^2) * (s/max{ |x| , |y| , |z| })

我们也可以规范地回答:

distance = s * ||v||_2 / ||v||_inf

(这些是l2规范和l-infinity规范)

关于c++ - 给定法线和位置的立方体上的点的距离并计算平面,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40922330/

10-10 18:12