今天学习了一下《计算几何》,里面讲了一下关于判断一个点是否在某个三角形内的问题(在二维平面上)。其中有一个算法是“同向法”,主要是用叉积来判断两个点是否在某条线段的同一侧,如图(1)所示。关于“同向法”再次不做具体介绍,感兴趣的同学可以百度之,或者关注本人后面更新的博文。关于《计算几何》系列的博文,我会继续学习,总结并发布到博客上。

图1

好了,言归正传,我们只知道在二维平面中,两个向量的叉乘其结果(叉积)是一个确切的值。例如向量A(x1,y1)和向量B(x2,y2)叉乘:A(x1,y1)xB(x2,y2)

=

|A||B|sina,其中a为向量A和向量B的夹角,|A|和|B|是向量A和向量B的模,sina是一个与角a有关的实数。可以看出向量A和向量B的最终结果是一个确切的实数。这和我们所知的两个向量的叉积是一个垂直于其平面的法向量有些背离了,因为我们得到确实是一个值,而不是一个向量。这是神马情况呢?

对于一个三角形ABC来说,CA和CB的夹角为a,那么三角形的面积S = 1/2(|CA||CB|sina),也就是S =

1/2(CAxCB),可以将该面积看作三角形的有向面积。由右手坐标系可知,正对着我们的方向为正面,那么背对着我们的一面就是负面,因为对于一个平面而言,肯定是有一个正面和负面了。如果定义该三角形的平面法向量的方向n,那么n就与向量CA,CB垂直,也就和三角形正面的法向量是一致的。所以说,二维向量的叉积不能简单地看作是一个标量,其实质上是一个向量。

下面将二维向量看作成z轴值恒为0的三维向量,例如向量OA(x1,y1,0),OB(x2,y2,0),其实质上还是平面xy上的向量,只不过引入z轴,使其具有三维空间的上的意义。可以根据三维向量的叉积公式(1-1)计算得出OAxOB的值。

(1-1)

其矩阵表示如下:

那么OAxOB = (0,0,x1y2-x2y1)(#1),很明显(0,0,x1y2-x2y1)也是一个向量,并且是垂直于向量OA和OB构成的平面的法向量,而其方向的正负就取决于它们的输入(x1,y1)和(x2,y2)的值。

java 二维向量_二维向量的叉积是标量还是向量?相关推荐

  1. 二维向量的叉积是标量还是向量?

    二维向量的叉积是标量还是向量? 今天学习了一下<计算几何>,里面讲了一下关于判断一个点是否在某个三角形内的问题(在二维平面上).其中有一个算法是"同向法",主要是用叉积 ...

  2. c++ 二维数组_二维数组的声明2019_04_18

    -------------[感谢小郡提供的图片] [广告位招租] ---------------------------------------------------------------- -- ...

  3. 生成有时间限制的二维码_二维码竟有被用完的一天!看到截止日期后,网友:虚惊一场...

    生活在现如今这样一个智能化的时代中,二维码已经逐渐成为了人们日常生活中必不可少的存在.出门骑共享单车要扫码.购物买东西要出示微信.支付宝付款码.聊天加好友同样也是要用到二维码,可以说现在的生活中已经无 ...

  4. python定义二维数组_二维数组的定义、初始化和输出,C语言二维数组详解

    本节学习二维数组.二维数组与一维数组相似,但是用法上要比一维数组复杂一点.后面的编程中,二维数组用得很少,因为二维数组的本质就是一维数组,只不过形式上是二维的.能用二维数组解决的问题用一维数组也能解决 ...

  5. java 二叉堆_二叉堆(三)之 Java的实现

    概要 前面分别通过C和C++实现了二叉堆,本章给出二叉堆的Java版本.还是那句话,它们的原理一样,择其一了解即可. 二叉堆的介绍 二叉堆是完全二元树或者是近似完全二元树,按照数据的排列方式可以分为两 ...

  6. 超维术士_超维计算及其在人工智能中的作用

    超维术士 它是什么? (What is it?) Don't be intimidated by the name hyperdimensional computing-Even though it ...

  7. 网格化运维标书_运维网格化管理.ppt

    运维网格化管理 运维网格化管理 2013年5月20日 内容 网格及网格管理简介 网格概念 网格标准与特征 网格分类 网格结构 网格应用 网格化管理 总行运维网格化管理的应用 --以生产运行室为例 &q ...

  8. java上三角数组_二维数组的三角填充 两种java实现的方法

    类似这种: 1 2 3 4 5 12 13 14 6 11 15 7 10 8 9 认为第二种方法简单还是第一种方法简单直接决定了你的水平. package test; /** * 二维数组 三角填充 ...

  9. 建立二维数组_二维数组的 DP

    寻找不同路径和 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为"Start" ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图中标 ...

  10. c.kdocs cn二维码_二维码防窜货解决方案,物流动向尽在掌握

    http://ccn.yesno.com.cn/zsfch/一物一码防窜货管理系统 二维码防窜货解决方案,处理各种窜货,阻止多地经销商窜货.窜货的情况经常发生,企业做不到各地的分销商都能全部管理.分销 ...

最新文章

  1. SSL/TLS原理详解
  2. 时间复杂度和空间复杂度3 - 数据结构和算法05
  3. Little Sub and Traveling
  4. 8-[函数]-嵌套函数,匿名函数,高阶函数
  5. angular div 滚动条事件_DOM事件
  6. 《速读ES7》新增特性目录列表
  7. web前端之html从入门到精通
  8. python函数的使用方法图解_零基础python之4函数重用-函数与模块(附详细的步骤和程序)...
  9. 计算机组成微程序操作码怎么写,计算机组成原理学习笔记——控制器
  10. dockhub 好用的镜像_玩转docker镜像和镜像构建
  11. 信息系统项目管理师项目合同管理
  12. java.lang.Integer常用方法
  13. 有一部电影用计算机回到未来,《复联4》调侃《回到未来》,1985年的这部穿越片,到底讲了什么...
  14. uniapp 中使用彩色图标,引入阿里图库iconfont
  15. linux判断文件类型是否存在脚本,shell脚本中的逻辑判断 文件目录属性判断 if特殊用法 case判断...
  16. Touch in Android
  17. 参考文献格式字号字体_字体字号格式要求
  18. HTTP协议报文基本格式
  19. Pro_07丨波动率因子3.0与斜率因子
  20. Labview Ethernetip TCP网口通讯欧姆龙PLC OmronNX1P2NJ501NJ301PLC标签通讯 CIP通讯比Fins通讯更完美

热门文章

  1. Windows电脑桌面云便签自由拖动排序如何调整便签的顺序?
  2. 现在90后程序员有必要考证吗?
  3. win7计算机摄像头怎么打开,win7的摄像头在哪里打开 怎么打开win7摄像头
  4. AgentWeb 更加简洁优秀的webview
  5. VMware ESXI7.0的安装与配置(全过程超详细含中英文对照,附应知必会的理论基础和常见故障解决方案)
  6. java中refresh是什么_浅析Spring IoC源码(三)分析refresh()方法前的准备篇(一)
  7. 浏览器清除缓存快捷键
  8. 彻底禁用UAC,解决“Windows 8/10 Administrator须以管理员身份运行才有权限”的问题
  9. Ubuntu: 使用U盘拷贝文件
  10. 机器人也能打排球了,击球成功率80%!日本东京大学新型气动仿人机器人