3D JPS「建议收藏」

3D JPS「建议收藏」3DJPS0.引言1.图解NeighborPruning&ForcedNeighbors0.引言记录一下,不然久了根本不知道这个图咋看。1.图解NeighborPruning&ForcedNeighborscase3中,方向为正方体对角线。 //nszcontainsthenumberofneighborsforthefourdi…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

0.引言

记录一下,不然久了可能就看不懂了。

1.图解Neighbor Pruning & Forced Neighbors

Alt
case3中,方向为正方体对角线。

Alt

	// nsz contains the number of neighbors for the four different types of moves:
	// no move (norm 0): 26 neighbors always added
	// 0 forced neighbors to check (never happens)
	// 0 neighbors to add if forced (never happens)
	// straight (norm 1): 1 neighbor always added
	// 8 forced neighbors to check
	// 8 neighbors to add if forced
	// diagonal (norm sqrt(2)): 3 neighbors always added
	// 8 forced neighbors to check
	// 12 neighbors to add if forced
	// diagonal (norm sqrt(3)): 7 neighbors always added
	// 6 forced neighbors to check
	// 12 neighbors to add if forced
	static constexpr int nsz[4][2] = { 
   { 
   26, 0}, { 
   1, 8}, { 
   3, 12}, { 
   7, 12}};

straight (norm 1): 即是case1,对垂直与屏幕的平面,从当前节点检测周围8个点是不是障碍物,如果是,则下一平面的8个点即为forced neighbors,将8个均加入openset,疑问:为什么不是将下一平面的9个点均加入?哦:1 neighbor always added。

diagonal (norm sqrt(3)): 即是case3,从小正方体看,”7 neighbors always added”容易理解(7个natural neighbors),从底层图看,图中没画完全,再考虑障碍物对称情况,可能会有6个forced neighbors。“12 neighbors to add if forced”是最多12个neighbors加入openset,而不是13个。

diagonal (norm sqrt(2)): 即是case2,先看case3,再看case2其实更好理解,case2的顶层类似于case3的底层,于是有6个可能的forced neighbors,然后再看中间层的情况,同样是只画了一部分(画全了更不好理解了),对称性加上去就可以看出有2个可能的forced neighbors,故,case2一共有8个可能的forced neighbors。方向只在中间层,“3 neighbors always added”很好理解。疑问:为什么是“12 neighbors to add if forced”而不是11?

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/191360.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 解惑3:时间频度,算法时间复杂度[通俗易懂]

    解惑3:时间频度,算法时间复杂度[通俗易懂]一、概述先放百科上的说法:算法的时间复杂度(Timecomplexity)是一个函数,它定性描述该算法的运行时间。这是一个代表算法输入值的字符串的长度的函数。时间复杂度常用大O符号表述,不包括

    2022年8月16日
  • Burpsuite 抓包

    Burpsuite 抓包打开火狐设置代理1、在火狐“常规”里设置手动代理,在http代理输入:127.0.0.1端口80802、输入用户和密码–>打开抓包模块–>点击登录3、抓包成功:可以在Burpsuite里查看请求包里的用户和密码4、改包:我们可以在Burpsuite里修改这两个数据为任意内容,然后放走。请求包就会带着我们修改后的数据到达服务器5、放包:一直forwoard放走,直到网页返回响应的内容。因为后台可能不止开了一个窗口的原因,所以也会抓到其…

    2022年6月2日
  • 六:面向对象(上)

    六:面向对象(上)跳转到总目录文章目录01、面向过程与面向对象02、类和对象2.1、Java类及类的成员2.2、类与对象的创建及使用2.3、对象的创建和使用:内存解析03、类的成员之一:属性04、类的成员之二:方法4.1、类中方法的声明和使用4.2、理解“万事万物皆对象”4.3、对象数组的内存解析4.4、匿名对象的使用4.5、自定义数组的工具类4.6、方法的重载(overload)4.7、可变个数的形参4.8、方法参数的值传递机制(重点!!!)4.8.1、**针对基本数据类型**4.8.2、**针对引用数据类型**4

    2022年7月24日
  • eXtremeComponents安装配置

    eXtremeComponents安装配置eXtremeComponents直接下载地址http://sourceforge.net/projects/extremecomp/中文文档:http://lanxin1985.javaeye.

    2022年7月2日
  • hbase 单机安装部署

    hbase 单机安装部署hbase 单机安装部署

    2022年4月23日
  • IDEA中MAVEN项目如何打包JAR包「建议收藏」

    IDEA中MAVEN项目如何打包JAR包「建议收藏」这篇文章主要为大家展示了“IDEA中MAVEN项目如何打包JAR包”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“IDEA中MAVEN项目如何打包JAR包”这篇文章吧。Idea中为一般的非Web项目打Jar包是有自己的方法的,网上一搜就能查到很多。但是如果是为Maven项目打Jar包,其实是很简单的,因为maven本身就有打Jar包的命令。最简单的方法首先是在maven项目的pom.xml中添加打包的插件,这里有很多种方式的。最最简单的就是只使用m

    2022年6月22日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号