opengl里的对球形的建模:首先要把球形表式由点组成的模型。现在的问题是:怎么把这个球用点集进行表示。
代码如下:
final int UNIT_SIZE=10000;
ArrayList<Integer> alVertix=new ArrayList<Integer>();//存放顶点坐标的ArrayList
final int angleSpan=18;//将球进行单位切分的角度
for(int vAngle=-90;vAngle<=90;vAngle=vAngle+angleSpan){//垂直方向angleSpan度一份
for(int hAngle=0;hAngle<360;hAngle=hAngle+angleSpan)//水平方向angleSpan度一份
{//纵向横向各到一个角度后计算对应的此点在球面上的坐标
double xozLength=scale*UNIT_SIZE*Math.cos(Math.toRadians(vAngle));
int x=(int)(xozLength*Math.cos(Math.toRadians(hAngle)));
int z=(int)(xozLength*Math.sin(Math.toRadians(hAngle)));
int y=(int)(scale*UNIT_SIZE*Math.sin(Math.toRadians(vAngle)));
//将计算出来的XYZ坐标加入存放顶点坐标的ArrayList
alVertix.add(x);alVertix.add(y);alVertix.add(z);
}
}
讲解:
1. 首先把球想成由很多的半径不一样的圆所组成的。把球想像成由很多平形于x,z平面的圆所组成的。
2. x,z轴的圆的角度是由0-360,y轴的变动由-90到90。
3. 在java里,三角函数要用弧度计算,而我们平实一般都是角度来计算。其实不管三角函数用的是角度和弧度,其都是度量的是角的大小,所以对于同一个角,其三角函数的值都是一样的(不管是用角度计算,还是用弧度计算)。所以sin(x)就不要注重其x是角度还是弧度,只要关心,其是由对边/斜边(前题是直角三角形)。
4. 如果对于计算球上每个点的坐标,不太理解,可以在笛卡尔级坐标系里,画一个点,再把这个点进行映射到三个坐标轴上去,就可以了。
注:角度和弧度的理解:http://hi.baidu.com/kent_edwin/blog/item/9425f0029e06967e3812bb28.html
- 大小: 10.1 KB
分享到:
相关推荐
球形机器人动力学建模与运动控制设计是机器人技术领域的研究课题,其重点在于如何精确地建模并控制球形机器人的运动。本文献提出了一种双轮驱动球形机器人的动力学建模方法,并基于该模型设计了运动控制器,以便...
球形机器人系统建模与仿真 该论文主要研究了球形机器人的动力学模型和仿真,解决了目前球形机器人模型不能应用现有的非线性控制方法的问题。论文首先对球形机器人的动力学模型进行了简化和抽象,选取了适当的广义...
初学者应该掌握基础的建模技术,如盒形建模、球形建模和NURBS建模等。通过实例练习,你可以逐步熟悉这些工具,理解它们在不同情况下的应用。 动画是3ds Max的另一大亮点。学习如何设置关键帧、调整时间线和应用运动...
球形贮箱内流固耦合系统动力学建模的知识点涵盖了多体非线性动力学建模、流固耦合理论、数值仿真等多个方面,下面将详细展开这些知识点。 首先,球形贮箱内流固耦合系统动力学建模指的是对球形容器内含有流体的耦合...
本文基于拉格朗日方程对双轮驱动球形机器人进行了动力学建模,并通过Matlab/Simulink环境进行仿真分析,验证了模型的有效性。 首先,本文提到了拉格朗日方程。拉格朗日方程是一种用于确定系统动力学行为的数学框架...
这种技术结合了3D建模、动画和渲染等多个方面,使得静止的文字在空间中呈现出围绕一个轴心进行的球形旋转效果,既增加了视觉冲击力,也提升了信息传递的吸引力。 首先,我们来了解一下3D建模。3D建模是创建三维物体...
"球形机器人运动学建模和控制" 球形机器人是一种新型的机器人,具有良好的动态和静态平衡性,同时具有很好的密封性,可以行驶在恶劣环境中,并具有水陆两栖功能。研究球形机器人的运动学建模和控制问题,对于提高...
在Tekla Structures这款强大的三维钢结构建模软件中,实心球体建模是一项重要的功能,尤其在复杂的结构设计和分析中。本主题将深入探讨如何在Tekla中创建实心球体,以及解决可能遇到的问题。 Tekla Structures以其...
球形机器人运动学建模 球形机器人是一种新型的机器人,它可以应用于行星探测、环境监测、国防装备、娱乐等领域。研究者们提出了各种各样的驱动形式,而对非完整系统控制问题的研究由初始阶段的运动学控制,向现阶段...
【基于六螺旋桨和啮合转子的SPIROS全方位球形机器人的设计、建模与控制】这篇论文探讨了一种新型的全方位球形机器人——SPIROS(Six Propellers and Intermeshing Rotor based Omnidirectional Spherical Robot)。...
FLAC_3D中复杂模型的三维建模技巧
在机器学习中,高斯分布常用于构建高斯混合模型(GMM),以对数据进行建模和聚类。而在信号处理中,高斯分布则可以用于滤波、降噪等任务。 从提供的压缩包文件名"ellipsedata3.m"来看,这可能是一个MATLAB脚本,...
#资源达人分享计划#
在本文中,我们将深入探讨如何使用Python来创建一个三维...通过学习和理解这个脚本,我们可以掌握如何利用Python进行复杂的物理建模,这对于在材料科学、工程领域以及其他需要模拟真实世界现象的场合都具有重要的价值。
螺旋转子轮廓曲线的三维数学建模和CAD/CAM技术研究,对于提高螺旋转子加工的效率与精度,降低制造成本具有重要意义。 在螺旋转子的三维建模中,首先需要分析轮廓曲线的形成原理,并建立轮廓曲线方程式。螺旋转子...
总的来说,这个OpenGL球形贴图自旋程序是一个很好的学习实例,涵盖了3D图形学的基本概念,如纹理映射、几何建模和动画实现。通过深入研究这个程序,开发者可以提升自己在OpenGL领域的技能,为创建更复杂的3D应用打下...
另一个例子是半球形容器排水问题。通过建立一阶微分方程,我们可以求解容器内水位随时间下降的速率。这里运用了体积守恒定律,结合水流速度和水位高度的关系,最终得到了描述水位变化的微分方程,进一步求解得到容器...