当前位置: 首页 > news >正文

教育门户网站设计欣赏网站pv uv统计

教育门户网站设计欣赏,网站pv uv统计,湖州建设企业网站,公司做网站怎么赚钱这是第一篇讲解javafx-ik的基础教程#xff0c; javafx-ik是JavaFX的逆运动学库。 该库的源代码可以从GitHub下载。 什么是 图1#xff1a;单骨 骨骼是使用javafx-ik库进行逆运动学的基本基础。 骨骼具有一定长度和关节#xff0c;骨骼可以围绕该关节旋转。 具有关节的一端… 这是第一篇讲解javafx-ik的基础教程 javafx-ik是JavaFX的逆运动学库。 该库的源代码可以从GitHub下载。 什么是 图1单骨 骨骼是使用javafx-ik库进行逆运动学的基本基础。 骨骼具有一定长度和关节骨骼可以围绕该关节旋转。 具有关节的一端称为骨头另一端称为尾端。 图1显示了一根骨头其头尾和长度。 在库javafx-ik中 骨骼类似于类Bone 。 要对其进行初始化必须至少传递长度但通常在构造过程中还要设置角度。 上面的代码示例设置了一条长度为50且旋转为0的骨骼这意味着它将水平指向右侧。 // Adding bone b2 to the children of bone b1 b1.getChildren().add(b2); 查看Gist上的代码。 组装骨头 图2组装两个骨骼 可以组装骨骼来定义动画对象的骨架。 通过将一根骨头b1的尾巴连接到另一根骨头b2的头部来链接两根骨头。 骨骼b1称为骨骼b2的父级骨骼b2称为骨骼b1的子级。 图2显示了两个相连的骨骼b1和b2 。 Bone类为结构提供两个属性。 只读属性parent店骨骼的父物业孩子是所有儿童骨骼的ObservableList。 以下代码片段显示了如何连接两个骨骼b1和b2 // Adding bone b2 to the children of bone b1 b1.getChildren().add(b2); 查看Gist上的代码。 图3假人的结构 只读属性角度定义了骨骼及其父骨骼的延伸之间的旋转。 值0表示一条直线值180表示子骨骼与其父骨骼重叠但指向相反的方向。 尽管让父母和孩子在骨骼的骨骼上施加顺序但通常没有区别哪个骨骼是父母哪个骨骼是孩子。 通过重复链接骨骼对象的头和尾可以创建链。 这种简单的结构用于毛毛虫样品中。 复杂对象是使用骨骼树定义的。 骨骼的确切位置取决于父对象的位置和旋转。 树的顶部没有父级的骨骼称为根骨骼。 在初始化过程中对根骨骼的处理略有不同。 根骨骼的属性角度定义了其在整个场景中的旋转。 您可以认为它的父骨骼水平指向右侧。 现在我们可以定义虚拟对象的结构如图3所示。可以在下面的代码示例中看到生成虚拟对象骨架的代码。 // Definition of head final Bone head new Bone(30, 90);// Definition of torso final Bone torso new Bone(80, 0); head.getChildren().add(torso);final Bone[] upperArm new Bone[2]; final Bone[] upperLeg new Bone[2];for (int i0; i2; i) {// Definition upper armsupperArm[i] new Bone(60, 60 - 90 * i);// Definition of lower armsfinal Bone lowerArm new Bone(60, -90);upperArm[i].getChildren().add(lowerArm);// Definition of upper legsupperLeg[i] new Bone(60, 30 - 90*i);// Definition of lower legsfinal Bone lowerLeg new Bone(75, 90);upperLeg[i].getChildren().add(lowerLeg); }// Connect arms and legs to head and torso head.getChildren().addAll(upperArm); torso.getChildren().addAll(upperLeg); 查看Gist上的代码。 附加视觉组件 骨骼本身不可见。 它们只是定义结构。 属性内容是Node对象的ObservableList 可用于将可见元素附加到骨骼。 // Attaching visual elements to a bone final Bone bone new Bone(50, 30); bone.getContent().addAll( new Circle(20), new Ellipse(45, 0, 25, 15), new Circle(80, 0, 10) ); 查看Gist上的代码。 图4添加视觉元素 附着的Node对象的位置和旋转由基础骨骼确定。 所有附加节点的局部坐标系的原点是骨骼的头部位置。 如果头部位置已移动则其所有节点也将移动。 骨骼的旋转也传递到节点。 如果骨骼完全不旋转并且角度值为0则它​​是水平指向右。 在上面的代码示例中骨骼定义了两个圆和一个椭圆。 该骨骼如图4所示。下面的代码示例显示了所需的更改这些更改通过附加圆和椭圆来定义虚拟对象的外观。 生成的虚拟对象可以在图5中看到。在图片中我添加了骨骼的符号以使其可见。 请注意视觉组件均不会旋转并且所有位置都位于骨骼本地。 场景中的最终位置和旋转仅根据骨骼的位置和旋转来计算。 // Definition of head final Bone head new Bone(30, 90); head.getContent().add(new Ellipse(20, 15));// Definition of torso final Bone torso new Bone(80, 0); torso.getContent().add(new Ellipse(40, 0, 50, 20)); head.getChildren().add(torso);final Bone[] upperArm new Bone[2]; final Bone[] upperLeg new Bone[2];for (int i0; i2; i) {// Definition upper armsupperArm[i] new Bone(60, 60 - 90 * i);upperArm[i].getContent().add(new Ellipse(22.5, 0, 30, 12.5));// Definition of lower armsfinal Bone lowerArm new Bone(60, -90);lowerArm.getContent().addAll(new Circle(12.5), new Ellipse(30, 0, 20, 12.5), new Circle(60, 0, 12.5));upperArm[i].getChildren().add(lowerArm);// Definition of upper legsupperLeg[i] new Bone(60, 30 - 90*i);upperLeg[i].getContent().add(new Ellipse(20, 0, 30, 15));// Definition of lower legsfinal Bone lowerLeg new Bone(75, 90);lowerLeg.getContent().addAll(new Circle(15), new Ellipse(40, 0, 30, 15), new Ellipse(75, -10, 10, 22.5));upperLeg[i].getChildren().add(lowerLeg); }// Connect arms and legs to head and torso head.getChildren().addAll(upperArm); torso.getChildren().addAll(upperLeg); 查看Gist上的代码。 图5所有视觉元素都附有的假人 将所有内容添加到场景图中 现在只剩下最后一个片段无法在屏幕上渲染虚拟对象 Skeleton类。 Skeleton类是Scenegraph和带有附加Node对象的骨骼之间的桥梁。 它扩展了Parent 因此可以在Scenegraph中的任何位置添加。 可以像场景图中的任何其他节点一样对其进行平移旋转缩放和转换。 通过设置任何骨骼的属性骨架 可以链接骨架对象和动画对象的骨骼。 您会注意到相同结构中所有骨骼的属性骨架随后将更新为指向相同的Skeleton对象。 同一结构中的两个骨骼不可能指向不同的骨骼对象。 要查看结果请下载完整的Dummy.java文件。 要编译脚本需要将库javafx-ik添加到类路径中。 您可以从GitHub下载源代码。 下一步是什么 本教程的第一部分介绍了如何定义动画对象的静态结构或骨架以及如何附加可见的组件。 第二部分将说明如何对该结构进行动画处理以创建自然外观的动画。 参考来自Mike博客博客的JCG合作伙伴 Michael Heinrichs的JavaFX Inverse Kinematics 2.0库 。 翻译自: https://www.javacodegeeks.com/2013/04/javafx-library-for-inverse-kinematics-2-0.html
http://www.yutouwan.com/news/453482/

相关文章:

  • 途牛网站建设天津+交友+网站建设
  • 开封网站建设报价网络营销的专业知识
  • 临汾网站建设电话设计在线设计网站
  • 网站内页权重怎么查广东建设厅官网证书查询
  • 营销平台网站建设网站后天添加文章不显示
  • 网站打开慢是什么原因wordpress 做图片
  • 广州黄埔做网站免费h5源码资源源码站
  • 企业网站建设可以分为个人网站模板素材下载
  • 网站开发需求列表网站上怎么做星星评分
  • dw中做网站的步骤个人网站做的类型
  • 公司网站的服务器网站管理建设落实报告
  • 重庆网站建设技术托管wordpress文章中加入代码
  • 如何在服务器上做网站网站建设与代运营介绍
  • 搜索引擎调词软件杭州优化网站
  • 上海电商设计招聘网站即墨网站建设地址
  • 做美股的数据网站国外黄冈网站推广
  • 青海公路建设服务网站邓州市网站建设
  • 怎样做网站推百度官网首页登录
  • 网站建设咨询问卷网络营销的方式包括
  • 响应式网站模板HTML可以做彩票网站吗
  • 灯塔建设网站wordpress图片浏览插件
  • 做微页的网站精品一卡2卡三卡4卡分类
  • 江山网站设计新手seo网站做什么类型好
  • 口碑好的龙岗网站建设wordpress如何修改html代码
  • 琼海市规划建设局网站折800网站模板
  • 论前端对网站建设的重要性网站免费建站人生若只初相见04
  • 网站编写做购物网站需要接口吗
  • php网站开发练手项目北京壹同制作
  • 网站正在建设中不动产重庆合川企业网站建设
  • 杭州市城乡建设网站wordpress怎么上线