java3d人体模型.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
java3d人体模型

Java、Java 3D与计算机几何设计实验 简单的人体队伍模型 1.实验内容: 制作一个简单的人体跳舞排成的三角形队伍模型,通过利用课本第五章的java3D的坐标变换和基本形体来完成该实验。 在这次试验中利用到与坐标变换相关的类有TransformGroup类、Transform3D类的功能与应用,还使用到一些基本的形体如球体、圆柱体、圆锥体的功能参数与编程应用,同时还涉及到了SharedGroup类的功能与应用。 2.实验步骤: (1)首先,人体的头是用一个半径为0.3的球体来模拟,它所处的坐标为(0.f,1.1f,0.f),也就是球体的圆心处于的坐标点。 人体的双手,同样是用球体模拟,它们的半径都为1.5,分别处的坐标为(0.3f,0.52f,0.f))和(-0.3f,0.52f,0.f)),两个相对称的球体,便模拟为人体的左右手。 人体的身体,就用一个简单的圆锥体代替,它的底面半径为0.4,高为0.8,中心点所在的坐标是(0.f,0.4f,0.f),由圆锥体得高为0.8,加上人体头球体的半径0.3,刚好就是该球体的中心点坐标的y=1.1值,正好将头与身体连接起来。 最后,人体的双腿用两个也是相对称的圆柱体模拟,它们的底面半径为0.08,高为0.5,则为腿长,相应的坐标为(0.15f,-0.25f,0.f)与(-0.15f,-0.25f,0.f)。 (2)通过使用SharedGroup类,将做好的人体模型通过复制,先setTranslation(new Vector3f(0.6f,0.f,0.f))和setTranslation(new Vector3f(-0.6f,0.f,0.f),将人向x坐标方向进行复制,则在x方向上形成了以三人为一组的队伍,再setTranslation (new Vector3f(0.f,0.f,0.6f),在z的正半轴方向上复制一个人体模型,就这样,就完成了整一个实验,完成了一个三角形的类似跳舞的队伍模型。 3.实验代码如下: import java.applet.Applet; import java.awt.BorderLayout; import java.awt.Frame; import java.awt.*; import java.awt.GraphicsConfiguration; import com.sun.j3d.utils.applet.MainFrame; import com.sun.j3d.utils.geometry.*; import com.sun.j3d.utils.geometry.ColorCube; import com.sun.j3d.utils.universe.*; import com.sun.j3d.utils.behaviors.mouse.*; import com.sun.j3d.utils.geometry.Cone; import com.sun.j3d.utils.geometry.Cylinder; import com.sun.j3d.utils.geometry.Sphere; import javax.media.j3d.*; import javax.vecmath.*; import java.awt.event.*; public class cp extends Applet { public BranchGroup createBranchGroupSceneGraph() { BranchGroup BrachGroupRoot = new BranchGroup(); BoundingSphere bounds = new BoundingSphere(new Point3d(0.0,0.0,0.0),100.0); Color3f bgColor = new Color3f(1.0f,1.0f,1.0f); Background bg = new Background(bgColor); bg.setApplicationBounds(bounds); BrachGroupRoot.addChild(bg); Color3f directionalColor = new Color3f(0.f,1.f,1.f); Vector3f vec =new Vector3f(-1.f,-1.f,-1.f); DirectionalLight directionalLight = new DirectionalLight(directionalColor,vec); directionalLight.setInfluencingBounds(bounds); BrachGrou

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档