斜45度寻路实现函数

没事写个寻路的,很简单


代码如下:

function xy45(x1, y1) {//直角坐标转斜45度
var x0 =0;
var y0 =0;
var s=-Math.PI/4;
var o={};
o.x = int((x0+x1*Math.cos(s)+y1*Math.sin(s)))+dx;
o.y =-int((y0+x1*Math.sin(s)-y1*Math.cos(s)))/2+dy;
return o;
}
function rot45(x1, y1) {//斜45度转直角坐标
var x0 =0;
var y0 =0;
x1-=dx
y1-=dy
y1*=-2;
var s=-Math.PI/4;
var o={};
o.x = int((x0+x1*Math.cos(s)+y1*Math.sin(s))/dw);
o.y = int((y0+x1*Math.sin(s)-y1*Math.cos(s))/dw);
return o;
}

随便给个图,8方向,可改4方向

(0)

相关推荐

  • 斜45度寻路实现函数

    没事写个寻路的,很简单 复制代码 代码如下: function xy45(x1, y1) {//直角坐标转斜45度 var x0 =0; var y0 =0; var s=-Math.PI/4; var o={}; o.x = int((x0+x1*Math.cos(s)+y1*Math.sin(s)))+dx; o.y =-int((y0+x1*Math.sin(s)-y1*Math.cos(s)))/2+dy; return o; } function rot45(x1, y1) {//斜4

  • js绘制一条直线并旋转45度

    本文实例为大家分享了js绘制一条直线并旋转45度的具体代码,供大家参考,具体内容如下 绘制一条直线,并旋转45度 html 页面 <canvas id="canvas" width="300" height="300" style="background-color: orange;"></canvas> js页面 <script> var canvas = document.getElem

  • C++瓦片地图坐标转换的实现详解

    目录 一.前言 二.定义 三.矩形瓦片 四.菱形瓦片 1.斜菱形瓦片 2.正菱形瓦片 五.点在菱形内判断 一.前言 严格来说,瓦片的角度并不是45度.因为为了美术作图方便,图片的宽高比一般为2:1,如下图所示,它的实际角度为arctan(1/2),不过这个数值对我们不重要.正如鱼香肉丝没有鱼一般,叫它45度瓦片也无妨,由于它是一个菱形,所以这里我们称它为菱形瓦片. 宽高比为2:1的菱形瓦片 或许有人认为任意角度的瓦片都是可以的,其实不然,因为我们要考虑线条锯齿的画法,如果采用非整数比,则线条不是

  • PHP中计算字符串相似度的函数代码

    similar_text - 计算两个字符串的相似度 int similar_text ( string $first , string $second [, float &$percent ] ) $first 必需.规定要比较的第一个字符串. $second 必需.规定要比较的第二个字符串. $percent 可选.规定供存储百分比相似度的变量名. 两个字符串的相似程度计算依据 Oliver [1993] 的描述进行.注意该实现没有使用 Oliver 虚拟码中的堆栈,但是却进行了递归调用,这

  • python opencv鼠标画点之cv2.drawMarker()函数

    目录 前言 cv2.drawMarker()函数说明 参数说明 利用鼠标回调函数交互式画点 例1,简单的例子 例2,删除功能 总结 前言 这里所谓画点的意思是指在单一像素点上画一个标记符,而不是画小圆点.使用的函数是cv2.drawMarker(img, position, color, ...) 关于鼠标回调函数的说明可以参考:opencv-python的鼠标交互操作 cv2.drawMarker()函数说明 参数说明 导入cv2后,通过help(cv2.drawMarker)可以看到函数的帮

  • java中的数学计算函数的总结

    java中的数学计算函数 Math类: java.lang.Math类中包含基本的数字操作,如指数.对数.平方根和三角函数. java.math是一个包,提供用于执行任意精度整数(BigInteger)算法和任意精度小数(BigDecimal)算法的类. java.lang.Math类中包含E和PI两个静态常量,以及进行科学计算的类(static)方法,可以直接通过类名调用. public static final Double E = 2.7182818284590452354 public

  • Opencv2.4.9函数HoughLinesP分析

    标准霍夫变换本质上是把图像映射到它的参数空间上,它需要计算所有的M个边缘点,这样它的运算量和所需内存空间都会很大.如果在输入图像中只是处理m(m<M)个边缘点,则这m个边缘点的选取是具有一定概率性的,因此该方法被称为概率霍夫变换(Probabilistic Hough Transform).该方法还有一个重要的特点就是能够检测出线端,即能够检测出图像中直线的两个端点,确切地定位图像中的直线. HoughLinesP函数就是利用概率霍夫变换来检测直线的.它的一般步骤为: 1.随机抽取图像中的一个特

  • 手把手教你拿捏vue cale()计算函数使用

    目录 前言 cale()是什么 基本使用 灵活使用 注意 兼容性 结尾 前言 最近项目中遇到calc()方法不生效问题,本着究其所以然的想法,彻底查了一下calc的方法及使用,还有为什么项目中使用不生效的问题,最后总结出此文,解决方法放在结尾了 cale()是什么 calc是英文单词calculate的缩写,其实主要用于对项目中一些单位的计算,这里的计算是在calc()函数里面填充表达式去计算,它会返回具体的值 基本使用 平常我们项目中遇到最多的就是一些普通计算了比如: <body> <

  • 与MSSQL对比学习MYSQL的心得(六)--函数

    数学函数 1.求余函数MOD(X,Y) MOD(X,Y)返回x被y除后的余数,MOD()对于带有小数部分的数值也起作用,他返回除法运算后的精确余数 SELECT MOD(31,8) 2.四舍五入函数TRUNCATE(X,Y) TRUNCATE(X,Y)返回被舍去至小数点后y位的数字x.若y的值为0,则结果不带有小数点或不带有小数部分. 若y设为负数,则截去(归零)x小数点左边起第y位开始后面所有低位的值. SELECT TRUNCATE(1.32,1) TRUNCATE(1.32,1)保留小数点

  • 使用PHP similar text计算两个字符串相似度

    在网站开发中,我们经常使用php similar text 计算两个字符串相似度; 1,similar_text的用法 如果我想计算"ly89cn"和"ly89"的相似程度,有两种表示方法 复制代码 代码如下: echo similar_text('ly89cn', 'ly89'); 这样输出4,因为他们有4个字符相等 复制代码 代码如下: similar_text('ly89cn', 'ly89', $percent); echo $percent; 这样输出80

随机推荐