我在VC下做了一个画图的小程序,主要实现了以下功能:
1、画点、画线、画圆,
2、拖动图形元素
还有一些其他功能和本文求助的没有直接关系
另外我定义的图形CDot、CLine、CCircle分别存储了点的横纵坐标、线的起点和终点的横纵坐标、圆心的横纵坐标以及圆的半径,这些作为图形元素的位置参数想向各位前辈请教一个棘手的问题,想了一个礼拜了解决不了问题是这样的,假设在屏幕上画了一些图形,其中若干个图形之间有约束关系,所谓的约束关系就是图形之间的特殊位置关系,例如重合、平行、垂直、相切等
现在想实现的功能是在拖动一个图形的时候,同步改变和该图形相互之间有约束关系的图形的参数,产生所谓的“联动”效果。不知道该怎么实现。
如果建立图的数据结构来表示这种图形元素之间的相互约束关系,该问题有两个层次:
1、该图是一棵树,既图形元素之间的约束关系不形成环,相对简单
2、如果图中形成环,则有人说可以通过对环上的图形之间建立非线性方程组,利用数值解法来确定心得参数。不知道大家有没有这方面的经验和想法,给我点提示好吗?真得挺着急的,谢谢大家了