前言

上周我们数学老师给了我们一道题,大意就是两个向量a和b,一个点M=$x*a+y*b$,x,y有范围,然后所有M组成的面积是一个定值,求x+y的最小值。当然这是道小水题,但我在想,如果把两个向量变成多个向量,二维变成高维的话,那会怎么样呢。

分析

众所周知,两个二维向量可围成平行四边形。如果再多一个就相当于将该平行四边形沿该向量平移,如下图,总面积就相当于如图蓝色框出的面积(即平移时扫过的体积)。

它可以分解成下图三个平行四边形

所以$S=a \times b +a \times c +b \times c$(注意这里为了方便向量不标箭头)

如果再加一个向量,就相当于将该图形整体平移

易得:对于m个二维向量,围成的面积

$$S=\sum_{a,b是1到m的一个组合} a \times b$$

进一步,将二维扩展为三维,对于三个三维向量围成的平行四边形体,此时再加一个向量,就相当于将该几何体平移,求整个几何体扫过的体积。

经过我画图验证可得总体积

$$V=\sum_{a,b,c是1到m的一个组合} (a \times b) \cdot c$$

更进一步,扩展到n维,此时它的体积(我也不知道高维下的空间大小叫什么,就先沿用体积好了)就难以用点积和叉积表示了,我们用$f(a_1,a_2,...,a_n)$表示n个n维向量围成的体积,则:

$$V=\sum_{i,j,k,...是1到m的一个组合} f(a_i,a_j,a_k,...)$$

$f(a_i)$可以用行列式来求解,即:

设m个n维向量分别表示为$v_i=(a_{i,1},...,a_{i,n})$

$f(a_1,a_2,...,a_n)=$

\left[

\begin{array}{cccc}
a_{1,1}  & ... & a_{1,n} \\
...  & ...   & ...\\
a_{n,1}  & ... & a_{n,n}
\end{array}

\right]

如此一来,我们就得到了多个n维向量围成的n维体积的大小的计算公式

多个n维向量围成的n维体积的大小的更多相关文章

  1. [LeetCode] Flatten 2D Vector 压平二维向量

    Implement an iterator to flatten a 2d vector. For example,Given 2d vector = [ [1,2], [3], [4,5,6] ] ...

  2. 【Unity3D】计算二维向量夹角(-180到180)

    在Unity3D中,有时候我们需要计算二维向量的夹角.二维向量夹角一般在0~180度之前,可以直接调用Vector2.Angle(Vector2 from, Vector2 to)来计算. 但是在有些 ...

  3. Agent J(求三个圆围成的区域面积)

    A - A Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu Submit Status P ...

  4. Python中如何将二维列表转换成一维列表

    已知:a = [(4,2,3), (5, 9, 1), (7,8,9)]希望将二维列表转换成一维列表:["4,2,3", "5, 9, 1", "7, ...

  5. [Swift]LeetCode251.展平二维向量 $ Flatten 2D Vector

    Implement an iterator to flatten a 2d vector. For example,Given 2d vector = [ [1,2], [3], [4,5,6] ] ...

  6. [VB.NET][C#]二维向量的基本运算

    前言 在数学中,几何向量指具有大小(Magnitude)和方向的几何对象,它在线性代数中经由抽象化有着更一般的概念.向量在编程中也有着及其广泛的应用,其作用在图形编程和游戏物理引擎方面尤为突出. 基于 ...

  7. 用vector实现二维向量

    如果一个向量的每一个元素是一个向量,则称为二维向量,例如 vector<vector<int> >vv(3, vector<int>(4));//这里,两个“> ...

  8. PCA 实例演示二维数据降成1维

    import numpy as np # 将二维数据降成1维 num = [(2.5, 2.4), (0.5, 0.7), (2.2, 2.9), (1.9, 2.2), (3.1, 3.0), (2 ...

  9. C# 二维数组 转换成 DataTable

    C# 数据转换 Overview C# 窗体操作中,有些比较特别的操作.但是为了方便我们不得不使用一些比较特别的手段. C#中二维数组转DataTable 首先,我们看一下我对二维数组的数据处理.这次 ...

随机推荐

  1. 淘系工程师讲解的使用Spring特性优雅书写业务代码

    使用Spring特性优雅书写业务代码   大家在日常业务开发工作中相信多多少少遇到过下面这样的几个场景: 当某一个特定事件或动作发生以后,需要执行很多联动动作,如果串行去执行的话太耗时,如果引入消息中 ...

  2. HTML 页面的动态线条背景-三岁

    保存一个自己正在用的背景 会跟随鼠标变换的动态线条 以免后面还得找 挺好看的 效果图: 代码如下: <script type="text/javascript" color= ...

  3. Webpack之 webpack-dev-server 中的 contentBase配置及作用

    contentBase:主要是指定静态资源的根目录的.  

  4. django之集成第三方支付平台PaysAPI与百度云视频点播服务接入

    PaysAPI直接查看接口文档:https://www.paysapi.com/docindex,比较简单 百度云视频点播服务接入: 1. 准备工作:百度云的示例:http://cyberplayer ...

  5. FreeSWITCH 1.10.7 编译(debian 11)

    1.安装预备库 apt install -y build-essential gdb gnupg2 wget autoconf lsb-release libtool libtool-bin libt ...

  6. TensorFlow 卷积神经网络实用指南 | iBooker·ApacheCN

    原文:Hands-On Convolutional Neural Networks with TensorFlow 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 不要担心自己的形象,只关心 ...

  7. 关于C++ scanf的一个小知识

    关于C++的scanf,其实在使用时有一个注意的点. 我们来看一个简单的例子. 对于输入的一行,如果这一行的开头需要输入一个字符,例如这样的输入: A 10 20 B 30 A 3 50 ... 我们 ...

  8. elasticsearch之mappings parameters

    目录 ignore_above 返回elasticsearch目录 ignore_above#top 长度超过ignore_above设置的字符串将不会被索引或存储(个人认为会存储,但不会为该字段建立 ...

  9. java实现HTTPS单向认证&TLS指定加密套件

    1.HTTPS介绍 由于HTTP是明文传输,会造成安全隐患,所以在一些特定场景中,必须使用HTTPS协议,简单来说HTTPS=HTTP+SSL/TLS.服务端和客户端的信息传输都是通过TLS进行加密. ...

  10. js演示面向对象

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...