算法代码小片段

    /*
     *  求两点夹角
     */
    public static float GetAngleTwoPoint(float px1, float py1, float px2, float py2)
    {
        float x1 = px2 - px1;
        float y1 = py2 - py1;
        float hypotenuse = Mathf.Sqrt(Mathf.Pow(x1, 2) + Mathf.Pow(y1, 2));
        float cos = x1 / hypotenuse;
        float radian = Mathf.Acos(cos);
        float angle = 180.0f / (Mathf.PI / radian);
        if (y1 < 0)
        {
            angle = -angle;
        }
        else if ((y1 == 0) && (x1 < 0))
        {
            angle = 180.0f;
        }
        return angle;
    }
时间: 2024-12-18 13:53:13

算法代码小片段的相关文章

Android获取各个应用程序的缓存文件代码小片段(使用AIDL)

import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.List; import android.app.Activity; import android.content.Intent; import android.content.pm.ApplicationInfo; import android.content.pm.IPackageDataO

JavaScript 代码小片段

获取对象 obj 的所有属性(自有属性和继承属性),保存到数组 lst 中 1 //获取对象obj的所有属性(自有属性和继承属性),保存到数组lst 中 2 var lst = []; 3 function getAllAttrs(obj){ 4 var arr = Object.getOwnPropertyNames(obj); 5 for(r in arr){ 6 lst.push(arr[r]); 7 } 8 if(obj.__proto__ !== null){ 9 obj = obj.

『HTML5实现人工智能』小游戏《井字棋》发布,据说IQ上200才能赢【算法&amp;代码讲解+资源打包下载】

一,什么是TicTacToe(井字棋) 本游戏为在下用lufylegend开发的第二款小游戏.此游戏是大家想必大家小时候都玩过,因为玩它很简单,只需要一张草稿纸和一只笔就能开始游戏,所以广受儿童欢迎.可能我说了半天,对它名字不熟悉的朋友也不懂我在说神马.那没关系,我就引用Wiki(维基百科)的介绍作为大家对它名字的认识,顺便也勾起我们儿时的回忆: 井字棋,大陆.台湾又称为井字游戏.圈圈叉叉:另外也有打井游戏.OX棋的称呼,香港多称井字过三关.过三关,是种纸笔游戏.两个玩家,一个打圈(O),一个打

《神经网络和深度学习》系列文章十六:反向传播算法代码

出处: Michael Nielsen的<Neural Network and Deep Learning>,点击末尾“阅读原文”即可查看英文原文. 本节译者:哈工大SCIR硕士生 李盛秋 声明:如需转载请联系[email protected],未经授权不得转载. 使用神经网络识别手写数字 反向传播算法是如何工作的 热身:一个基于矩阵的快速计算神经网络输出的方法 关于损失函数的两个假设 Hadamard积 反向传播背后的四个基本等式 四个基本等式的证明(选读) 反向传播算法 反向传播算法代码

一套代码小程序&amp;Web&amp;Native运行的探索05——snabbdom

接上文:一套代码小程序&Web&Native运行的探索04——数据更新 对应Git代码地址请见:https://github.com/yexiaochai/wxdemo/tree/master/mvvm 参考: https://github.com/fastCreator/MVVM(极度参考,十分感谢该作者,直接看Vue会比较吃力的,但是看完这个作者的代码便会轻易很多,可惜这个作者没有对应博客说明,不然就爽了) https://www.tangshuang.net/3756.html ht

KMP算法代码实现

//普通的暴力求解法 int ViolentMatch(char* s, char* p)   {       int sLen = strlen(s);       int pLen = strlen(p);          int i = 0;       int j = 0;       while (i < sLen && j < pLen)       {           if (s[i] == p[j])           {               /

常用MD5算法代码

常用的MD5算法代码日期: 2014年8月4日作者: 铁锚 MD5,全称为 Message Digest Algorithm 5(消息摘要算法第五版).详情请参考 维基百科:MD5 MD5加密后是一个字节数组, 但我们一般是取其十六进制的字符串表示法,当然,十六进制数字符串是区分大小写,在 mysql数据库,Java,和JavaScript语言中,一般是使用小写的字符串来表示, 而在 Oracle数据库官方提供的包中,返回的是大写字符串,这算是一个坑,如果你想要执行多次 md5,可能需要转换为小

C++排序算法代码

C++的快排算法代码  #include<iostream> #include<algorithm> #include<iomanip> #include<time.h> #define N 5000 using namespace std; template <class T> void qsort(T *l,T *r) { T *i,*j,*k;   int t;   i=l;j=r-1;k=i+rand()%(r-l);   t=*k;  

java文本相似度计算(Levenshtein Distance算法(中文翻译:编辑距离算法))----代码和详解

算法代码实现: package com.util; public class SimFeatureUtil { private static int min(int one, int two, int three) { int min = one; if (two < min) { min = two; } if (three < min) { min = three; } return min; } public static int ld(String str1, String str2)