UE 计算闭合曲线的符号面积

devtools/2024/9/30 2:07:58/

UE 计算闭合曲线的符号面积

计算闭合曲线的符号面积,假设闭合曲线的顶点是位于 XY 平面中的顶点。

推导

polygon area
参考计算任意多边形的面积

当O点为原点时,根据向量的叉乘计算公式,各个三角形的面积计算如下:
S Δ O A B = 1 2 O A ⃗ × O B ⃗ S_{\Delta O A B} =\frac{1}{2} \vec{OA} \times \vec{OB} SΔOAB=21OA ×OB
S Δ O B C = 1 2 O B ⃗ × O C ⃗ S_{\Delta O B C} =\frac{1}{2} \vec{OB} \times \vec{OC} SΔOBC=21OB ×OC
S Δ O C D = 1 2 O C ⃗ × O D ⃗ S_{\Delta O CD} =\frac{1}{2} \vec{OC} \times \vec{OD } SΔOCD=21OC ×OD
S Δ O D E = 1 2 O D ⃗ × O E ⃗ S_{\Delta O DE} =\frac{1}{2} \vec{OD} \times \vec{OE } SΔODE=21OD ×OE
S Δ O E A = 1 2 O E ⃗ × O A ⃗ S_{\Delta O EA} =\frac{1}{2} \vec{OE} \times \vec{OA } SΔOEA=21OE ×OA

其中叉乘的计算公式:

O A ⃗ × O B ⃗ = A x ∗ B y − A y ∗ B x \vec{OA} \times \vec{OB } = A_{x} \ast B_{y}-A_{y}*B_{x} OA ×OB =AxByAyBx

S Δ O A B 、 S Δ O D E 、 S Δ O E A 与 S Δ O B C 、 S Δ O C D 符号相反 S_{\Delta O A B}、 S_{\Delta O DE}、S_{\Delta O EA}与S_{\Delta O B C} 、S_{\Delta O CD}符号相反 SΔOABSΔODESΔOEASΔOBCSΔOCD符号相反

S 总 = S Δ O A B + S Δ O D E + S Δ O E A + S Δ O B C + S Δ O C D S_{总}= S_{\Delta O A B}+ S_{\Delta O DE}+S_{\Delta O EA}+S_{\Delta O B C} +S_{\Delta O CD} S=SΔOAB+SΔODE+SΔOEA+SΔOBC+SΔOCD

UE 相关代码

UE::Geometry::CurveUtil::SignedArea2

	/** * Compute the signed area of a closed curve, assuming vertices in the XY plane*/template<typename RealType, typename VectorType>RealType SignedArea2(const TArrayView<const VectorType>& Vertices){RealType Area = 0;int N = Vertices.Num();if (N == 0){return 0;}for (int Idx = 0, PrevIdx = N-1; Idx < N; PrevIdx=Idx++){const TVector2<RealType>& V1 = Vertices[PrevIdx];const TVector2<RealType>& V2 = Vertices[Idx];Area += V1.X * V2.Y - V1.Y * V2.X;}return static_cast<RealType>(Area * 0.5);}

http://www.ppmy.cn/devtools/119001.html

相关文章

socket编程描述tcp的三次握手

TCP&#xff08;传输控制协议&#xff09;是一种面向连接的、可靠的、基于字节流的传输层通信协议。在两个网络实体之间建立TCP连接之前&#xff0c;必须进行三次握手过程。以下是使用socket编程来描述TCP三次握手的过程&#xff1a; 客户端发送SYN包&#xff1a; 客户端首先选…

电脑远程启动Wol

WOL介绍 WOL是Wake On Lan就是通过网卡启动电脑操作。具体就是客户端发送一个命令&#xff0c;电脑由于没有彻底断电会响应这条命令&#xff0c;用于启动电脑。如果有公网IP就可以实现随时启动电脑。这需要硬件和软件同时协作&#xff0c;不过大部分网卡都支持&#xff0c;Win…

探索深度学习的奥秘:从理论到实践的奇幻之旅

目录 引言&#xff1a;穿越智能的迷雾 一、深度学习的奇幻起源&#xff1a;从感知机到神经网络 1.1 感知机的启蒙 1.2 神经网络的诞生与演进 1.3 深度学习的崛起 二、深度学习的核心魔法&#xff1a;神经网络架构 2.1 前馈神经网络&#xff08;Feedforward Neural Netwo…

vue-i18n在使用$t时提示类型错误

1. 问题描述 Vue3项目中&#xff0c;使用vue-i18n&#xff0c;在模版中使用$t时&#xff0c;页面可以正常渲染&#xff0c;但是类型报错。 相关依赖版本如下&#xff1a; "dependencies": {"vue": "^3.4.29","vue-i18n": "^9.1…

力扣 最小覆盖子串

最小覆盖子串 https://leetcode.cn/problems/minimum-window-substring/ 题目描述 题目分析f 覆盖子串&#xff1a;首先根据题意&#xff0c;要求目标字符串的元素必须都在子串中出现过&#xff0c;这表明可以是乱序出现。所以在解决问题是我们需要对子串和目标字符串做匹配&a…

【题解】—— [NOIP2013 普及组] 计数问题

【题解】—— [NOIP2013 普及组] 计数问题 [NOIP2013 普及组] 计数问题题目背景题目描述输入格式输出格式输入输出样例输入 #1输出 #1 提示 1.思路解析2.AC代码 [NOIP2013 普及组] 计数问题 通往洛谷的传送门 题目背景 NOIP2013 普及组 T1 题目描述 试计算在区间 1 1 1 到…

成都睿明智科技有限公司可靠吗?

在这个短视频风靡的时代&#xff0c;抖音已不仅仅是一个娱乐平台&#xff0c;它更是无数商家眼中的蓝海市场&#xff0c;是电商领域的新宠儿。在这场流量与转化的盛宴中&#xff0c;成都睿明智科技有限公司以其敏锐的市场洞察力和专业的服务能力&#xff0c;正逐步成为抖音电商…

【JavaEE初阶】网络原理

欢迎关注个人主页&#xff1a;逸狼 创造不易&#xff0c;可以点点赞吗~ 如有错误&#xff0c;欢迎指出~ 目录 ⽹络互连 IP地址 端口号 协议 协议分层 优势 TCP/IP 五层网络模型 数据在网络通信中的整体流程 封装和分用 封装 分用 ⽹络互连 随着时代的发展&#xff0c;越来越需…