tzbm123456 发表于 2015-6-9 20:31:38

几何模板函数

本帖最后由 tzbm123456 于 2015-6-10 00:10 编辑

一、几何实体类型      1、点;2、线;3面;4、体二、几何实体表达方式      1、点:          point=Geom::Point3d.new(x,y,z);      2、线:         line=;   实际         line=;    抽象      3、面:         plane=;   抽象            plane=;实际         plane=;      4、体            圆柱体:volume=; line=   diam=直径            方柱体:volume=; line= plane=            任意形体:volume=;   plane=三、几何实体关系(既有考虑实际几何实体,又要考虑抽象几何实体)    1、点与点       2、点与线(点与实际线7种关系,与抽象线有2种关系)     3、点与面(点与实际面6种关系,与抽象面有2种关系)     4、点与体(点与实际圆柱体8种关系,                                点与实际方柱体12种关系,                            点与实际任意形体5种关系)         5、线与线    6、线与面    7、线与体       8、面与面    9、面与体   10、体与体四、点与点的关系1、点实体表达式:tzbm_Point=2、函数名称:Module_Point::point_And_Point(tzbm_Point1, tzbm_Point2)3、返回值1)tzbm_Point1与tzbm_Point2相交,返回值为0;2)tzbm_Point1包含tzbm_Point2,返回值为1;3)tzbm_Point1包含于tzbm_Point2,返回值为2;4)tzbm_Point1与tzbm_Point2分离,返回值为3;五、点与线的关系1、点实体表达式:point=Geom::Point3d线实体表达式:tzbm_Line=2、函数名称:Module_Point::point_And_Line(point, tzbm_Line)3、返回值1)point在tzbm_Line实体上,返回值为0;2)point为tzbm_Line左端点,返回值为1;3)point为tzbm_Line右端点,返回值为2;4)point与tzbm_Line分离,且在线段的延伸线上,返回值为3;5)point与tzbm_Line分离,且不在线段的延伸线上,返回值为4; 六、点与面的关系1、点实体表达式:point=Geom::Point3d面实体表达式:tzbm_Face=2、函数名称:Module_Point::point_And_Face(point,tzbm_Face)3、返回值1)point在tzbm_Face实体内,返回值为1;2)point为tzbm_Face实体角点上,返回值为2;3)point为tzbm_Face实体边上,返回值为4;4)point为tzbm_Face实体外且在平面上,返回值为8;5)point为tzbm_Face实体外且在不在平面上,返回值为16;七、点与圆柱体的关系1、点实体表达式:point=Geom::Point3d圆柱体表达式:tzbm_CircleColumn=]2、函数名称:Module_Point::point_And_CircleColumn(point,tzbm_Face)3、返回值1)point在tzbm_CircleColumn实体内,返回值为0;2)point在tzbm_CircleColumn实体表面上,返回值为1;3)point在tzbm_CircleColumn实体外,返回值为16;


tzbm123456 发表于 2015-6-9 20:31:58

本帖最后由 tzbm123456 于 2015-6-9 20:33 编辑

1、Module_Point::points4_interSect?(pt1,pt2,point1,point2)     已知两直线段的4点,判断两直线段是否相交(已调试)2、Module_Point::points4_onPlane?(point1,point2,point3,point4)    已知4点,判断4点是否共面true/false(已调试)3、Module_Point::points4_radius2_interSect?(pt1Start,pt1End,pt2Start,pt2End,radius_line1,radius_line2)    已知两直线段的端点,以及对应的半径,判断两段管状实体是否相交(未调试)4、Module_PointLine::line_point_online?( entline,point,dist_point_line)    已知直线段、点何直线对应的半径,判断点是否在直线对应的管状实体内true/false(已调试) 5、Module_Line::line_line_interSect?(entline1,entline2)    已知两直线段,判断两段直线是否相交(已调试)6、Module_Line::line_line_onPlane? (entline1,entline2)    已知两直线段,判断是否共面 (已调试)7、Module_Line::line2_radius2_interSect?(entline1,entline2,radius1,radius2)    已知两直线段和对应的半径,判断两段管状实体是否相交(已调试)8、Module_LineFace::face_line_interSect?(entface,entline,dist_line_face) 9、Module_Geom::point3_Area(point1,point2,point3)    已知三点求面积>10、Module_Geom::point3_Volume(point1,point2,point3)    求三点中计算至最低水平面的体积,返回[体积,底面积,底平面]>
11、Module_Geom::point_onEdge?(point,point1,point2)    判断point是否在point1到point2的edge内12、Module_Geom::point_onFace?(point,entface)    判断point是否在face内>13、Module_Geom::point_InPipe?(point,pipeStartPoint,pipeEndPoint,pipeRadius)    判断point是否在管状edge内14、Module_Geom::point_InFace?(point,entface,faceDepth)    判断point是否在柱状face内15、Module_Geom::edge2_Intersect?(edge1,edge2)    判断edge与edge是否相交 16、Module_Geom::createSphere(center,radius)已知球心坐标,和半径,绘制球体 #<8功能:判断edge与face是否相交>#<9功能:判断edge与管状edge是否相交>#<10功能:判断edge与柱状face是否相交>#<11功能:判断face与face是否相交>#<12功能:判断face与管状edge是否相交>#<13功能:判断face与柱状face是否相交>#<14功能:判断管状edge与管状edge是否相交>#<14功能:判断管状edge与柱状face是否相交>#<15功能:判断柱状face与柱状face是否相交>
页: [1]
查看完整版本: 几何模板函数