乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 143|回复: 9

关于Geometry.Extents的问题

[复制链接]

3

主题

14

帖子

1

银币

初来乍到

Rank: 1

铜币
26
发表于 2014-5-18 21:49:00 | 显示全部楼层 |阅读模式
各位师兄好!我刚开始看C#二次开发,对于面向对象的很多概念很模糊
今天看了一段代码,遇到了Extent3d类。不知道是干什么的
Extented3d.AddExtents(ent.GeometryExtents),这一句是把实体的什么属性添加到类里了?
知道不应该在论坛上发这种菜鸟问题,但我确实努力找了
回复

使用道具 举报

32

主题

651

帖子

8

银币

中流砥柱

Rank: 25

铜币
779
发表于 2014-5-19 08:19:00 | 显示全部楼层
Extent3d 表示一个长方体的形状的轮廓点,以X,Y,Z的最小值点和最大值点来描述
ent.GeometryExtents 就是包围一个图形实体的最小立方体轮廓
回复

使用道具 举报

19

主题

154

帖子

5

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

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

使用道具 举报

3

主题

14

帖子

1

银币

初来乍到

Rank: 1

铜币
26
发表于 2014-5-19 09:09:00 | 显示全部楼层
师兄,刚才搜到了一个你以前回复过的问题。我正想加你。
请问如果是面,也用长方体来包围吗?另外请问长方体的下表面Z坐标都是一样的,那么所说的minPoint是指什么最小?
回复

使用道具 举报

3

主题

14

帖子

1

银币

初来乍到

Rank: 1

铜币
26
发表于 2014-5-19 09:10:00 | 显示全部楼层

师兄,刚才搜到了一个你以前回复过的问题。我正想加你。
请问如果是面,也用长方体来包围吗?如果是空间的图形,如我画的椭圆(平面和圆柱的交面),而且不止一个,那时候是不是用长方形来包围?
这时候不能保证长方形的边和坐标轴平行了吧?
这时候是不是椭圆的外接矩形呢?而这时候的minPoint指的是什么呢?

grhzug3mk2n.jpg

grhzug3mk2n.jpg

回复

使用道具 举报

3

主题

14

帖子

1

银币

初来乍到

Rank: 1

铜币
26
发表于 2014-5-19 09:57:00 | 显示全部楼层

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

使用道具 举报

32

主题

651

帖子

8

银币

中流砥柱

Rank: 25

铜币
779
发表于 2014-5-19 11:36:00 | 显示全部楼层
平面图形,平放的平面图形,都会有一个包围其的长方体轮廓,只不过这时的最大最小Z值相等
你是不是不会使用AutoCAD?
回复

使用道具 举报

3

主题

14

帖子

1

银币

初来乍到

Rank: 1

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

使用道具 举报

3

主题

14

帖子

1

银币

初来乍到

Rank: 1

铜币
26
发表于 2014-5-19 14:56:00 | 显示全部楼层

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

vlnkow22c2g.jpg

vlnkow22c2g.jpg

回复

使用道具 举报

32

主题

651

帖子

8

银币

中流砥柱

Rank: 25

铜币
779
发表于 2014-5-19 15:42:00 | 显示全部楼层
一你错了,二你对了
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-13 21:18 , Processed in 0.675490 second(s), 86 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表