c# - 如何查看一个对象是否在 4 个点内

标签 c# unity3d math

(我又问了一遍) 大家好,我有点问题,基本上我制作了这个简单的脚本来检测蓝色钻石是否在四个球体内部(见下图),它工作得很好,但我不知道如何做到当你将四个球体旋转90度时,它仍然检测它是否在里面,我想我必须使用TransformDirection,但我不知道在哪里实现它,这是脚本:https://hastebin.com/perevejoku.cs

这是我正在谈论的内容的一些视觉效果: enter image description here 这就是我所说的旋转的意思: enter image description here 我认为这可以帮助我,但我不知道如何实现它https://math.stackexchange.com/questions/190111/how-to-check-if-a-point-is-inside-a-rectangle

最佳答案

根据ABACABxAC(叉积)向量分解向量AP,其中P 是菱形坐标,B,A,C为三个相邻球体。

如果该基础上的坐标 t,u,w 满足这样的条件:

 t in range 0..1
 u in range 0..1
 w is 0

则点P位于球体构成的矩形平面内,且位于矩形极限内。

AP.x = P.x - A.x //same for y,z
//same for AB, AC
Normal = CrossProduct(AB, AC)

system of linear equation for unknowns t,u,w:
t * AB.x + u * AC.x + w * N.x = AP.x
t * AB.y + u * AC.y + w * N.y = AP.y
t * AB.z + u * AC.z + w * N.z = AP.z

关于c# - 如何查看一个对象是否在 4 个点内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48556836/

相关文章:

c# - Unity 3D 如何将 Vector3 投影到平面上或获取特定平面中两个 Vector3 之间的角度?

C# 脚本与 C# 编程

c# - 如何在崩溃之前渲染debug.log消息

java - 通过连续自然数的加法或减法获得一个数

c# - 读取mfc资源dll内容

c# - 为什么 DataGrid 不显示示例设计时数据?

c# - 如何确定 "DDD"解决方案中域或应用程序项目中的内容?

python - 用于计算正态分布标准偏差的标准 C 或 Python 库

math - 加法在计算机中是如何工作的?

c# - 设计应用程序类