找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 278|回复: 5
打印 上一主题 下一主题

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

[复制链接]

70

主题

197

帖子

1171

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

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

EDA365欢迎您!

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

x
如题:请问怎么获得两条line的夹角?目的是找到垂直的线。谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏1 支持!支持! 反对!反对!

24

主题

1796

帖子

8046

积分

六级会员(60)

Rank: 6Rank: 6

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

7

主题

444

帖子

4989

积分

EDA365版主(50)

Rank: 5

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

70

主题

197

帖子

1171

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1171
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

0

主题

2

帖子

46

积分

二级会员(20)

Rank: 2Rank: 2

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

70

主题

197

帖子

1171

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

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

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

本版积分规则

关闭

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

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2025-2-24 01:17 , Processed in 0.057675 second(s), 32 queries , Gzip On.

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

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

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