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

【愚公系列】2023年08月 3D数学-点积

前言 点积,也叫内积,是向量运算中的一种。...点积的值可以告诉我们两个向量的夹角的大小和它们在同一个方向上的程度。如果两个向量的点积为 0 ,则它们是正交的(即,它们垂直于彼此)。点积还可以用来计算向量的模长和计算两个向量之间的距离。...当两个向量A和B夹角小于180度时,它们的点积为正;而当它们夹角大于180度时,点积为负,因此可以通过点积的正负来判断向量的方向。...在计算机图形学中,点积还常用于计算颜色、光照、阴影等效果。 3.案例 以下是几个点积的相关案例: 计算工作: 假设有一个力F和一个位移向量d,它们的点积可以用来计算力沿着位移向量的功(即工作)。...这些案例展示了点积的实际应用。 二、点积函数封装 点积函数是指对两个向量进行内积运算,输出一个标量。

9910
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    数组知识点(详解)

    数组 数组的概念 数组:一组相同类型的元素集合。其中数组分为一维和多维,二维及二维以上都属于多维。...相同类型:指的是都是同一种数据类型 集合:可以存放一个至多个元素 数组下标 数组的下标都是由0开始的; int a[10]表示该数组有10个元素; 因为数组的下标是由0开始的,所以这10个元素的下标表示是从...a[0]~a[9],不存在a[10] 数组的类型 数组也是有类型的,他算是一种自定义类型; 数组的类型就是去掉其数组名得到其数组类型。...例:int arr[10] arr 是他的数组名; 该数组的类型就是去掉其数组名也就是arr得到其数组类型; int [10] 就是他的数组类型; int 是该数组元素的类型。...以及数组名就是数组的首地址 不要忘记加上取值符& 一维数组 一维数组定义方式 类型符 数组名[常量表达式]; int a[10] 其中10代表数组的大小; a[2+1],a[2*3],a[5/2

    22310

    数组知识点总结

    数组的基本知识  注意:数组类型是int[常量],数组元素类型才是int c99标准之前数组的大小只能是常量指定,不能使用变量 c99之后为什么就使用变量呢?...---变长数组 变长数组:数组大小可以根据输入的变量决定其大小的数组--如下 int n; scanf("%d",&n);  int array[n]; //%p-打印地址 #include数组作为数组元素 ,二维数组的每一个元素是一维数组  二维数组的创建: 语法: type arr_name[常量1][常量2]; eg: int arr[3][5];---表示的是三行五列...int类型的二维数组,arr是数组名可以自己取 如何进行初始化: 元素按照行的个数进行排放,若有多则换行,若初始化不完全则会补0 如何按照行进行初始化: 因为二维数组的元素是一维数组所以只需要给里面元素加一个.... arr[0],arr[1],arr[2]可以看成是二维数组的数组名

    14210

    线性代数的本质课程笔记(中)-点积和叉积

    1、点积 视频地址:https://www.bilibili.com/video/av6299284?...from=search&seid=12903800853888635103 点积的标准观点 如果我们有两个维数相同的向量,他们的点积就是对应位置的数相乘,然后再相加: 从投影的角度看,要求两个向量v和w...的点积,可以将向量w朝着过原点的向量v所在的直线进行投影,然后将w投影后的长度乘上向量v的长度(注意两个向量的的夹角)。...当两个向量的夹角小于90度时,点积后结果为正,如果两个向量垂直,点积结果为0,如果两个向量夹角大于90度,点积结果为负。 一个有趣的发现是,你把w投影到v上面,或者把v投影到w上面,结果是相同的。...,y,z)求点积的结果,等于对应的三维方阵行列式的值(即(x,y,z)和向量u、v所组成的平行六面体的有向体积)。

    1.7K20

    c语言 ‘‘数组’’ 知识点

    一维数组的创建和初始化 数组的创建 数组是一堆相同类型元素的集合 数组长度要求是常数值 但是在C99标准之前 数组的大小是必须是常量或者是常量表达式 但在C99之后 数组的大小可以是变量 是为了支持变长数组...eg 所以这玩意不能初始化 2.数组的初始化 再次创建数组的同时给值 这两种写法效果相同,但是本质不同 上面只是放入了3个 下面的多一个\0 还有这种方法 3.一维数组的使用方法 下标引用操作符...求个数 总结,数组是有下标来访问的,第一个下表是0 数组的计算是可以通过计算得到的 4.一维数组在内存中的存储 这个地址是16进制的 而且每个地址差四 二维函数的创建和初始化 二位函数的创建...结果是 而且一维数组和二维数组都会越界 反正不要越界 数组作为函数参数 比如排序数组内数字 数组名可以认为是数组首元素的地址 还有指针式 二维数组的指的是 它所对应的行的地址 直接增加了16 第一行的数组大小...算出的是行数 算出的是列数 然后是 &arr 如果arr是二维数组 那么取得就是整个二维数组的地址

    9710

    机器学习数学基础:点积和欧几里得空间

    这里特别提醒读者注意,有的资料把“点积”与“内积”混用,认为是一个对象的不同名称。经过以上阐述,应该明确,点积是内积的一种具体形式,只不过根据这个定义,得到了最常见的内积空间——欧几里得空间。...很多关于向量运算的资料,在说明点积的同时,会提到另外一种名为叉积的向量运算,对此在1.2.1节已经介绍过。从本节的角度来看,叉积并不能定义内积空间,请读者不要混淆。...手工计算向量的点积,可以依据(1.4.3)式完成,我们在这里不对此做重点介绍,因为这是诸多线性代数教材中都少不了的。下面要演示的是如何用程序实现点积计算。...np.inner(a, b) # 输出 26 对于一维数组而言,np.inner和np.dot的计算结果一样。但是,对于非一维数组,则不同。...: 显然,np.dot()所进行的点积计算与矩阵乘法一致(参阅2.1.5节)。

    74020

    使用PHP实现数组的笛卡尔积来处理商品规格

    将多个规格的id合并存在一个字段中,按照从小到大的顺序来排列,使用逗号分隔 想了一下递归的实现,还是决定用笛卡尔积的方法来操作 什么是笛卡尔积呢?...笛卡尔乘积是指在数学中,两个集合X和Y的笛卡尓积(Cartesian product),又称直积,表示为X × Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员 下来就来处理商品规格的数据...,每个商品有多少规格是不确定的,先定义一个数组 $arr = array( array('goods_spec_id' => 91, 'spec_id' => 1, 'spec_title' =...addr_title' => 'R083', 'goods_id' => 128), ); 防止规格表的goods_spec_id排序没有顺序,所以我们定义一个方法来处理它,按照从小到大来排列,同时使用笛卡尔积去处理数组...原创文章采用CC BY-NC-SA 4.0协议进行许可,转载请注明:转载自:使用PHP实现数组的笛卡尔积来处理商品规格

    1.6K20

    关于指针数组与数组指针详解(知识点全面)

    1.指针数组 如果一个数组中的所有元素保存的都是指针,那么我们就称它为指针数组。...其一般形式为: 数据类型    *数组名[常量表达式][常量表达式]...... ; 它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身的大小决定,每个元素都是一个指针。  ...2.数组指针 注:因为数组指针对于一维数组的使用比较尴尬,对于一维数组,建议使用指针数组比较方便,这里只涉及到关于二维数组与数组指针的知识!!!...数组 a 为 int 类型,每个元素占用 4 个字节,整个数组共占用 4×(3×4) = 48 个字节。 C语言允许把一个二维数组分解成多个一维数组来处理。...注意是一行数据,是多个数据,不是第 1 行中的第 0 个元素,下面的运行结果有力地证明了这一点: #include int main(){ int a[3][4] = { {

    36520

    【深度学习实验】注意力机制(四):点积注意力与缩放点积注意力之比较

    文中介绍了几种常用的打分函数,包括加性模型、点积模型、缩放点积模型和双线性模型。这些模型通过可学习的参数来调整注意力的计算。...打分函数——点积注意力与缩放点积注意力 点积模型: \mathbf{s}(\mathbf{x}, \mathbf{q}) = \mathbf{x}^T \mathbf{q} 缩放点积模型: \mathbf...点积注意力模型 class DotProductAttention2(nn.Module): """点积注意力""" def __init__(self, dropout, **kwargs...:通过张量乘法计算 queries 和 keys 的点积。...模型比较与选择 缩放点积注意力模型: 适用于处理高维度的查询和键。 通过缩放操作有助于防止点积得分的方差过大。 点积注意力模型: 适用于处理相对较低维度的查询和键。

    82010
    领券