现在的位置: 首页 > 综合 > 正文

方法论实践之剪切算法设计

2017年12月11日 ⁄ 综合 ⁄ 共 578字 ⁄ 字号 评论关闭

需求描述如下:

修剪trim

定义:

执行修剪命令,将要修剪的对象在选中的对象处形成交点,然后把超出选中对象的部分修剪掉;修剪的对象可重复选择;

激活方式:

点击修剪图标;命令行输入trim回车;命令行输入tr回车(字母不分大小写)

命令行:

>trimTR)(回车)..……………………………激活修剪命令

>选择剪切边:(回车或鼠标右键单击).……….鼠标点选或框选选择剪切边

>选择要修剪的对象:……………………………鼠标点选或框选延伸的对象(可重复)

>esc………………………………………………...esc键结束命令

注:(可重复)部分,即可以重复选择修剪的对象,直到按下esc键为止。

开始分析。

先从最简单的情况入手。

裁剪线为单条直线段,选中的裁剪对象为单条直线段。

 

确定这种情况下的裁剪规则。

先选中裁剪对象,即图中虚线。鼠标选中被裁剪对象,将对象分成左右两个部分,鼠标的位置决定裁剪哪侧对象。

这个法则完全可以解决这种情况下的问题。

这种法则也可以处理下图情况。

但不能处理如下情况

进而修改方案:

计算分割对象与被分割对象交点。设有n个交点,被分割对象分成k段。当n>1k>1时,裁剪命令有效。用户指定删除某一段。

裁剪命令实际上是打断和删除两个操作的组合。

这种方案可以解决如上问题。

也可以解决:

圆弧,圆等复杂情况下的裁剪情况。

这个例子说明.描述清问题,就解决了一半问题。

抱歉!评论已关闭.