向量计算两条link的夹角
2016-02-22 18:55
369 查看
double x1 = (*geom1)[0][num1-1].x();
double y1 = (*geom1)[0][num1-1].y();
double x2 = (*geom1)[0][num1-2].x();
double y2 = (*geom1)[0][num1-2].y();
double x3 = (*geom2)[0][0].x();
double y3 = (*geom2)[0][0].y();
double x4 = (*geom2)[0][1].x();
double y4 = (*geom2)[0][1].y();
double dx1 = x2 -x1;
double dx2 = x4 -x3;
double dy1 = y2 -y1;
double dy2 = y4 -y3;
double angle = (dx1*dx2+dy1*dy2)/sqrt((dx1*dx1+dy1*dy1)*(dx2*dx2+dy2*dy2));
double y1 = (*geom1)[0][num1-1].y();
double x2 = (*geom1)[0][num1-2].x();
double y2 = (*geom1)[0][num1-2].y();
double x3 = (*geom2)[0][0].x();
double y3 = (*geom2)[0][0].y();
double x4 = (*geom2)[0][1].x();
double y4 = (*geom2)[0][1].y();
double dx1 = x2 -x1;
double dx2 = x4 -x3;
double dy1 = y2 -y1;
double dy2 = y4 -y3;
double angle = (dx1*dx2+dy1*dy2)/sqrt((dx1*dx1+dy1*dy1)*(dx2*dx2+dy2*dy2));
相关文章推荐
- android Viewpage 无限循环播放
- getPath()与getAbsolutePath()
- c++模板类(一)理解编译器的编译模板过程
- ZOJ 3211 Dream City(dp)
- 拥抱开源——Linux C/C++程序员必须熟悉的开源项目
- Socket
- Java 处理json经常使用代码
- App UI设计注意
- Jenkins进阶系列之——03parameterized-trigger插件
- SharedPreferences 保存用户名和密码
- 蓝桥杯 K好数(DP)
- Catch That Cow
- ZOJ 3210 A Stack or A Queue?(暴力)
- 喝啤酒(预防老年痴呆的深度搜索)
- 蓝桥杯-回文数(BASIC)
- uboot的makefile分析
- ZOJ 3207 80ers' Memory(STL)
- [python]decimal常用操作和需要注意的地方
- 判断浏览器内核,然后改变图片样式
- Jenkins进阶系列之——01使用email-ext替换Jenkins的默认邮件通知