答案 0 :(得分:3)
创建自己的。以下是一些想法:
修改强>
等待。第二个想法:原点,高度,宽度和法线向量不会真正削减它,因为你没有像2D那样有“向上”的感觉。
所以,抓一点。考虑它会发现2D中的宽度和高度实际上是向量二,除了它们的方向是暗示的:宽度是x方向上矢量的长度,高度是y方向上矢量的长度。
所以,像这样建模你的矩形:
Origin
)Width
(在数学中通常称为u
)Height
(在数学中通常称为v
)Width x Height
的矢量积来计算然后可以将矩形的其他三个点计算为:
Origin + Width
Origin + Width + Height
Origin + Height
答案 1 :(得分:2)
您链接的矩形类为2D矩形建模(我不知道3D矩形是什么,BTW)。
几乎整个System.Drawing
命名空间处理2D,因此您无法以这种方式对其进行自定义。
System.Drawing父命名空间包含支持基本GDI +图形功能的类型。子命名空间支持高级二维和矢量图形功能,高级成像功能以及与打印相关的印刷服务。
(强调我的)
答案 2 :(得分:2)
(关于交叉口功能)
您无法创建此类功能。
2D中2个矩形的交叉功能很有意思,因为它会返回第三个矩形(可以为空)。
空间中2“3D矩形”的交点并不总是3D矩形!
(例如,取两个相同的矩形并旋转一个,然后取交点...)
因此,您不仅可以创建一个矩形对象,还可以创建一个返回矩形对象的交集函数。
您需要更完整的3D对象管理库。
<强>备注:强>
3D矩形由6个平面分隔。 所以你可以通过x,y,z上的6个约束来识别它
然后,2个3D矩形的交集将只是由12个约束标识的3D对象。
如果这12个约束可以简化为6个约束,它可以是一个矩形(但并非总是如此) 如果它不能那么它不是一个矩形。