搜索
首页web前端js教程使用JavaScript和Leap Motion进行骨骼跟踪

使用JavaScript和Leap Motion进行骨骼跟踪

在将JavaScript与下一代技术一起使用时,Leap Motion是我最喜欢使用的设备之一。通过跳跃运动,JavaScript并不是一个后果。它不是发烧友一起入侵的第三方模块 - 它是由Leap Motion团队谨慎地考虑的,每个新的API发行。他们最近在Beta的V2.1发行的最新版本令人兴奋。在本文中,我将概述JavaScript开发人员可用的新功能。

钥匙要点

LEAP Motion API v2.1目前在Beta中,为JavaScript开发人员提供了用于骨骼跟踪的新功能,包括其他手数据和手指数据。
    >
  • API包含“ Hand.conconvence”,该值提供了一个值,以指示LEAP Motion设备对其数据的确定程度。它还包括“ hand.type”,以确定它是左手还是右手,“ hand.pinchstrength”,以测量拇指和手指在一起的距离,以及“手。
  • Leap Motion API提供详细的手指数据,包括每种手指的类型以及是否扩展。它还提供了每个手指中四个手指骨骼的数据,从手腕到每个手指的尖端。
  • >
  • > V2 LEAP Motion API还支持诸如Oculus VR之类的VR耳机,并从LEAP Motion提供对实际图像数据的访问,但这些功能尚未在JavaScript API中可用。
  • >以更大的信心跟踪那些手
  • > API为每只手提供了其他数据。手动数据可在框架中获得。手机就像在上一个API中一样,但是在更新中,我们获得了一系列精彩的新数据,这将使Leap Motion Devs的生活更轻松。手置信度

    >我在新API中最喜欢的夹杂物之一是能够知道其数据的Leap运动如何确定。 HAND.SUPTICENCE提供了一个从0到1的值,该值使您知道看到的内容如何与它理解的手的模型相匹配。低值可能意味着它不确定整体数据,也可能意味着它不确定手指/骨位置。这使您可以在采取行动之前检查LEAP运动的确定性。我很想看到这会导致互动更加顺畅,并希望鼓励用户在手势上非常清楚。

    >

    手型

    > hand.type弄清楚leap运动是否认为它在看到左手还是右手。如果您的手握住拳头,那么它将在这种区别上有点挣扎。

    >

    捏强度

    > hand.pinchstrength是一个很棒的新属性,它的值在0到1的值,表示拇指和手指彼此之间的距离如何。这可能为手势和控制应用程序作为捏的一些有趣的可能性是一种很好而自然的人的手势。

    抓住力量

    hand.grabstrength返回一个从0到1的值,就像捏强度一样,但它表示您的手是平坦还是闭合拳头。这里的可能性同样令人兴奋 - 让您的用户挤压虚拟压力球或在虚拟房间里抓住并扔东西。

    >

    新手指数据

    在新的骨骼API变化中,每只手总是有五个手指,您可以为每只手指获得一组全新的数据。

    手指类型

    >您可以使用Finger.type读取每种数据表示的指示。此对象将是一个从零到四的值:

    >

    0是拇指
      >
    • 1是食指
    • 2是中指
    • 3是环手指
    • 4是小指
    • >
    • 每次leap运动在手数据中读取,它用所有五个手指读入。
    >手指扩展

    >如果某些手指没有指出LEAP运动的上方,则该设备将它们记录为未使用Finger.extended = false。

    >根据“骨骼”的名称,我们将数据降低到骨头

    >

    >我不太精通手的骨骼结构,所以我有机会在这里学习一些新知识。我的医生会为我扩大的知识感到自豪。希望有一天会进行随意的对话。

    > LEAP运动在每个手指的四个手指骨头上提供了数据,从手腕到每个手指的尖端:掌骨,近端指骨,中间的缘和远端指骨。对于大多数社会来说,这是没有意义的,所以这是我在Wikipedia Commons上找到的可爱图表:

    >手指骨细节

    >每个骨头都会更详细地详细介绍(我从手腕到手指的尖端都排列了这些):使用JavaScript和Leap Motion进行骨骼跟踪

    >手指绘制 - 掌骨骨基部的x,y和z位置。

    >手指。Mcpposition - 指关节的位置 - 掌骨和近端骨骨之间的斑点。

    >手指 - pipposition - 近端和中间段之间的位置。
      >手指dipposition - 远端骨基底的位置,它连接到中间的phanx。
    • >它还具有每个手指骨的物体,并具有更多细节 - metacarpal,Finger.proximal,Finger.Intermediate和Finger.distal。其中的每一个都在Leap Motion API中表示为骨骼,并具有以下细节:
      • bone.type - 代表骨骼类型的0到4的值:

      • 0 - metacarpal

      • 1 - 近端phalanx
      • 2 - 中间phalanx
      • 3 - 远端phalanx
      • 4 - 前臂

      • bone.basis - 提供了代表骨骼向量的二维阵列。您可以对此进行一些非常疯狂的数学,以检测特定的手指位置。在尝试使用这些价值之前,我需要适应一些数学练习,但这很棒,潜力就在那里!

        骨。骨和骨。Nextjoint - 骨头末端的坐标分别最接近手腕和最接近手指尖端的骨头。骨长 - 毫米中的骨头长度。
      • 骨 - 宽 - LEAP运动在其文档中最好地描述了“围绕该骨头的肉质部分的平均宽度”。
      • >骨。左 - 骨头是否在左手(如果不是左手),那么它在右手,似乎没有骨头。
      • 骨。
      • 骨。方向 - 骨骼中的方向向量
      • 基本上,那是很多数据。>
      • 在具有很多数字的演示中的数据
      • >我将一个快速演示放在一起,以显示通过此API流传输多少坐标数据。以下演示显示了每个指指的坐标。刻度,手指,手指,pipposition和Finger.dipposition,以及用于手和手指的基本数据。这也只是可用数据的一小部分!
      • >
      • 演示看起来有点像这样:

      >您可以在这里的Leap Motion在此处尝试一下。

      还有更多!

      > V2 LEAP运动API不仅仅是这些功能,还具有对Oculus VR等VR耳机的支持,还提供了从LEAP Motion中访问实际图像数据的VR头戴设备。可悲的是,这些功能在JavaScript API中尚无可用,但是希望我们在API离开Beta之前很快就会看到它们!

      其他资源

      如果您正在寻找有关这些API入门的更多详细信息,那么最好的去处是Leap Motion Developer网站:

      • > JavaScript SDK文档
      • > Leap Motion JavaScript演示的画廊,请查看源代码以获取一些很好的见解!

      经常询问有关使用JavaScript和Leap Motion的骨骼跟踪的问题

      > Leap Motion如何与JavaScript一起工作以进行骨骼跟踪?>

      >使用JavaScript?

      使用Leap Motion使用JavaScript使用Leap Motion,您需要一个带有USB 2.0端口的计算机,运行Windows 7或更高版本,Mac OS X 10.7或更高版本,或Linux。您还需要LEAP运动软件,其中包括LeapJS库。该软件可以从Leap Motion网站下载。此外,您还需要一个支持WebGL的Web浏览器,例如Chrome,Firefox或Safari。设置Leap Motion与JavaScript一起使用,首先下载并从Leap Motion网站安装LEAP Motion软件。然后,使用USB电缆将LEAP运动控制器连接到您的计算机。 LEAP运动软件将自动检测控制器并开始跟踪。要使用JavaScript使用Leap Motion,请在HTML文件中使用脚本标签中包含LeapJS库。

      >

      >使用Leap Motion和JavaScript?从游戏和虚拟现实体验到教育工具和科学可视化,可用于开发广泛的应用程序。在3D空间中跟踪手动移动的能力为用户交互打开了新的可能性,使用户可以以更自然和直观的方式控制应用程序。

      LEAP运动提供高度准确的骨骼跟踪,精度高达0.01mm。它可以跟踪每个手指和手掌的位置和方向,并检测手势,例如滑动,圆圈和水龙头。 LEAPJS库提供了一个简单而直观的API,用于访问此数据,从而易于将其集成到JavaScript应用程序中。

      >除了JavaScript?

      >是的,Leap Motion可以将LEAP Motion与其他编程语言一起使用,而Leap Motion为几种编程语言提供了SDK,包括C,C#,Java,Python和JavaScript。这使其成为开发人员的多功能工具,使他们能够选择最适合其需求和技能的语言。

      >在Leap Motion和Motion和JavaScript为开发交互式应用程序提供了强大的工具,需要注意一些局限性。 LEAP运动控制器需要清晰的视线,并且可能会受到明亮的光线或反射表面的影响。此外,虽然LeapJS库提供了一个简单而直观的API,但它可能无法提供与其他语言的SDK相同的控制和灵活性。

      >

      >我如何通过Leap Motion和JavaScript和JavaScript解决问题? 🎜>

      如果您在Leap Motion和JavaScript方面遇到了麻烦,则可以采取几个步骤。首先,确保连接LEAP运动控制器并运行LEAP运动软件。如果未检测到控制器,请尝试拔下插头并将其插入。如果您在Leapjs库遇到麻烦,请确保您使用兼容的Web浏览器,并检查JavaScript控制台是否有错误。

      我可以在移动设备上使用JavaScript使用LEAP Motion吗?

      当前,Leap Motion不支持移动设备。 LEAP运动控制器需要USB连接,该连接通常在移动设备上不可用。但是,Leap Motion正在不断发展和改进他们的技术,因此这可能会在将来发生变化。

      >在哪里可以找到有关使用JavaScript使用Leap Motion的更多资源和教程?在线可用于学习如何使用JavaScript使用Leap Motion的资源。 LEAP Motion网站提供了大量信息,包括开发人员指南,API文档和社区论坛。此外,在github和堆栈溢出等网站上都有许多教程和示例。

      >

以上是使用JavaScript和Leap Motion进行骨骼跟踪的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
在JavaScript中替换字符串字符在JavaScript中替换字符串字符Mar 11, 2025 am 12:07 AM

JavaScript字符串替换方法详解及常见问题解答 本文将探讨两种在JavaScript中替换字符串字符的方法:在JavaScript代码内部替换和在网页HTML内部替换。 在JavaScript代码内部替换字符串 最直接的方法是使用replace()方法: str = str.replace("find","replace"); 该方法仅替换第一个匹配项。要替换所有匹配项,需使用正则表达式并添加全局标志g: str = str.replace(/fi

构建您自己的Ajax Web应用程序构建您自己的Ajax Web应用程序Mar 09, 2025 am 12:11 AM

因此,在这里,您准备好了解所有称为Ajax的东西。但是,到底是什么? AJAX一词是指用于创建动态,交互式Web内容的一系列宽松的技术。 Ajax一词,最初由Jesse J创造

如何创建和发布自己的JavaScript库?如何创建和发布自己的JavaScript库?Mar 18, 2025 pm 03:12 PM

文章讨论了创建,发布和维护JavaScript库,专注于计划,开发,测试,文档和促销策略。

如何在浏览器中优化JavaScript代码以进行性能?如何在浏览器中优化JavaScript代码以进行性能?Mar 18, 2025 pm 03:14 PM

本文讨论了在浏览器中优化JavaScript性能的策略,重点是减少执行时间并最大程度地减少对页面负载速度的影响。

如何使用浏览器开发人员工具有效调试JavaScript代码?如何使用浏览器开发人员工具有效调试JavaScript代码?Mar 18, 2025 pm 03:16 PM

本文讨论了使用浏览器开发人员工具的有效JavaScript调试,专注于设置断点,使用控制台和分析性能。

jQuery矩阵效果jQuery矩阵效果Mar 10, 2025 am 12:52 AM

将矩阵电影特效带入你的网页!这是一个基于著名电影《黑客帝国》的酷炫jQuery插件。该插件模拟了电影中经典的绿色字符特效,只需选择一张图片,插件就会将其转换为充满数字字符的矩阵风格画面。快来试试吧,非常有趣! 工作原理 插件将图片加载到画布上,读取像素和颜色值: data = ctx.getImageData(x, y, settings.grainSize, settings.grainSize).data 插件巧妙地读取图片的矩形区域,并利用jQuery计算每个区域的平均颜色。然后,使用

如何构建简单的jQuery滑块如何构建简单的jQuery滑块Mar 11, 2025 am 12:19 AM

本文将引导您使用jQuery库创建一个简单的图片轮播。我们将使用bxSlider库,它基于jQuery构建,并提供许多配置选项来设置轮播。 如今,图片轮播已成为网站必备功能——一图胜千言! 决定使用图片轮播后,下一个问题是如何创建它。首先,您需要收集高质量、高分辨率的图片。 接下来,您需要使用HTML和一些JavaScript代码来创建图片轮播。网络上有很多库可以帮助您以不同的方式创建轮播。我们将使用开源的bxSlider库。 bxSlider库支持响应式设计,因此使用此库构建的轮播可以适应任何

如何使用Angular上传和下载CSV文件如何使用Angular上传和下载CSV文件Mar 10, 2025 am 01:01 AM

数据集对于构建API模型和各种业务流程至关重要。这就是为什么导入和导出CSV是经常需要的功能。在本教程中,您将学习如何在Angular中下载和导入CSV文件

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)