求直线与矩形边框的交点

myc 2005-10-28 05:06:38
直线方程为A*y+B*x+dbC=0,提供参数A,B,C;
矩形由左上角和右下角描述,提供四个坐标值xmin,xmax,ymin,ymax;
求此直线和此矩形边框有无交点,有交点求出交点坐标。
哪位做过,帮帮忙啊。谢谢。
...全文
446 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
gumbour 2005-10-29
  • 打赏
  • 举报
回复
楼上程序有问题

(0,0),(100,100)

x+y-1=0明显2个交点(1,0),(0,1)
xphan 2005-10-28
  • 打赏
  • 举报
回复
#include<iostream>
using namespace std;
void main()
{
double A,B,C;
double xmin,ymax,xmax,ymin;
double temp;
temp=-(B*ymax+C)/A;
if( temp>=xmin && temp<=xmax )
cout<<"上边有交点为("<<temp<<","<<ymax<<")";
temp=-(B*ymin+C)/A;
if( temp>=xmin && temp<=xmax )
cout<<"下边有交点为("<<temp<<","<<ymin<<")";
temp=-(A*xmin+C)/B;
if( temp>=ymin && temp<=ymax )
cout<<"左边有交点为("<<xmin<<","<<temp<<")";
temp=-(A*xmax+C)/B;
if( temp>=ymin && temp<=ymax )
cout<<"右边有交点为("<<xmax<<","<<temp<<")";
}
天正建筑TS4.4以来的改进内容(2013.8.1.): 重要改进: 1.[指向索引][剖切索引]修改:避开天正建筑打开时文字跑位问题。对话框增加“图取”按钮。垂直再向左、右时,可以按最短方式标。水平引线不转折时,自动定位在指向点,确保最终指向点不移位;同时删除了无意义的短线。UCS不在世界坐标且没有注释文字时会画错。 2.[注标高]修改:“F-选项”框中增加自动楼层编号的选项。附加文字标注的对话框中,“文字标注图层选择”改为虚显。 3.[消除重线]改错:由于核心函数的排序程序对表长度的限制,当一组同线数量多到一定值时,就会出现ACAD崩溃的情况。本次修改将这个数量值增加将近一倍(因为这个数量已到达该算法的极限)。 4.[单词缩放][单词旋转]修改:增加“J-设基点”选项;可以统一设置旋转、放缩的基点;如果不设置还是文字、属性的的对齐点作为基点。由“{A}拾取”改成“{S}拾取”;为了躲避对“ALL”的影响。改错:处理有些MTEXT会出错中断。 5.[图元过滤]改错:参数勾选“属性、尺寸改值”会导致多种图元混选时出错。修改:选择范围时只选取当前空间的图元(R14除外)。增加过滤选项“增加相关组图元”;在选取样板图元时临时关闭组开关。解决了按文字内容过滤时,选择了带通配符的文字作为特征图元的正确过滤问题。 6.[搜索边界]修改:支持Xline和Ray。 7.[改块颜色]修改:增加拾取图块改名功能。 8.[面积测量]改错:“S选Pline->A面积和”里面的周长没有累加。当使用选项“A加/E减/X乘/D除”时,如果选择了不带数字的文字,程序就会出错中断。修改:在“S选Pline”选项中增加“G分图层统计”选项;可以在命令行显示各图层线的面积和。 9.改错:屏幕左下角显示的内涵比例,切换到图纸空间有时不对。 10.[定义视口]改错:ACAD2010及以上版本,当模型图经过UCS旋转,一个图纸插入第二个视口时,视口内视图倾斜。修改:支持图纸空间坐标旋转的情况。 11.[定异型窗]修改:凸高默认值由400改成600。飘窗、元宝窗和弧形窗增加“窗护栏”选项。 12.[换平面窗]修改:“{S}图上选型”支持人防门。 13.[移动复制]修改:按热键时将热键字符显示在命令行。支持输入距离值的移动、复制。连续复制时,基点由始终不变,改成上一个复制点自动变成下一个基点。 14.[图层恢复]修改:改变从前一次记录只可以恢复一次的方式,改成可多次恢复图层记录。 一般改进: 1.[标高编辑]修改:左右翻转总图标高时,不再对文字做回翻调整。增加“R-旋转”选项。改错:执行“R-旋转”之后,如不退出再次执行“R-旋转”则不成功。改正了翻转时多文字的位置错位的问题。 2.[矩形剪裁][多边剪裁]改错:改正轴线Z轴不为0时,轴线不能剪断的问题。 3.[编排序号]修改:在“A 单词编号”选项中,如拾取的单词所在层锁定,则命令行提示用户重新拾取。程序原不考虑锁定限制。 4.[层填图案]改错:ACAD2010及以上版本填充“图案库”中的“涂黑”出错。在ACAD2011及以上版本,当填充失败时,可能会误将图上某一图元的层改名成“公共填充”层。修改:绘制图案的程序里面有改变系统变量snapbase的操作;在ACAD2006及以上版本,改成改变系统变量hporigin;当执行该操作时,将其坐标的百位以下的数四舍五入取零。 5.[图库编辑]修改:进入“放大”框,当光标在图名编辑框时,按“前一个”或“下一个”,光标就仍然保持在图名编辑框。改错:当一个目录下的图少于4个时,“前一个”和“下一个”变虚不能恢复。退出放大框时,图名会变成最后退出框的图名,而当前图的光标还在进入放大框之前的位置。 6.图库修改:将平面空洞块的一侧一根0长度线,改为两侧各一根。改错:改正放大框翻页后按[OK]不能正确选择的问题。 7.图库->平面门增加:新加一种“带百叶回风口的门”。 8.图库->平面洁具与厨具增加:新加四种洁具“洗手盆500x400”、“带水箱坐便器500x700”、“蹲便器500x800”和“小便器400x400”。 9.图库->平面洁具与厨具修改:增加“洗涤单池600x600”,修改“洗涤双池600x900”。 10.[改尺寸值]修改:其中“A注楼梯踏步”选项,等号后面的值由具体数字改成实际长度(即改为“<>”)。 11.[剖视符号][平面生剖]修改:剖视示意线由虚改实,这样中途ZOOM就不会让线消失。 12.[平面生剖]改错:避免在完全没有取到平面图时出错,并且在这种情况出命令行提示。 13.[断面符号]修改:剖视示意线由虚改实,这样中途ZOOM就不会让线消失。增加了剖断红线的停留。 14.[手工散水]修改:在点取偏移方向时增加默认“退出”。 15.[定义柱墙]改错:(2012.9.14)改图案带出来的错误。当UCS不在世界坐标系时,处理图案会跑位。修改:增加支持面域。 16.门窗插入改错:改正虚线墙上插门窗有时不成功的情况。修改:“S选已有门窗”增加支持洁具门窗。 17.[柱子插入][柱子修改]修改:对话框初始状态,焦点落在“柱宽”。“柱宽”、“柱高”和“直径”的输入框,改成不允许输入小于或等于0的数。改错:切换方柱、圆柱时出错(2012.10.29改出的错误)。 18.[多边剪裁]修改:剪裁框线由虚改实,这样中途ZOOM就不会让线消失。改错:剖断线的参数提示“出头比例”有误。 19.[图块输出]修改:在插入动态块时,purge掉其外包块。 20.[自然土壤][素土夯实]修改:由单段绘制改成多段绘制。 21.[自然土壤]修改:增加后置显示处理。 22.[图案擦除]改错:线图案由组改成插入块后,该命令一直没有修改,导致无法擦除线图案。 23.[柱子移动]改错:消除因中途退出造成的要移动柱子亮显不能恢复问题。修改:拖动柱子边框之前,增加“柱宽、柱高”的显示。 24.[墙线移动]改错:处理两点直线门窗和人防门有错误。 25.[文字对齐]改错:处理Mtext时对齐点的修改不准确,造成“L”、“M”、“R”三种对齐方式的默认垂直位置不一定对。 26.[层填图案][换平面窗]修改:将对话框的默认焦点落在“确定”上。 27.[初始设置]改错:“导入、导出”的CFG数据里面少了[造门窗表]的三项。“导入”后,初始设置对话框的选项没有恢复。取消勾选“字高小于15”后,“文字高”中“引出、做法”值不对。“文字高(0按标注字高)”中“面积”与[面积测量]中不一致。 28.[楼板方洞]改错:解决“D-取已有矩形”绘制时容易出错的问题。UCS变化导致画错。修改:由LINE改成PLINE,并且取消“组”。 29.[单词旋转]改错:遇到Mtext属性有可能不工作。 30.[尺寸平移][尺寸纵移]修改:过滤锁定层的尺寸线。 31.[写表文字][行列输入]修改:字高默认值由普通文字字高,改为采用表格文字字高。 32.[多轴变号]改错:改正完全重新编号时有可能忽略一部分轴线的情况。 33.[手工散水][自动散水]修改:在程序结束后还可以用P选择集选取。。 34.[做块处理]修改:对取到的要作为块基点的型心位置做取整处理;这是为了避免因为归整图形导致块移位。 35.[单轴变号]改错:不同方向镜像后的轴号,以及普通轴号与分轴号之间的转换,需要做不同的处理(原只有一部分情况处理正确)。 36.尺寸标注改错:dimstyle设置的系统变量"dimasz"由100改成150;相关图块_dimx01、_dimx02和_dimx03也相应做了修改。 37.[调整宽高]修改:增加“A-原地缩放”选项,用于对每个插入块分别做以其插入点为基点的放缩。增加锁定层过滤。其中“A-原地缩放”的默认比例改成本图记忆。 38.[整理图形]修改:“归整图形”处理时,插入块取消对XYZ比例的归整。 39.[增加轴线]修改:拾取样板轴线时过滤锁定层。 40.[轴号外偏]改错:过滤锁定层补充修改(原只改了第一问,忽略了第二问)。 41.[划分网格]修改:增加一项数据输入——网格线两端各缩短的长度。 42.[划分网格][划分区格]修改:增加锁定层过滤。 43.[画双线墙](平面、剖面)[双线绘制][道路绘制]修改:增加当前绘制层和颜色的提示。 44.[当前墙层]改错:当墙层已经存在时,墙层颜色以实际颜色为准。 45.[门窗移动]改错:当移动前门窗一侧与移动后的门窗另一侧刚好重合时会出错。 46.[图元改层][当前图层]修改:“指定目标图层”对话框增加默认值的本图记忆。 47.[图元改层]修改:增加“D-当前层”选项,可以将所选图元改成当前层;命令结束时,命令行提示有多少图元(属性)更改图层到哪一层(是否当前层)。 48.[图层过滤]改错:“图层拾取”时亮显;“定义成组”勾选在图中拾取图层后会丢失;层列表颜色按各层的实际颜色。 49.[加粗线段][线型变比][虚实变换][交点打断]修改:增加锁定层过滤。 50.[尺寸避让]改错:出现该命令修改设置,其他命令出现不一致的情况。 51.多文档标签修改:右键菜单增加“打开文档目录”选项。改错:解决全部关闭图档其中有新图时,会再次打开新图的问题。 52.[防水层]改错:由线改成块后应该生成在“公共填充”层。 53.[门窗名称][换平面窗]修改:“用门窗名称选取”选项中选取全部门窗的范围,由全图改为当前空间。 54.[做法标注]修改:自动换行距离系数由1改成0.8。改错:导出CSV文件时中文被略去(一个从ACAD2007就开始出现的BUG)。 55.[多线编辑]改错:“A-优化”当首末端有重合点,且在可优化的直线上时,程序不能一次全部完成优化。 56.[剖切索引]改错:当最后的引线拖到点取的转折点相反的方向时,剖断粗线的方向会错。点取剖视方向时退出,方向箭头会留在屏幕上。 57.[多用擦除]修改:程序结束时,增加擦除图元数量的命令行提示。 58.[尺寸合并]改错:直接回车退出会出现nil。 59.[两点尺寸]修改:回车“拾取尺寸线”,被拾取的尺寸线亮显。 60.[单词缩放]改错:“J-设基点”选项在单词非水平时出错。 61.[中心插窗][中心插门][中心高窗]改错:当插“A连续门/D等分窗”输入门窗宽带时,不再允许选择“S选已有门窗/F两点定中/G满墙宽”选项。 62.[指向索引][剖切索引][引出标注][做法标注][文字图名][注标高]修改:将标高标注线的尾部点X值取整。 63.[引出标注]改错:对话框中“图中取词W...”改成“图中取词W <”。 64.[自动排版]改错:其中“N合成一行”出现合成后的文字位置不确定。 65.[移双线墙][墙线移动][改变墙厚][整体移墙]修改:门口线由只能在“口线”层,改成可以在“口线、门窗、地面”层。 66.[墙线移动][移双线墙]修改:当门口线的Z坐标不为0时不成功。 67.[移双线墙]改错:当一个门的门口线超过一条时不成功。 68.[改变墙厚]改错:极少数情况门口线没有移动。 69.[楼板方洞][楼板圆洞]改错:点取插入位置时退出,会留下暂时不可见的洞口。 70.[墙线修补]改错:消除对接单墙线时产生的零长度线;同时该情况不再作为不等长墙垛出提示。 71.[墙端封口][墙线修补]修改:做长短墙线封口时,“长、短、中”选择的默认值,由不记忆改成本图记忆。 72.[墙生轴网]修改:使生成的轴网可以用“P”选择集取得。 73.鼠标右键菜单修改:鼠标右键(同时按住Shift)弹出菜单,原使用了很旧的菜单,有缺项;现改成比较新,无缺项。 74.[轴网标注][逐点轴标]修改:将第一道尺寸线到轴号圈边缘的距离由600改成800。 75.[轴网标注](剖面)修改:将第一道尺寸线到轴号圈边缘的距离由400改成800。 76.[连接线段]修改:增加一种连接方式,可以将不闭合的Pline线首尾连接。选择集取连接的线段时,增加锁定层过滤。 77.[加剖断线]改错:当不选“按当前比例自动调整”且内涵比例不是1:100时,双线遮挡剖断的位置不在正中。

33,006

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧