我想画一个球体并对它进行纹理,我用三角形来画它,当我试图对它进行纹理时,有些三角形没有被覆盖
我用这个函数来生成坐标
public void createSolidSphere()
{
float R = (float) (1./(float)(rings-1));
float S = (float) (1./(float)(sectors-1));
int r, s;
int texCoordsIndex = -1;
int verticesIndex = -1;
int normalsIndex = -1;
int indicesIndex = -1;
for(r = 0; r < rings; r++) for(s = 0; s < sectors; s++) {
float y = (float)Math.sin( -Math.PI/2 + Math.PI * r * R );
float x = (float)Math.cos(2*Math.PI * s * S) * (float)Math.sin( Math.PI * r * R );
float z = (float)Math.sin(2*Math.PI * s * S) * (float)Math.sin( Math.PI * r * R );
texcoords[++texCoordsIndex] = s*S;
texcoords[++texCoordsIndex] = r*R;
vertices[++verticesIndex] = x * radius;
vertices[++verticesIndex] = y * radius;
vertices[++verticesIndex] = z * radius;
normals[++normalsIndex] = x;
normals[++normalsIndex] = y;
normals[++normalsIndex] = z;
}
for(r = 0; r < rings; r++) for(s = 0; s < sectors; s++) {
indices[++indicesIndex] = r * sectors + (s+1);
indices[++indicesIndex] = (r+1) * sectors + (s+1);
indices[++indicesIndex] = (r+1) * sectors + s;
}
}
你必须画四角而不是三角形。一个四边形可以由2个三角形组成。
每个四边形由4个点组成:
0: r * sectors + (s+1)
1: (r+1) * sectors + (s+1)
2: (r+1) * sectors + s
3: r * sectors + s
这4个点可以排列成2个三角形:
2 1
+ +-------+
| \ \ |
| \ \ |
| \ \ |
+------+ +
3 0
您必须为每个四方添加6个索引,而不是3个:
for(r = 0; r < rings; r++) for(s = 0; s < sectors; s++) {
// triangle 1
indices[++indicesIndex] = r * sectors + (s+1);
indices[++indicesIndex] = (r+1) * sectors + (s+1);
indices[++indicesIndex] = (r+1) * sectors + s;
// triangle 2
indices[++indicesIndex] = r * sectors + (s+1);
indices[++indicesIndex] = (r+1) * sectors + s;
indices[++indicesIndex] = r * sectors + s+;
}
问题内容: 有人有绘制椭球体的样例代码吗?球体有一个 在“matplotlib”网站上,但椭球体没有。我正试图策划 其中“c”是定义椭球体的常量(如10)。我试过了 route,修改了公式,使’z’在一边,但是 `sqrt是个问题。“matplotlib”球体示例适用于角度“u,v”, 但我不知道如何计算椭球体。 问题答案: 下面是如何通过球坐标实现的: 上面的程序实际上生成了一个更好看的“正方形
最近,我试图用pyplot/julia绘制一个球体,不幸的是,它比我想象的要难。可能积分生成有问题,但我不明白为什么我的实现不起作用。尽管使用原始python代码一切都很好。 我已经尝试将matplotlib曲面图doc中的demo2改编为MWE: 那么,我的Julia实现到底出了什么问题?
我是一个相当新开发的新泽西客户,在一些测试中遇到了一些问题。首先,我可能应该提到,我的应用程序都是客户端的,根本没有服务器端的东西。 我的问题是,我想创建实例< code > InboundJaxrsResponse 的< code>Response对象,到目前为止,我一直试图通过使用< code>Mockito和< code > Response builder . build()模拟< cod
本文向大家介绍python pygame实现球球大作战,包括了python pygame实现球球大作战的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了python pygame球球大作战的具体代码,供大家参考,具体内容如下 球球大作战:(大球吃小球,代码如下:) 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍jquery制作 随机弹跳的小球特效,包括了jquery制作 随机弹跳的小球特效的使用技巧和注意事项,需要的朋友参考一下 以下是源码:
问题内容: 谁能帮我解释为什么Java代码出现问题并一次性打印所有数据,而不是将每个数据块都作为javascript代码优先 Java代码: JavaScript :(打开页面http://jerseyexample- ravikant.rhcloud.com/rest/jws ,然后按F12并在控制台中运行以下内容,不允许其他域进行javascript调用) 编辑:只是为了帮助它也将正常的Jav