Math 将球体投影到立方体面上的一个小数学

Math 将球体投影到立方体面上的一个小数学,math,Math,我正在编写一个程序,用一个等矩形图像创建立方体面 我将工作分为两部分: 1) 将等矩形图像映射到球体 2) 将球体映射到立方体面 我写了一个函数,它将球体上的任意点映射到等矩形图像上的一个点,因此步骤1已经完成 对于第2步,我的方法是将一个立方体嵌入球体中。立方体和球体都以原点为中心 在立方体的任意面上取一个点a。那个像素的颜色,我把它设置成球体上的点的颜色,线OA与球体相交。(O是原点,因此OA类似于观察光线) 看看我得到了什么结果: 这就是我应该得到的: 你可以看到我的结果是圆形的,所以

我正在编写一个程序,用一个等矩形图像创建立方体面

我将工作分为两部分: 1) 将等矩形图像映射到球体 2) 将球体映射到立方体面

我写了一个函数,它将球体上的任意点映射到等矩形图像上的一个点,因此步骤1已经完成

对于第2步,我的方法是将一个立方体嵌入球体中。立方体和球体都以原点为中心

在立方体的任意面上取一个点a。那个像素的颜色,我把它设置成球体上的点的颜色,线OA与球体相交。(O是原点,因此OA类似于观察光线)

看看我得到了什么结果:

这就是我应该得到的:

你可以看到我的结果是圆形的,所以我想我没有使用正确的方法将球体映射到立方体面


如何将球体映射到立方体面?

作为旁注,这是一个看起来很酷的bug。这不是bug,我认为我在获取投影时没有使用正确的方法。但我不知道更好的方法。这就是为什么我希望有人有更好的想法:)你能发布一些代码吗?另外,您是否注意到您的图像被翻转(床在右边而床在左边)?不确定这是否相关。代码很长。代码也没有问题。我想让你验证的是创建投影的方法。你也可以发布你的起始图像吗