tmgczb 发表于 2014-5-18 21:49:06

关于Geometry.Extents的问题

各位师兄好!我刚开始看C#二次开发,对于面向对象的很多概念很模糊
今天看了一段代码,遇到了Extent3d类。不知道是干什么的
Extented3d.AddExtents(ent.GeometryExtents),这一句是把实体的什么属性添加到类里了?
知道不应该在论坛上发这种菜鸟问题,但我确实努力找了

sieben 发表于 2014-5-19 08:19:49

Extent3d 表示一个长方体的形状的轮廓点,以X,Y,Z的最小值点和最大值点来描述
ent.GeometryExtents 就是包围一个图形实体的最小立方体轮廓

cdinten 发表于 2014-5-19 08:26:20

Extents3d是一个结构,表示实体的外部包围盒(该包围盒不一定是最小的,而是长宽高和三个坐标系平行的),该结构的两个属性MaxPoint、 MinPoint 就是最小包围盒的最小值点和最大值点,可以确定这个包围盒(长方体)的外形
添加方法函数原型如下:
public void AddExtents(
    Extents3d source
);
就是将新的包围盒添加到这个结构体中,扩展包围盒,实际的效果是让MaxPoint更大,而MinPoint更小。

tmgczb 发表于 2014-5-19 09:09:36

师兄,刚才搜到了一个你以前回复过的问题。我正想加你。
请问如果是面,也用长方体来包围吗?另外请问长方体的下表面Z坐标都是一样的,那么所说的minPoint是指什么最小?

tmgczb 发表于 2014-5-19 09:10:07

本帖最后由 tmgczb 于 2014-5-19 15:04 编辑

cdinten 发表于 2014-5-19 08:26 static/image/common/back.gif
Extents3d是一个结构,表示实体的外部包围盒(该包围盒不一定是最小的,而是长宽高和三个坐标系平行的),该 ...
师兄,刚才搜到了一个你以前回复过的问题。我正想加你。
请问如果是面,也用长方体来包围吗?如果是空间的图形,如我画的椭圆(平面和圆柱的交面),而且不止一个,那时候是不是用长方形来包围?
这时候不能保证长方形的边和坐标轴平行了吧?
这时候是不是椭圆的外接矩形呢?而这时候的minPoint指的是什么呢?

tmgczb 发表于 2014-5-19 09:57:21

sieben 发表于 2014-5-19 08:19 static/image/common/back.gif
Extent3d 表示一个长方体的形状的轮廓点,以X,Y,Z的最小值点和最大值点来描述
ent.GeometryExtents 就是包围 ...

对于一个平面图形(如椭圆),也是用长方体来包围吗?
两外最小值点指的是X、Y、Z都最小吗?

sieben 发表于 2014-5-19 11:36:35

平面图形,平放的平面图形,都会有一个包围其的长方体轮廓,只不过这时的最大最小Z值相等
你是不是不会使用AutoCAD?

tmgczb 发表于 2014-5-19 14:54:01

对CAD确实不精通,但是学土木工程也有六年,画了不少建筑、结构图。
师兄,我说的椭圆不是水平的,而是像我画的这样(平面与圆柱相交得到的截面),而且是深度不同的多个椭圆。
Extents3d extents=new Extents3d;
extents.Add(ellipse.GeometricExtents);
我一是不明白对于一个椭圆,ellipse.GeometricExtents以及extents.minPoint指的什么?二是不明白Extents3d可以包围几个实体,后者说是不是可以包含几个实体的minPoint和maxPoint?

tmgczb 发表于 2014-5-19 14:56:58

本帖最后由 tmgczb 于 2014-5-19 15:00 编辑

sieben 发表于 2014-5-19 11:36 static/image/common/back.gif
平面图形,平放的平面图形,都会有一个包围其的长方体轮廓,只不过这时的最大最小Z值相等
你是不是不会使用Au ...
对CAD确实不精通,但是学土木工程也有六年,画了不少建筑、结构图。
师兄,我说的椭圆不是水平的,而是像我画的这样(平面与圆柱相交得到的截面),而且是深度不同的多个椭圆。
Extents3d extents=new Extents3d();
extents.Add(ellipse.GeometricExtents);
我一是不明白对于一个椭圆,ellipse.GeometricExtents以及extents.minPoint指的什么?因为这时候即使画一个外接矩形,其右上角(或左下角)的三个坐标并不能保证同时最大(或小);
二是不明白Extents3d可以包围几个实体,后者说是不是可以包含几个实体的minPoint和maxPoint,第二句代码遍历,把不同椭圆的GeometricExtents都加入到Extents3d的实例extents中?

sieben 发表于 2014-5-19 15:42:25

一你错了,二你对了
页: [1] 2
查看完整版本: 关于Geometry.Extents的问题