二维叉积定义

2023-12-14

In 判断线段是否在多边形内部我注意到接受的答案有一个不寻常的二维叉积定义:

(u1, u2) x (v1, v2) := (u1 - v2)*(u2 - v1)

我从未遇到过像这样的二维叉积的定义。谁能告诉我这个定义的出处?


不是数学专家,但交叉积ND被定义为操作N-1向量产生垂直于每个向量的向量。该东西计算为矩阵的行列式其中第一行是单位方向向量(i,j,k,...)其他每一行保存每个向量操作数。所以对于 2D 来说是:

cross( (x0,y0) ) = | i  j  | = i*y0 - j*x0 = (y0,-x0)
                   | x0 y0 |

垂直于(x0,y0). 所以你拥有的不是 2D 叉积!

在 CG 中,通常需要通过 3D 叉积获得某个 2D 表面的法线向量:

cross( (x0,y0,z0),(x1,y1,z1) ) = | i  j  k  | = i*(y0*x1-z0*y1) + j*(z0*x1-x0*z1) + k*(x0*y1-y0*x1)
                                 | x0 y0 z0 |
                                 | x1 y1 z1 |

现在如果两个向量(x0,y0,z0),(x1,y1,z1)是 2D 那么z0,z1都为零,所以:

cross( (x0,y0,z0),(x1,y1,z1) ) = i*(y0*x1-0*y1) + j*(0*x1-x0*0) + k*(x0*y1-y0*x1)
cross( (x0,y0,z0),(x1,y1,z1) ) = k*(x0*y1-y0*x1)
cross( (x0,y0,z0),(x1,y1,z1) ) = (0,0,x0*y1-y0*x1)

这与您的定义更相似,但看起来不一样,所以您拥有的是其中之一:

  1. 不同的东西而不是叉积
  2. 我还没有看到用一些数学恒等式转换的叉积。
  3. 该答案中的错误(小错别字,或复制了错误的代码行......我也经常发生)
  4. 更多的方程融合在一起(交叉只是答案的一小部分)

在链接答案的上下文中您需要 3D 叉积z协调 result:

z = x0*y1-y0*x1

哪个符号会告诉您这些点相对于多边形缠绕规则及其边缘之一是顺时针还是逆时针......

但为了绝对清楚你应该问这个Niklas B.直接在该问题线程中(使用评论),因为您的代表程度较低,我会为您做这件事并将您的问题链接到那里......

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

二维叉积定义 的相关文章

  • 压缩很多小字符串的算法?

    我正在寻找一种压缩小 ASCII 字符串的算法 它们包含大量字母 但也可以包含数字和很少的特殊字符 它们很小 平均约为 50 100 字节 最多 250 个字节 例子 Android show EditText setError above
  • 优化两个三位数乘积的最大回文数?

    我正在研究一个面试问题 我被问到这个问题 我应该编写一个程序 从两个三位数的乘积中找到最大的回文数 这里是question https projecteuler net problem 4 我想出了这种从底部开始的蛮力方法 public c
  • 融合元组以查找等价类

    假设我们有一个包含 k 个元素的有限域 D d1 dk 我们认为 S 是 D n 的子集 即一组 形式的元组 其中 ai 在 D 中 我们希望使用 S 2 D n 的子集 即一组 形式的元组 其中 Ai 是 D 的子集 来 紧凑地 表示它
  • 如何提高洪水填充例程的性能?

    我正在我的应用程序中实现四路洪水填充 伪代码如下 Flood fill node target color replacement color 1 If the color of node is not equal to target co
  • 依次构建完整的 B 树

    如果我有一组排序的数据 我想以最适合顺序读取和随机查找的方式将其存储在磁盘上 那么 B 树 或其中一个变体 似乎是一个不错的选择 假设该数据集并不全部适合 RAM 问题是可以从一组排序的数据构建完整的 B 树而不进行任何页面拆分吗 这样排序
  • 寻找局部最小值

    下面的代码正确地找到了数组的局部最大值 但未能找到局部最小值 我已经进行了网络搜索 以找到找到最小值的最佳方法 并且根据这些搜索 我认为我正在使用下面的正确方法 但是 在几天的时间里多次检查每一行之后 下面的代码中有一些我仍然没有看到的错误
  • 最接近 x,y 的线上的点[重复]

    这个问题在这里已经有答案了 可能的重复 如何判断一个点是否在某条线附近 https stackoverflow com questions 910882 how can i tell if a point is nearby a certa
  • 为什么我的圈子值为零?

    这是我的 Circle 类代码 class Circle private double radius private double area public Circle double radius this radius radius pu
  • 适用于图形应用程序的快速、像素精度 2D 绘图 API?

    我想创建一个跨平台的绘图程序 编写应用程序的一个要求是画布上具有像素级精度 例如 我想编写自己的画线算法 而不是依赖别人的 我不想要任何形式的抗锯齿 同样 需要像素级控制 我希望屏幕上的用户交互快速且响应灵敏 取决于我编写快速算法的能力 理
  • 整数除法性质

    下面的整数算术性质成立吗 m n l m n l 起初我以为我知道答案 不成立 但现在不确定 它适用于所有数字还是仅适用于某些条件 即n gt l 该问题涉及计算机算术 即q n m q m n 忽略溢出 Case1 assume m kn
  • 查找重叠事件/时间的算法

    在处理自定义日历时 我不知道如何找到与任何其他时间段重叠的时间段 时段从 0 点至 720 点 上午 9 点至晚上 9 点 每个像素代表一分钟 var events id 1 start 0 end 40 an event from 9 0
  • 为什么我们需要检测链表中的循环

    我看到很多关于如何检测链表中的循环的问答 但我想了解的是我们为什么要这样做 换句话说 检测链表中的循环的实际用例是什么 在现实生活中 您可能永远不需要检测链表中的循环 但是执行此操作的算法很重要 我在现实生活中多次使用它们 例如 我经常会递
  • 对列表中的相邻元素进行分组

    假设我想编写一个函数来执行此操作 输入 1 1 3 3 4 2 2 5 6 6 输出 1 1 3 3 4 2 2 5 6 6 它将相同的相邻元素分组 这个方法的名称应该是什么 此操作有标准名称吗 In 1 1 3 3 4 2 2 5 6 6
  • 如何识别数据集中其他列之和的列

    我想编写一个函数 最好用 R 语言 但也欢迎其他语言 它可以识别数据集中列之间的关系 仅限于加法 减法 其实际应用是在大型多列财务数据集上运行它 其中某些列是其他列的小计 并识别此类小计 理想情况下 我希望允许一些小的差异 例如允许舍入问题
  • 查找两个大小为 n 的数组中第 n 大数的算法

    我有这个问题 给定两个大小为 n 的排序列表 存储在数组中 找到 O log n 计算并集中第 n 大元素的算法 两个列表 我可以看到这里可能有一个技巧 因为它需要第 n 个最大的元素 并且数组的大小也是 n 但我不知道它是什么 我在想我可
  • 计算总和等于 k ​​的子集数量

    给定一个数组 我们需要找出总和恰好等于给定整数 k 的子集的数量 请针对这个问题提出一个最佳算法 这里不需要实际的子集 只需计数即可 该数组由整数组成 可以是负数也可以是非负数 例子 数组 gt 1 4 1 10 5 绝对值总和 gt 9
  • 仅使用两个变量交换两个数字

    它如何执行交换 a a b b a b a b a 我不同意把它换成书 书中的选项包括 a和b的值的补集 否定和b 希望这些选项也不能满足它 正确的算法应该是 a a b b a b a a b
  • 如何在大空间尺度上加速A*算法?

    From http ccl northwestern edu netlogo models community Astardemo http ccl northwestern edu netlogo models community Ast
  • Google 的 Android OpenGL 教程是否教授了错误的线性代数?

    在帮助另一位用户解决有关该问题的问题后响应触摸事件 http developer android com training graphics opengl touch htmlAndroid教程 我下载了源代码 并且对我所看到的感到非常困惑
  • RNG 技术的可移植性和可重复性

    我可以使用两种方法之一来创建一个伪随机数序列 该序列具有两个重要特征 1 它可以在不同的机器上重现 2 该序列永远不会重复范围内的数字 直到所有数字都被发出 我的问题是 这两种方法在可移植性 操作系统 Python 版本等 方面是否存在潜在

随机推荐

  • ASP.NET Excel导出编码问题

    我正在 ASP NET 网站上进行一些 Excel 导出 除了编码之外 一切正常 当我在 Excel 中打开它时 它看起来像这样 Eingabe Kosten je Ger t Ger t 特殊情况 Betriebsmittel Heiz
  • Bootstrap:更改移动设备上全角列的顺序

    我有这样的架构 col 1 col 2 它们的宽度都是12块 和我的html div class col xs 12 col md 5 1 div div class col xs 12 col md 7 2 div 是否可以在 xs mo
  • 从 VTCompressionOutputCallback 中引用“self”[重复]

    这个问题在这里已经有答案了 我目前正在尝试使用 VideoToolbox 对来自AVCaptureVideoDataOutput 但我在引用时遇到问题self从内部VTCompressionOutputCallback 我的代码如下 var
  • 线程和 GUI 应用程序之间的 Python 新型信号和插槽

    我是 OOP 和 python 的新手 我正在尝试使用新样式的信号和插槽从 Qthread 向 Qt GUI 主窗口发出信号 这就是线程 在单击 GUI 中的 运行 按钮后 3 秒后 我将在 GUI 中发出用于更新消息对话框的信号 我不确定
  • 在Python中序列化二进制数据

    我有一些二进制数据 在 Python 中以字节字符串数组的形式存在 是否有一种可移植的方法来序列化其他语言可以读取的数据 JSON 失败是因为我刚刚发现它没有真正的方法来存储二进制数据 它的字符串应该是 Unicode 我不想使用pickl
  • 在浏览器中执行jdbc小程序

    import java sql import java io import java awt import java awt event import java applet public class A0 extends Applet i
  • 使用连字符时 Spring 表达式语言 (SpEL) 不起作用

    我正在尝试使用 Spring 表达式语言来解析表达式 if myVariable值设置为 first name 带连字符的值 然后获取class org springframework expression spel SpelParseEx
  • 使用 Java 将 ASN1 序列解码为 RSA 公钥

    我有以下 RSA 公钥作为 ASN1 序列 SEQUENCE 2 elem INTEGER 1024 bit 14832 INTEGER 65537 如何在 Java 中将此序列导入为 RSA 公钥 已实施的KeySpecs 例如PKCS8
  • 可以采取哪些措施来防止对返回值进行误导性分配?

    使用 C 多年后 我意识到使用自定义类时语法中的一个怪癖 尽管是正确的语言行为它允许创建非常具有误导性的界面 这里的例子 class complex arg double r double phi public std complex
  • Gulp 注入不起作用

    我尝试使用 gulp inject 将一些文件注入 PHP 文件 这是行不通的 我也尝试过使用 HTML 但这不起作用 我的控制台中的输出显示 gulp inject 6 files into test html 但是没有注入文件 文件数是
  • 在 XCode 11 上哪里可以找到“Log Dyld API 使用情况”和“Log Library Loads”?

    我想在 XCode 控制台中禁用记录动态加载程序事件 dyld 的打印 我找到了解决方案here 但我找不到记录 Dyld API 使用情况 and 日志库加载XCode 11的产品方案诊断中的选项 请帮我找到它们 PS 如果Xcode11
  • getNamedItem() 与 getAttribute() 之间的区别?

    两者都给我一个 XML 元素的属性 他们之间有什么区别吗 添加 W3C 书签文档对象模型核心 作为一个来源 它已经是最好的了 getAttribute 是由Element界面 来自 W3C 获取属性按名称检索属性值 getNamedItem
  • 如何创建包含 xml 和 html 文件的 jar 文件?

    我正在尝试创建一个 jar 文件 其中包含一些所需的类和 java 文件 但我还想包含一些额外的 xml xsl html txt 自述文件 文件 我在 Windows XP 上使用 Eclipse 有没有一种简单的方法可以让我设置目录结构
  • 运行 npm install 时收到“npm ERR!code ELIFECYCLE npm ERR!errno 126”

    我试图在我的服务器上运行 npm install 并收到此错误 gt email protected postinstall home workspace AgreementCancellationProd retrymechanism n
  • 身份验证失败 - 999 - HTTP 状态代码未处理或不允许

    I using scrapy 我想得到忽略响应 URL 我只是在输出控制台中看到 调试 忽略响应 https www mywebsite com gt HTTP 状态代码未处理或不允许 根据文档here您可以添加应该由蜘蛛处理的 HTTP
  • 似乎无法通过 cURL 获取网页内容 - 用户代理和 HTTP 标头均已设置?

    由于某种原因 我似乎无法通过 cURL 获取此特定网页的内容 我已经设法使用 cURL 很好地访问 顶级页面 内容 但相同的自建快速 cURL 功能似乎不适用于链接的子网页之一 顶级页面 http www deindeal ch 子页面 h
  • C++ - stringstream <<“覆盖”

    我正在用 C 制作 OpenGL 游戏 与其他语言相比 我对 C 相当缺乏经验 不管怎样 我为一些图像创建了一个带有 base 目录的字符串流 然后我将此字符串流作为函数参数传递给构造函数 构造函数附加图像文件名 然后尝试加载结果路径 然而
  • 用 NodeJS 编写的简单 TCP 服务器中的 socket.emit?

    正如你将看到的 我不太了解 TCP 服务器和客户端的基本概念 可能 socket emit 甚至不可能 但我想知道最好的替代方案或类似的东西 Socket io 有一个漂亮的东西可以发出事件并在另一端捕获它们 它位于它的首页 http so
  • Azure Function:部署后旧代码仍在运行

    现在 我再次面临这样的问题 即使通过 KUDU 的 zip 部署返回成功后 旧代码仍在 Azure Function App 上使用 当然 我预计新代码会在大约 30 分钟后加载 而不是立即加载 问题被标记为关闭 在这种情况下 最佳实践是什
  • 二维叉积定义

    In 判断线段是否在多边形内部我注意到接受的答案有一个不寻常的二维叉积定义 u1 u2 x v1 v2 u1 v2 u2 v1 我从未遇到过像这样的二维叉积的定义 谁能告诉我这个定义的出处 不是数学专家 但交叉积ND被定义为操作N 1向量产