Ios 将立方体变形为球体

Ios 将立方体变形为球体,ios,scenekit,morphing,Ios,Scenekit,Morphing,这是苹果公司文档中的一张图片。它们显示了从立方体到球体以及到一些随机几何体的变换。 只有几行文字表明: 变形器及其目标几何体可以从场景文件或场景中加载 以编程方式创建。基础几何图形和所有目标几何图形 必须在拓扑上相同也就是说,它们必须包含相同的 顶点的数量和结构排列 谁能解释一下这段话,因为我显然不懂。 因为一个球体永远不会有和立方体一样的顶点结构排列(至少我这么认为),所以不可能进行变换。但是,嘿,我们都在照片上看到了。我也尝试过进行转换,但没有得到预期的结果。那么,如何从一个球体到另一个立

这是苹果公司文档中的一张图片。它们显示了从立方体到球体以及到一些随机几何体的变换。

只有几行文字表明:

变形器及其目标几何体可以从场景文件或场景中加载 以编程方式创建。基础几何图形和所有目标几何图形 必须在拓扑上相同也就是说,它们必须包含相同的 顶点的数量和结构排列

谁能解释一下这段话,因为我显然不懂。 因为一个球体永远不会有和立方体一样的顶点结构排列(至少我这么认为),所以不可能进行变换。但是,嘿,我们都在照片上看到了。我也尝试过进行转换,但没有得到预期的结果。那么,如何从一个球体到另一个立方体,或者从另一个球体到另一个立方体?

“拓扑相同”意味着网格中顶点之间的关系必须保持不变,但它们在空间中的位置可能会改变。以下是2D中的一个示例:

这两个网格具有相同的八个顶点,它们以相同的方式相互连接,但它们的位置(以及它们形成的形状)不同

要使用SceneKit在3D中实现同样的效果,您需要自定义顶点数据—SceneKit可以为您生成的基本形状(如
SCNSphere
SCNBox
,等等)都具有不同的拓扑,因此它们不能用作变形器目标

如果要将长方体变形为球体,则需要生成具有相同拓扑的长方体和球体。苹果插图中的“一些随机形状”暗示了你可能会如何做到这一点——它似乎是苹果的一个变种。如果您使用Wikipedia页面中的方程式,您可以生成一组点,这些点可以位于球体上,也可以位于立方体上,具体取决于其他参数。改变这些参数以生成两个网格,从这些网格创建
SCNGeometry
,就得到了有效的
SCNMorpher
目标

您可以在Apple的示例应用程序中看到一个更简单的变形示例。

“拓扑相同”意味着网格中顶点之间的关系必须保留,但它们在空间中的位置可以更改。以下是2D中的一个示例:

这两个网格具有相同的八个顶点,它们以相同的方式相互连接,但它们的位置(以及它们形成的形状)不同

要使用SceneKit在3D中实现同样的效果,您需要自定义顶点数据—SceneKit可以为您生成的基本形状(如
SCNSphere
SCNBox
,等等)都具有不同的拓扑,因此它们不能用作变形器目标

如果要将长方体变形为球体,则需要生成具有相同拓扑的长方体和球体。苹果插图中的“一些随机形状”暗示了你可能会如何做到这一点——它似乎是苹果的一个变种。如果您使用Wikipedia页面中的方程式,您可以生成一组点,这些点可以位于球体上,也可以位于立方体上,具体取决于其他参数。改变这些参数以生成两个网格,从这些网格创建
SCNGeometry
,就得到了有效的
SCNMorpher
目标

您可以在Apple的示例应用程序中看到一个更简单的变形示例。

“拓扑相同”意味着网格中顶点之间的关系必须保留,但它们在空间中的位置可以更改。以下是2D中的一个示例:

这两个网格具有相同的八个顶点,它们以相同的方式相互连接,但它们的位置(以及它们形成的形状)不同

要使用SceneKit在3D中实现同样的效果,您需要自定义顶点数据—SceneKit可以为您生成的基本形状(如
SCNSphere
SCNBox
,等等)都具有不同的拓扑,因此它们不能用作变形器目标

如果要将长方体变形为球体,则需要生成具有相同拓扑的长方体和球体。苹果插图中的“一些随机形状”暗示了你可能会如何做到这一点——它似乎是苹果的一个变种。如果您使用Wikipedia页面中的方程式,您可以生成一组点,这些点可以位于球体上,也可以位于立方体上,具体取决于其他参数。改变这些参数以生成两个网格,从这些网格创建
SCNGeometry
,就得到了有效的
SCNMorpher
目标

您可以在Apple的示例应用程序中看到一个更简单的变形示例。

“拓扑相同”意味着网格中顶点之间的关系必须保留,但它们在空间中的位置可以更改。以下是2D中的一个示例:

这两个网格具有相同的八个顶点,它们以相同的方式相互连接,但它们的位置(以及它们形成的形状)不同

要使用SceneKit在3D中实现同样的效果,您需要自定义顶点数据—SceneKit可以为您生成的基本形状(如
SCNSphere
SCNBox
,等等)都具有不同的拓扑,因此它们不能用作变形器目标

如果要将长方体变形为球体,则需要生成具有相同拓扑的长方体和球体。苹果插图中的“一些随机形状”暗示了你可能会如何做到这一点——它似乎是苹果的一个变种。如果您使用Wikipedia页面中的方程式,您可以生成一组点,这些点可以位于球体上,也可以位于立方体上,具体取决于其他参数。改变这些参数以生成两个网格,从这些网格创建
SCNGeometry
,就得到了有效的
SCNMorpher
目标


你可以在苹果的示例应用程序中看到一个更简单的变形示例。

你不能假设给定图像中每个顶点的位置;立方体不一定有ei