计算机中常用的数学知识

dot:点乘

点乘,也叫向量的内积、数量积。求下来的结果是一个数;

向量a . 向量b = | a | | b | cos<a,b>        //点乘

Cross:叉乘

叉乘,也叫向量的外积、向量积。求下来的结果是一个向量;

| 向量c | = | 向量a x 向量b | = | a || b | sin<a,b>        //叉乘

向量c的方向与a、b所在的平面垂直,且方向要用“右手法则”判断(用右手的四指先表示向量a的方向,然后手指朝着手心的方向摆动到向量b的方向,大拇指所指的方向就是向量c的方向)。

向量的外积不遵守乘法交换律,因为:向量a * 向量b = -向量b * 向量a

例子:

    若向量a=(a1,b1,c1),向量b=(a2,b2,c3),

    向量a . 向量b = a1a2+b1b2+c1c2        //点乘

    向量a x 向量b = |i j k| = (b1c2-b2c1,c1a2-a1c2,a1b2-a2b1)        //叉乘

    (i、j、k分别为空间中相互垂直的三条坐标轴单位向量

Unity3D 点乘和叉乘

    Unity 点乘:    Vector3.Dot;

    Unity 叉乘:    Vector3.Cross;

    假设有a、b向量;

    cos<a , b> 表示a , b组成的余玄值

    | a | 表示向量 a 的长度

    点乘 a . b = | a | | b | cos<a , b>。如果 a , b 都是单位向量,那么点乘表示 a 在 b 上投影的长度。

    所以,可以通过点乘计算 a , b 的夹角。夹角的cos值是m。

    可见 m == 0 表示两个向量垂直。m < 0表示2个向量角度 >90度。 m>0 表示2个向量角度 <90度。

    叉乘 a*b 得到的是一个新的向量 c ,c 垂直于 a 和 b 组成的面。

算法工程师需要具备的计算机知识和数学知识包括: 计算机知识: 1. 数据结构:了解并熟练掌握常见的数据结构,如数组、链表、栈、队列、树、图等,以及它们的特性和应用场景。 2. 算法设计与分析:熟悉常见的算法设计技巧,如贪心算法、动态规划、回溯算法等,并能够分析算法的时间复杂度和空间复杂度。 3. 编程语言和编程能力:熟练掌握至少一种编程语言,如Python、C++、Java等,并具备良好的编码能力,能够将算法转化为可运行的代码。 4. 操作系统:了解操作系统的基本原理和功能,包括进程管理、内存管理、文件系统等,以及操作系统与算法设计的关系。 5. 计算机网络:了解计算机网络的基本概念和协议,包括TCP/IP协议族、HTTP、DNS等,能够进行网络通信和数据传输。 6. 数据库和存储系统:了解常见的数据库系统和存储系统,如关系型数据库、NoSQL数据库、分布式存储系统等,能够进行数据的存储和查询。 7. 软件工程和项目管理:具备软件工程和项目管理的知识,了解软件开发的流程和规范,能够进行团队协作和项目管理。 数学知识: 1. 概率论与统计学:了解概率论和统计学的基本概念和方法,包括概率分布、假设检验、回归分析等,能够应用于数据分析和模型评估。 2. 线性代数:掌握线性代数的基本概念和方法,如矩阵运算、特征值与特征向量、线性方程组求解等,能够理解和分析线性代数在算法的应用。 3. 数值计算:了解数值计算的基本原理和方法,包括插值、数值积分、数值微分、数值解常微分方程等,能够应用于数值分析和优化算法。 4. 离散数学:了解离散数学的基本概念和方法,如图论、组合数学、离散优化等,能够应用于算法设计和分析。 以上是算法工程师需要具备的一些计算机知识和数学知识。这些知识将帮助算法工程师更好地理解、设计和实现高效的算法,并解决实际问题。同时,不断学习和保持对新技术和数学方法的敏感性也是非常重要的。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值