找回密码
 注册
关于网站域名变更的通知
查看: 656|回复: 5
打印 上一主题 下一主题

请问怎么获得两条line的夹角?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2014-11-12 18:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
如题:请问怎么获得两条line的夹角?目的是找到垂直的线。谢谢!

该用户从未签到

2#
发表于 2014-11-12 21:24 | 只看该作者
这个貌似要自己算了吧,访问startend属性

该用户从未签到

3#
发表于 2014-11-13 09:24 | 只看该作者
用数学方法计算即可,已知条件非常的充足,如果是需要获得直线和弧线的夹角,则先要将弧线转换为小线段,与直线连接一端的最后一条线段求直线和直线的夹角,弧线与弧线的夹角可以参照以上

该用户从未签到

4#
 楼主| 发表于 2014-11-13 11:05 | 只看该作者
betamelody 发表于 2014-11-13 09:24
用数学方法计算即可,已知条件非常的充足,如果是需要获得直线和弧线的夹角,则先要将弧线转换为小线段,与直线 ...

搞定了,代码如下:
coorstartEnd=tmpsel->startEnd
x1= min(car(car(coorstartEnd)) car(cadr(coorstartEnd)))
y1= min(cadr(car(coorstartEnd)) cadr(cadr(coorstartEnd)))
x2= max(car(car(coorstartEnd)) car(cadr(coorstartEnd)))
y2= max(cadr(car(coorstartEnd)) cadr(cadr(coorstartEnd)))

     tmpStartEnd= tmpLeftLine->startEnd
     tmpX1= car(car(tmpStartEnd))
     tmpY1= cadr(car(tmpStartEnd))
     tmpX2= car(cadr(tmpStartEnd))
     tmpY2= cadr(cadr(tmpStartEnd))
     
     DisX1=x2-x1
     DisY1=y2-y1
     DisX2=tmpX2-tmpX1
     DisY2=tmpY2-tmpY1
     tmpsqrt= sqrt((DisX1*DisX1+DisY1*DisY1)*(DisX2*DisX2+DisY2*DisY2))
     tmpCos=(DisX1*DisX2+DisY1*DisY2)/tmpsqrt
     Angle= acos(abs(tmpCos))
     Angle= Angle/3.1415926*180

该用户从未签到

5#
发表于 2014-11-21 16:57 | 只看该作者
这个都可以吗?

该用户从未签到

6#
 楼主| 发表于 2014-11-21 18:00 | 只看该作者

什么意思?我只是写了计算过程的代码,没有做成函数
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-12 04:45 , Processed in 0.125000 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表