Questions tagged «sphere»

1
您如何将一个立方体变成一个球体?
我正在尝试根据article制作一个四边形球,它显示如下结果: 我可以正确生成一个多维数据集: 但是,当我根据此公式转换所有点时(来自上面链接的页面): x = x * sqrtf(1.0 - (y*y/2.0) - (z*z/2.0) + (y*y*z*z/3.0)); y = y * sqrtf(1.0 - (z*z/2.0) - (x*x/2.0) + (z*z*x*x/3.0)); z = z * sqrtf(1.0 - (x*x/2.0) - (y*y/2.0) + (x*x*y*y/3.0)); 我的球面看起来像这样: 如您所见,立方体的边缘仍然伸出太远。如文章所述,多维数据集在所有轴上的范围都从-1到+1。 任何想法有什么问题吗?
31 3d  geometry  sphere 

4
球面图表示
我最新的游戏将在一个小行星上进行。我正在寻找用于表示球体表面上的单元的良好数据结构。三角形,正方形,五边形,六边形?哪一个最大程度地减少了拉伸并创造了最好的贴砖? 球形贴图是最简单的,但极点处的拉伸是不可接受的。立方体贴图也很容易,但是在立方体角附近仍然会有相当大的拉伸。就拉伸而言,细分二十面体似乎是最好的,但是存在索引许多三角形阵列并在边界处查找相邻单元的问题。 我想我可以使用代表N个角的单个线性点数组,每个点都有N个邻居索引数组,但这似乎浪费了很多空间。 该游戏具有RTS元素,因此我将存储诸如影响力图之类的内容并执行A *寻路和卷积,因此表示必须高效。
19 maps  sphere 

4
如何加载球形行星及其区域?
我正在设计一个部分由行星探索组成的游戏。我想为它们使用伪随机生成,当我不得不加载它们而不是存储每个细节的时候,从定义的种子重新生成,这会太繁琐。因此,我将随机种子和玩家所做的修改(如果有)存储在文件中。 玩家必须能够从轨道上看到行星(细节水平非常低,然后下降到地面,缓慢增加他/她着陆区域的细节水平,并从另一侧卸下超出玩家视野的行星。 如果必须在平坦的地面上进行操作,则可以使用正方形块系统轻松进行操作。但是这里的问题是行星几乎是球体。 那么,在精确点附近加载地面细节(起伏和接地物体)的最佳方法是什么? 我虽然已经提出了两种解决方案,但是两者都有一个弱点: 1.将球切成正方形块。 一旦玩家离地面足够近,我只需要从他/她的位置改善最接近的正方形的细节即可。 如果这还不够,当玩家在地面上或真的离地面很近时,我仍然可以在子正方形中切割每个正方形以进行加载。 但是,正如您在图片上看到的那样,如果玩家尝试着陆,那将是一个问题:正方形变成非常细长的矩形,甚至最后一行都变成三角形,此外还要加载很多东西,一代似乎会扭曲。 2.从二十面体开始。 在这里,我可以在玩家靠近时增加围绕他的位置的三角形镶嵌。 但是我不知道如何将三角形定位成比玩家的位置更近。我听说笛卡尔坐标在这种情况下可能有用,但我不知道如何使用它们。 我正在使用C ++ / OpenGL,所以这里要生成和加载的主要是表示表面浮雕和颜色/纹理的顶点。

7
如何在Unity中更改对某些对象的重力?
我在Unity中有两个领域。一个是大小的1000倍,另一个是大小的1倍。因此,我希望将较小的球体吸引到较大的球体中。那么我该怎么做。我知道它可以通过使用刚体在重力作用下下降。但是,如何改变朝向大球面的重力角?
14 c#  unity  sphere 

1
以编程方式绘制球体的中间部分
我正在尝试创建一个球体的中间部分。基本上,要创建一个球体,将给出堆栈编号和切片编号,并且有两个变量phi(用于切片)和theta(用于堆栈)负责进度。并且该过程分为创建底盖,主体和顶盖(如下所示)。要达到中间一半(theta如下所示为中间50%),我们需要省略帽子,并以某种方式修改身体。我在玩堆栈号(1/4*stackNumbers to 3/4*stackNumbers),但没有给出想要的结果。 如何修改球体生成以达到中间一半(pi/4 <theta <pi*3/4)?我的总体问题是如何将球体分为上25%,中50%和下25%的3个不同部分? 以下是流行的以编程方式生成球体的代码: private void generateSphere(int stackNumber, int sliceNumber, boolean facingOut) { int capVertexNumber = 3 * sliceNumber; int bodyVertexNumber = 4 * sliceNumber * (stackNumber - 2); int vertexNumber = (2 * capVertexNumber) + bodyVertexNumber; int triangleNumber = (2 * capVertexNumber) + (6 * sliceNumber …

1
我如何找到四面体的周界?
我正在寻找最小化的方程式,以找到在给定四个3D点的情况下四面体外球面的中心坐标和半径。 我在互联网上发现的内容主要涉及平面3D三角形的外接球面,一些粗略的数学定义或一些非常单一的情况,例如规则四面体。无论如何,我设法找到下面的等式,但我错过了一些东西: -> -> -> let d1, d2, and d3 three vectors of any face of the triangle : | d1x d1y d1z | | x | | d1^2 | 2 * | d2x d2y d2z | * | y | = | d2^2 | | d3x d3y d3z | …
9 3d  sphere 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.