1963年,I.E. Sutherland在他的 Sketchpad系统中第一个采用了用约束定义物体的方法,此法成为以后约束满足型智能CA方法的先驱。最早对智能CAD的研究使用专家系统的办法。国际上最早研究智能CAD的单位是美国的卡耐基-梅隆大学。著名的人工智能学者H.A.Simon和CAD学者Eastma于20世纪70年代中期带领一批博士研究生研究住宅空间的综合。澳大利亚悉尼大学以J.S.Gero教授为首的Design Computing Unit 从研究工程设计优化方法着手,于20世纪 70 年代末开始转向设计中的人工智能技术。
目前,CAD的研究中存在着三个前沿问题:第一个问题是解决方案的形成,第二个问题是围绕着设计对象、设计知识的表达展开的研究,第三个问题是围绕智能CAD系统的自动作图功能研究,即几何约束求解。
现在陈东风和杨韦就是想要直接挑战智能CAD系统这样的科技前沿,不得不说确实步子迈的有点大。
“昌宏,你说的问题我有思考过,不光是欠约束情况下全参数的方程组求解问题,还有过约束的情况,需要把相同的或者部分重叠的条件进行过滤。其实这个问题归根到底是几何约束求解的问题。这个技术不能说是先进,但是确实是几何引擎成败的关键。我决心要把几何约束的算法融合到几何引擎中。”陈东风坚定的说。
杨辉看着陈东风说:“我看这个问题不用争论了,东风你能把几何约束的算法搞出来,那么皆大欢喜,就看你有没有信心了,不过这种纯数学的问题恐怕我是帮不了你了。不过这段时间我会潜心研究C++和几何引擎的价格,等你计算出几何约束算法从而解决欠(过)约束情况下全参数方程证求解问题,那么我们就立即投入到几何引擎的编程工作中,怎么样?”
杨辉的提议是不是办法的办法,算法这个核心搞出来了,那么就成功了一半自然没有问题。如果陈东风攻克不了这个问题,那么他的提议也就是没有了价值,可能几何引擎这个项目就黄了。
想要理解几何约束求解那么就必须要了解什么是几何体。几何体的定义是一个几何图形中最基本最具有特征的几何元素。例如2维中的点、直线、线段、圆、圆弧和三维中的平面、球面、曲面等。
在几何体的定义上引申出来的几何约束的定义是,两个或多个几何体之间所具有的几何关系。例如点与点之间的距离,直线和直线之间的角度,两条直线垂直,直线与圆相切等。
陈东风自从接过几何约束的问题后,就全心全意的投入到了其中,他首先将几何形式的几何约束进行了分类,不外乎几何形式的几何约束和代数代数形式的几何约束。
几何形式的几何约束包括尺寸约束和拓扑约束。
所谓尺寸约束一般是由用户显式输入的。通常包括两点之间的距离、直线与直线之间的角度、点到直线的距离、半径约束和两条平行直线之间的距离等。
所谓拓扑约束束一般是隐含的,是由系统根据草图自动建立的。通常包括水平约、两条直线平行和垂直、三点共线、两个角相等、两个圆共心等。
根据几何约束中所涉及的几何体的个数,还可以将几何形式的几何约束分为三类。一元约束:只涉及一个几何体的约束。这类几何约束很少见,例如线段的长度就是一个一元约束。
二元约束:涉及到两个几何体的约束,大多数的几何约束属于此类。