首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我正在为我的reversi游戏开发一个极小极大算法(w/ react.js),但它给出了RangeError

在开发Reversi(黑白棋)游戏的极小极大算法时,遇到RangeError通常是由于数组或字符串操作超出了其有效范围。以下是一些可能的原因和解决方法:

基础概念

极小极大算法是一种用于决策和博弈论的递归算法,用于确定最佳移动策略。它通过模拟对手的可能移动并评估每种情况的得分来工作。

可能的原因

  1. 数组越界:在访问数组元素时,索引超出了数组的有效范围。
  2. 递归深度过大:极小极大算法可能会进行非常深的递归调用,导致栈溢出。
  3. 状态表示错误:游戏状态的表示可能存在问题,导致算法在处理时出现错误。

解决方法

1. 检查数组越界

确保在访问数组元素时,索引在有效范围内。可以使用条件语句进行检查:

代码语言:txt
复制
function getBoardValue(board, x, y) {
  if (x >= 0 && x < board.length && y >= 0 && y < board[0].length) {
    return board[x][y];
  }
  return null; // 或者抛出一个自定义错误
}

2. 限制递归深度

可以通过设置一个最大递归深度来防止栈溢出。如果达到最大深度,可以返回一个评估值:

代码语言:txt
复制
function minimax(board, depth, isMaximizingPlayer) {
  if (depth === 0 || isGameOver(board)) {
    return evaluateBoard(board);
  }

  if (isMaximizingPlayer) {
    let maxEval = -Infinity;
    for (let move of getPossibleMoves(board)) {
      let newBoard = makeMove(board, move, 'max');
      let eval = minimax(newBoard, depth - 1, false);
      maxEval = Math.max(maxEval, eval);
    }
    return maxEval;
  } else {
    let minEval = Infinity;
    for (let move of getPossibleMoves(board)) {
      let newBoard = makeMove(board, move, 'min');
      let eval = minimax(newBoard, depth - 1, true);
      minEval = Math.min(minEval, eval);
    }
    return minEval;
  }
}

3. 检查状态表示

确保游戏状态的表示是正确的,并且在每次移动后更新状态:

代码语言:txt
复制
function makeMove(board, move, player) {
  let newBoard = board.map(row => row.slice()); // 复制当前棋盘状态
  // 更新棋盘状态
  newBoard[move.x][move.y] = player;
  // 更新翻转的棋子
  for (let pos of getFlippedPositions(board, move)) {
    newBoard[pos.x][pos.y] = player;
  }
  return newBoard;
}

应用场景

极小极大算法广泛应用于各种棋类游戏和策略游戏中,如国际象棋、围棋、Reversi等。它可以帮助AI玩家做出最优决策。

示例代码

以下是一个简化的极小极大算法示例:

代码语言:txt
复制
function minimax(board, depth, isMaximizingPlayer) {
  if (depth === 0 || isGameOver(board)) {
    return evaluateBoard(board);
  }

  if (isMaximizingPlayer) {
    let maxEval = -Infinity;
    for (let move of getPossibleMoves(board)) {
      let newBoard = makeMove(board, move, 'max');
      let eval = minimax(newBoard, depth - 1, false);
      maxEval = Math.max(maxEval, eval);
    }
    return maxEval;
  } else {
    let minEval = Infinity;
    for (let move of getPossibleMoves(board)) {
      let newBoard = makeMove(board, move, 'min');
      let eval = minimax(newBoard, depth - 1, true);
      minEval = Math.min(minEval, eval);
    }
    return minEval;
  }
}

通过以上方法,可以有效解决RangeError问题,并提高极小极大算法的性能和稳定性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【算法】博弈论(CC++)

博弈论: 在算法竞赛中,博弈论算法也比较容易出现,一般出了博弈论的题目多少是有点难度的。博弈论算法常用于解决涉及对抗、策略选择、最优决策等问题。...极大极小算法与α-β剪枝 极大极小算法常用于棋类博弈(如国际象棋、五子棋等),这种算法通过递归地模拟两名玩家的所有可能行动,并假设对手总是做出最优决策。它用于确定当前玩家的最佳决策。...α-β剪枝: α-β剪枝是极大极小算法的优化版,它通过在搜索博弈树时剪枝,减少不必要的计算。即当发现某个分支不可能提供更优的结果时,立即停止对该分支的进一步探索。...- 需要完整搜索的简单策略问题。 在算法竞赛中,博弈论算法常见的技巧包括Grundy数、极大极小算法、SG函数和动态规划。...每次行动可以在数列的两端之中任选一个数字将其取走,并给自己增加相应数字的分数。(双方的初始分都是 0 分) 当所有数字都被取完时,游戏结束。 分更高的一方获胜。

10610

人工智能当前,棋牌游戏留给人类的堡垒不多了

在开发过程中,查看了一些棋牌游戏相关的资料,在这里分享给大家。 ? 1....DeepBlue 建立在极大极小值搜索 (max-min search) 基础上。...极大极小值搜索在当前局面下展开游戏的树状结构,当前玩家节点选择价值最大的分支(极大), 对手节点选择价值最小的分支(极小), 其流程如下所示。 ?...因为国际象棋复杂度很高,极大极小值搜索不可能搜索到叶子节点。DeepBlue 解决方案是限制搜索深度,超过搜索深度的节点用精心挑选的评估函数计算其价值。...基于这个认知,我个人觉得在未来一段时间牌类游戏依然是一个有意思的点,因此想在上面做一些研究和探索。工欲善其事必先利其器,为了方便自己和他人,我开始开发 RoomAI。

2.2K80
  • 极大极小值算法应用于五子棋

    极大极小值搜索算法 这个问题最基本的解决方法其实就是深度优先算法的另一种形式,这次我们只是搜索到树一定的深度,而不是一直搜索到游戏的结束(即树的底部)。...这给 minimax 带来了额外的复杂性,因为需要一个评估函数 Evaluation Function 来评估这个位置的好坏。...你可能需要根据自己编写的启发式评估函数的输出返回 0.8, -0.25 或者 0.001,而不是根据游戏输赢或者平局来返回 1,-1 或者 0。 我要表达的是什么?...比如: 如果不看玩家的回合,局面看起来完全平局,但知道下一步是 X 开始,很明显 X 可以获胜。我们的评估函数应该反映这一点,并为 X 提供非常高的正积分,类似于第一个位置的分数。...你会注意到此算法和上一篇文章中的深度优先算法很类似。 你可以使用这种极大极小值算法来构建一个相当合理的 AI,但是还有很多需要改进的地方。我们在后面的文章再讲。

    52920

    6 大主流 Web 框架优缺点对比:15篇前端热文回看

    48 个有用的 JavaScript 代码片段,该用户的代码可以让程序员在 30 秒甚至更少的时间内理解这些经常用到的基础算法,来看看这些 JavaScript 代码都传达出了什么吧!...小游戏是小程序的一个类目,它即点即玩,无需下载安装,体验轻便,你可以和微信内的好友一起玩,比如PK、围观等,享受小游戏带来的乐趣。...《一篇真正教会你开发移动端页面的文章(一)》 从我工作以来,开发的一直都是移动端的页面,只有偶尔去开发几个PC端的页面,现在是一个移动端的时代,移动先行已经深入骨髓,作为一个web前端开发,如果你还在为如何开发移动端页面而迷茫...,或者你还在为开发出了一个在你手机上“完美”的移动页面而沾沾自喜却不知移动的世界有多“残酷”的时候,那你应该看看这篇文章了。...请分享给更多人 关注「前端大全」,提升前端技能

    1.2K60

    深度模型中的优化(二)、神经网络优化中的挑战

    我们可以构建没有隐藏单元的小规模神经网络,其局部极小值的代价比全局最小点的代价大很多。如果具有很大代价的局部极小值是常见的,那么这将给基于梯度的优化算法带来极大的问题。...很多随机函数一个惊人性质是,当我们达到代价较低的区域时,Hessian矩阵的特征值为正的可能性更大,和抛硬币类比,这意味着如果我们处于低代价的临界点时,抛硬币正面朝上n次的概率更大。...这类网络的输出是其输入的线性函数,但它们仍然有助于分析非线性神经网络模型,因为它们的损失是关于参数的非凸函数。这类网络本质上是多个矩阵组合在一起。鞍点激增对于训练算法来说有哪些影响呢?...除了极小值和鞍点,还存在其他梯度为零的点。例如从优化的角度看与鞍点很相似的极大值,很多算法不会被吸引到极大值,除了未经修改的牛顿法。和极小值一样,许多种类的随机函数的极大值在高维空间中也是指数级稀少。...未来的研究需要进一步探索影响学习轨迹长度和更好地表征训练过程的结果。许多现有研究方法在求解具有困难全局结构的问题时,旨在寻求良好的初始点,而不是开发非局部范围更新的算法。

    1.6K50

    SVM——支持向量回归(SVR)

    大家好,又见面了,我是你们的朋友全栈君。...y为正的点会预测为正的,y为负的点会预测为负的。...令f(xi) = w·xi+b,我们最终得到SVR的原始问题如下: 2、支持向量回归的对偶问题 先求原始问题的拉格朗日函数,再对拉格朗日函数求极大(对拉格朗日乘子)极小(对模型参数)问题就得到对偶问题...过程如下: 拉格朗日函数: 对拉格朗日函数求极大极小问题: (1)先对拉格朗日函数求极小(对模型参数) 分别令L(w, b, αv, α^ , ξv , ξ^ , μv, μ^ )...所以支持向量回归的原始问题对应的对偶问题如下: 再将对偶问题的目标表达式转换成求极小,就得到最终的对偶问题如下: 对偶问题的求解即求出αiv 和 αi^ 可以用SMO算法,这里不再讲了

    5K30

    ICML 2019 | 强化学习用于推荐系统,蚂蚁金服提出生成对抗用户模型

    解决方案 为了解决上述问题,本文提出了一种新的基于模型的 RL 框架来用于推荐系统,该框架用统一的极小化极大(minimax)框架学习用户行为模型和相关的奖励函数,然后再用这个模型学习 RL 策略。...可以通过联合极小化极大优化算法同时评估这两个组件。...用这一模型作为模拟环境,研究者还开发了级联 DQN 算法来获得组合推荐策略。...用户模型的建立受到了模仿学习的启发,模仿学习是根据专家演示来学习顺序决策策略的强大工具。研究者还制订了统一的极小化极大优化算法,可以根据样本轨迹同时学习用户行为模型和奖励函数。...因此,受 GAN 框架的启发,研究者通过极小化极大方法同时评估了 φ 和 γ。

    95110

    Logistic回归基础篇之梯度上升算法

    比如一个样本属于正样本的概率为0.51,那么我们就可以说明这个样本属于正样本。另一个样本属于正样本的概率为0.99,那么我们也可以说明这个样本属于正样本。但是显然,第二个样本概率更高,更具说服力。...面对我们这个问题,如果使J(θ) := -J(θ),那么问题就从求极大值转换成求极小值了,使用的算法就从梯度上升算法变成了梯度下降算法,它们的思想都是相同的,学会其一,就也会了另一个。...极大值等于f(2)=4 但是真实环境中的函数不会像上面这么简单,就算求出了函数的导数,也很难精确计算出函数的极值。此时我们就可以用迭代的方法来做。就像爬坡一样,一点一点逼近极值。...return -2 * x_old + 4 x_old = -1 #初始值,给一个小于x_new的值 x_new = 0 #梯度上升算法初始值...公式可以这么写: 由上小节可知J(θ)为: sigmoid函数为: 那么,现在我只要求出J(θ)的偏导,就可以利用梯度上升算法,求解J(θ)的极大值了。

    35620

    Logistic回归基础篇之梯度上升算法

    面对我们这个问题,如果使J(θ) := -J(θ),那么问题就从求极大值转换成求极小值了,使用的算法就从梯度上升算法变成了梯度下降算法,它们的思想都是相同的,学会其一,就也会了另一个。...本文使用梯度上升算法进行求解。 2、梯度上升算法 说了半天,梯度上升算法又是啥?J(θ)太复杂,我们先看个简单的求极大值的例子。一个看了就会想到高中生活的函数: ?...极大值等于f(2)=4 但是真实环境中的函数不会像上面这么简单,就算求出了函数的导数,也很难精确计算出函数的极值。此时我们就可以用迭代的方法来做。就像爬坡一样,一点一点逼近极值。...return -2 * x_old + 4 x_old = -1 #初始值,给一个小于x_new的值 x_new = 0 #梯度上升算法初始值...那么,现在我只要求出J(θ)的偏导,就可以利用梯度上升算法,求解J(θ)的极大值了。 那么现在开始求解J(θ)对θ的偏导,求解如下(数学推导): ? ?

    2.6K40

    GANs正在多个层面有所突破

    作者:inFERENce 翻译:余志文 去年我一直在研究如何更好地调整GANs中的不足,但因为之前的研究方向只关注了损失函数,完全忽略了如何寻找极小值问题。...简介:从GAN到矢量场 GANs可以被理解为博弈游戏(一个各不相互合作的双人游戏)。一个玩家控制θ并希望最大化其收益f(θ,φ),另一个控制φ并寻求最大化g(θ,φ)。...当两个玩家都不再会通过改变参数来提高收益的时候游戏就达到了纳什均衡。因此,现在我们必须要设计一个算法来帮助达到这个纳什均衡。...现在的问题是,我们无法控制我们收敛到什么样的固定点。我们要寻求一个正平衡,但是-δL不能区分鞍点(既不是极大值点也不是极小值点的临界点)或平衡,或负平衡或正平衡之间。...希望这篇文章可以给大家带来一个对抗生成网络的满意答案。

    65320

    只需五步!手把手教你搭建国际象棋AI机器人

    作者Lauri Hartikka提到:“我已经无法战胜我创造出来的象棋机器人。我觉得导致这个结果的原因不是因为我下棋技术太烂,就是算法已经足够优秀。”...图3:借助简单的评估功能,双方进行游戏 步骤3:使用Minimax搜索树 接下来,我们要利用Minimax(极大极小)搜索树算法,它可以从多种选择中确定最佳方法。...通过加入极大极小算法,我们的算法了解象棋的基本策略。 评估极大极小算法的有效性,在很大程度上取决于计算性能可以实现的搜索深度。我们接下来的工作是通过优化算法来加大搜索深度。...步骤4:α-β剪枝搜索 α-β剪枝搜索是极小极大算法的一种优化方法,允许我们忽略搜索树中的一些分支,这有助于我们在使用相同的计算资源时更深入地评估极大极小搜索树。...图9:加上评估方法和α-β剪枝优化的极大极小算法表现,设置搜索深度为3。 结论 对于一个简单的象棋机器人,它的优点是不会产生愚蠢的错误操作。但是它仍然缺乏对象棋的战略性理解。

    2.3K60

    五子棋AI进阶:极大极小值搜索

    前言 上篇文章,介绍了一下五子棋 AI 的入门实现,学完之后能用,就是 AI 还太年轻,只能思考一步棋。 本文将介绍一种提高 AI 思考能力的算法:极大极小值算法。...Minimax算法 又名极小化极大算法,是一种找出失败的最大可能性中的最小值的算法(即最小化对手的最大得益)。通常以递归形式来实现。 Minimax算法常用于棋类等由两方较量的游戏和程序。...该算法是一个零总和算法,即一方要在可选的选项中选择将其优势最大化的选择,另一方则选择令对手优势最小化的一个,其输赢的总和为0(有点像能量守恒,就像本身两个玩家都有1点,最后输家要将他的1点给赢家,但整体上还是总共有...—— 百度百科 极大极小值搜索算法 算法实现原理 对于五子棋游戏来说,如果 AI 执黑子先下,那么第一步 AI 共有 225 种落子方式,AI 落子到一个点后,表示 AI 回合结束,换到对手(白子)...,这个数字是特别庞大的,数字10后边要加432个0!!!这程序运行起来,电脑还要不要了? 所以,我们只考虑2步棋或4步棋的情况。 如图所示,我只列举出了走4步棋所形成的部分情况。

    1.3K20

    使用 Min-Max 搜索和启发式评估函数实现五子棋 AI

    然后我在满意的地方落子。 初学者可能只能看一、两个轮次,而高手可以看几个甚至十几个轮次。 极大极小搜索策略,就是模拟人的这样一种思维过程。...算法描述 极大极小搜索策略 这个搜索策略是考虑双方对弈若干步以后,从可能的走法中找到一个相对较好的来落子,即在有限的搜索深度范围内进行求解。...前面的代码都是分别用两部分代码处理了极大节点和极小节点两种情况,其实,可以只用一部分代码,既处理极大节点也处理极小节点。...一般的,在极大极小搜索中,这个评估函数可以根据势态优劣特征来定义(主要用于对端结点的“价值”进行度量),有利于程序方的势态, 为正,有利于用户方的势态, 为负,势均力敌的情况, 为 ,并且,若...简单考虑,如果我在长度为9的这个字符串中找到了“111”,我就给10分,而找到了“1111”我就给20分,那么对于每个点构建的4个长度为9的字符串,我都可以通过计分的方法来给每个点一个分数。

    2.6K80

    我是如何使用ChatGPT和CoPilot作为编码助手的

    尽管我们使用 Figma 制作了原型,但是要将其嵌入到你的页面设计中,依然需要一些技巧。我主要从事后端开发,因此编写 CSS 来处理网格、移动适配性和间距对我来说有些困难。...Copilot 为这个类添加了 CSS,它基于一些实际测量做出了预测,我稍后可以对其进行调整,但它已经解决了我在选择使用哪些 CSS 样式上的疑惑。...Co-pilot 的代码编写:识别并运用重复模式 我正在为我的测试环境编写一个跨多个数据库表进行操作的数据删除脚本。这些表都有时间戳列,但名称各不相同。...通过描述需求使用 ChatGPT 生成整个 React.js 组件,只需进行少量变量调整 我在使用名为 react-flow 的 React.js 库时,想要定制部分组件替换库中的原有部分。...于是,我向 ChatGPT 提出了问题: 如何在 react-flow 中创建自定义边,这条边是粗大的紫色线条,并且末端有一个大箭头 以下是我收到的答复: import React from 'react

    57430

    机器学习和深度学习中值得弄清楚的一些问题

    SIGAI-AI学习交流群的目标是为学习者提供一个AI技术交流与分享的平台。 导言 SIGAI飞跃计划第一期已经进行4周了,在这4周的学习中,同学们提出了不少好问题。...除非特征向量维数不高、特征分量之间存在严重的相关性我们才用正态贝叶斯,如果特征向量是n维的,正态贝叶斯在训练时需要计算n阶矩阵的逆矩阵和行列式,这非常耗时。...如果向量w是最优解,则将其乘以不为0的系数k之后,向量kw仍然是最优解,证明如下: ? 从几何上看,w可kw这两个向量表示的是一个方向,如果w是最佳投影方向,则kw还是这个方向: ?...问题10 卷积神经网络中的w到底是怎么更新的,我知道利用梯度下降法和误差函数可以更新w值,但是对具体更新的过程还不是很理解。...无法表达斜率为正无穷的情况-垂直的直线。直线方程两边同乘以一个不为0的数,还是同一条直线。 ? 问题16 神经网络的正则化项和动量项的比较。 正则化项的作用:缓解过拟合,迫使参数尽可能小。

    46610

    对弈人工智能!myCobot 280开源六轴机械臂Connect 4 四子棋对弈

    今天我将要介绍一款AI机械臂下棋是如何来实现的。Connect 4 Connect4是今天要介绍的一种策略棋类游戏,也被称为是四子棋。...对弈算法首先,我们得解决一个最关键的问题,就是应该用什么算法来进行对弈。换句话说就是给机械臂提供一个能够进行思考的大脑。...我们将为你简单介绍几种常见的对弈算法:极小化极大算法:这是一种经典的博弈算法,适用于两人对弈的游戏。它通过递归地模拟对手和自己的行动,评估每个可能的走法的得分,并选择具有最优得分的行动。...极小化极大算法可以通过搜索棋局的树状结构来找到最佳的下棋策略。该算法是一个零总和算法,即一方要在可选的选项中选择将其优势最大化的选择,另一方则选择令对手优势最小化的方法。而开始的时候总和为0。...根据计算机运算量,我们可能只能往前推7,8步,所以这个时候分数就不只-1,1,0这么简单了,会有专门的算法来根据当前结果给不同的分数。Alpha-Beta剪枝算法:这是对极小化极大算法的优化。

    47020

    Python3《机器学习实战》学习笔记(六):Logistic回归基础篇之梯度上升算法

    比如一个样本属于正样本的概率为0.51,那么我们就可以说明这个样本属于正样本。另一个样本属于正样本的概率为0.99,那么我们也可以说明这个样本属于正样本。但是显然,第二个样本概率更高,更具说服力。...面对我们这个问题,如果使J(θ) := -J(θ),那么问题就从求极大值转换成求极小值了,使用的算法就从梯度上升算法变成了梯度下降算法,它们的思想都是相同的,学会其一,就也会了另一个。...本文使用梯度上升算法进行求解。 2 梯度上升算法 说了半天,梯度上升算法又是啥?J(θ)太复杂,我们先看个简单的求极大值的例子。一个看了就会想到高中生活的函数: ? 来吧,做高中题。...极大值等于f(2)=4 但是真实环境中的函数不会像上面这么简单,就算求出了函数的导数,也很难精确计算出函数的极值。此时我们就可以用迭代的方法来做。就像爬坡一样,一点一点逼近极值。...那么,现在我只要求出J(θ)的偏导,就可以利用梯度上升算法,求解J(θ)的极大值了。 那么现在开始求解J(θ)对θ的偏导,求解如下(数学推导): ? 其中: ? 再由: ? 可得: ?

    71210

    IJCAI2016论文前瞻 | 从吃豆人到星际争霸,人工智能在一些游戏上已经玩得和人类玩家一样好了

    引言与背景 当开发一个算法用来玩游戏时,目标通常是让它玩得尽量好。对于许多游戏来说,成功有一个合适且明确的数字标准。...结果表明,想要创造一个类人类的电脑玩家比创造一个能赢比赛或者拿高分的电脑玩家要难。 另外一个就是这些竞赛以及相关研究提出了一系列初步的计算机游戏算法异于人类玩家不的表现。...4.提出的MCTS修改方案 蒙特卡洛树搜索(MCTS)是一个随机树搜索算法,它被广泛应用于一般游戏以及特定玩法的游戏如Go:在适用的情况下,它逐渐接近和极大极小值算法一样的结果。...GVG-AI想出了一个标准MCTS实现方法作为其中一个AI代理,这使它变成了支持视频游戏,而不是支持MCTS通常被用于的典型的组合游戏。...4.4极大极小值 极大极小值是Jacobsen等人提出的,其中的几个技术被用于提高MCTS运行无限Mario Bros的性能,极大极小值通常被建议为Mario中克服懦弱行为的方法——角色会不自觉的避开间隙和敌人

    1K100

    大话逻辑回归

    如果只能学习一个算法的话,我选择逻辑回归。 讲个笑话,逻辑回归既不讲逻辑,也不是回归。 本文目的是以大白话的方式介绍逻辑回归。我们先简要以公式的方式回顾什么是逻辑回归,如何训练。...逻辑回归的数学描述 什么是逻辑回归 逻辑回归,是个二分类算法,即给定一个输入,输出true/false判断是否属于某个类别,同时还能给出属于这个类别的概率。...这句话,不说人话,就是极大似然估计。 如何进行极大似然估计呢?极大似然估计,顾名思义,就是先有个似然,然后让它取最大值。说人话: 给定X,经过模型W得到Y的概率,这个概率要最大化。...先h(x)估算出了一个概率,和目标值相差y-h(x)。如果目标值y是1,则y-h(x)是正的,否则是负的。 当y是1时, 如果x是正的,(y-h(x))x就是正的,意思就是说w要加大一点。...训练时, 若模型给一个高收入的人低信用分,说明模型有错误。wx较低而x已经很高,所以,要加大w。 若模型给一个低收入的人高信用分,说明模型有错误。wx较高而x已经很低,所以,要减少w。

    99810

    ZVR郭伟:光学动捕是提升VR沉浸感的最佳方式,但它需要创新 | 镁客请讲

    “我比较喜欢研究算法,也喜欢看电影和玩主机游戏。”ZVR创始人&CEO郭伟的开场白很是别致。...和此前的所有影视、游戏不同,VR带给体验者的视听感受与沉浸感是前所未有的。 “做VR之前,我一直在通讯和游戏行业从事偏算法类的工作。...这个时候,我遇到了VR,它让我看到了更加精彩的游戏世界。我认为我的事业交替期出现了,也就是在这一年,我创立了ZVR。”...“可以看到,视觉、感知和交互是增强游戏沉浸感的制胜法宝,对于提升娱乐体验的促进作用是极大的,它们可以将娱乐带到一个新的高度,给用户带去有真实感的虚拟体验。...专注于基础设施的研发与推广 ZVR用产品与技术说话 目前,ZVR正专注于基础设施的研发与推广,主要产品有三款:红外光学动捕系统悟空、VR开发中间件临境空间™和可提供六自由度交互的VR载具天蝎座。

    43700
    领券