假设一个矩形的四个顶点是四个对象,如何做到,从一个顶点出发遍历一遍各个顶点?不同方向的(比如顺时针
和拟时针)这是链表问题么?如何设计一个顶点的属性?
就是一个顶点最小存储什么对象可以从不同角度遍历? 比如一个节点对象存储向右和向左的两个关联对象的信息?
然后传递到下一个对象如此遍历?
如果不是矩形而是多边形怎么办?
和拟时针)这是链表问题么?如何设计一个顶点的属性?
就是一个顶点最小存储什么对象可以从不同角度遍历? 比如一个节点对象存储向右和向左的两个关联对象的信息?
然后传递到下一个对象如此遍历?
如果不是矩形而是多边形怎么办?
解决方案 »
- 从数据库中读取combox1中一项的ID,在程序加载时怎样设置combox1初始加载时选中项的ID与读取的ID一样?
- 如何批量创建ListViewItem对象
- 事件中的e何sender
- 关于跨页传对象。用哪种方法好,Session不行,占资源,Cookie,有大小限制,Server.Transfer....
- 想要一些WINFORM的SOCKET这方面的项目实例
- 大侠们,如何实现窗体的拆分和合并呢?如skype聊天窗体样。
- 统计LISTVIEW里面每一列的数值
- 水晶报表
- 各位达人,如何在WinForm关闭的时候传一个或多个值到另外一个窗体阿?
- 请问<<ASP.NET WEB服务高级编程>>这本书怎么样,示例是否是用C#写。是否适合WEB服务入门?
- 急~~~~~~~~~~~~~~~~~ajax获取返回json值
- sql
对于图形系统,矩形不会存4个顶点,存左上和右下两个点就够了!
多边形:存List<Point>,Draw是,序号n与n+1之间的画直线
简单点也可以就用个数组,数组下标就为编号,只需要保留x,y坐标就可以了。
顺时针排
int Compare(Object obj1,Object obj2){
if(obj1.x<obj2.x){return -1;}
else if(obj1.x>obj2.x){return 1;}
else if(obj1.x=obj2.x){
if(obj1.y<obj2.y){return -1;}else{return 1;}
}
}逆时针int Compare(Object obj1,Object obj2){
if(obj1.x<obj2.x){return 1;}
else if(obj1.x>obj2.x){return -1;}
else if(obj1.x=obj2.x){
if(obj1.y<obj2.y){return 1;}else{return -1;}
}
}
确实是跟图形系统有关,描述的可能不是很清楚,只是以矩形为例子,
换种描述方法:
比如 一个图形系统,可以考虑成类似Visio,有很多元件,元件和元件之间
用连接线连接,一个元件可能跟多个元件连接,如果从一个元件出发,遍历所有跟它关联的
元件,要实现这种遍历,元件的属性应该定义什么?刚看了些数据结构方面的东西,感觉数据结构中的“图”,貌似是解决该问题的,只是这块儿不熟。
欢迎大家继续讨论