已知两点获取单位向量 和 单位垂直向量
已知两点获取单位向量 和 单位垂直向量
/************************************************************************
*函数名: getUnitVector
*
*函数作用: 根据两点获取单位向量
*
*函数参数:
*CvPoint pointO - 起点
*CvPoint pointA - 终点
*
*函数返回值:
*CvPoint2D32f 两点之间的单位向量
**************************************************************************/
CvPoint2D32f getUnitVector (CvPoint pointO,CvPoint pointA )
{CvPoint2D32f point;float distance;distance = powf((pointO.x - pointA.x),2) + powf((pointO.y - pointA.y),2);distance = sqrtf(distance);point.x = float(pointA.x - pointO.x)/distance;point.y = float(pointA.y - pointO.y)/distance;return point;
}/************************************************************************
*函数名: getUnitVerticalVector
*
*函数作用: 根据两点获取垂直单位向量
*
*函数参数:
*CvPoint pointO - 起点
*CvPoint pointA - 终点
*int type - 0 表示方向是向左上
*
*函数返回值:
*CvPoint2D32f 两点之间的垂直单位向量
**************************************************************************/
CvPoint2D32f getUnitVerticalVector (CvPoint pointO,CvPoint pointA,int type )
{CvPoint point;CvPoint2D32f p;point.x = pointA.x - pointO.x;point.y = pointA.y - pointO.y;if ((0 == point.x) && ( 0 == point.y)){p.x = 0;p.y = 0;printf(" getUnitVerticalVector : error, ( 0 == point.x) && if ( 0 == point.y)");return p;}if ( 0 == point.x){if (0 == type)//垂直向量的y分量小于于0,向左上{p.x = -1;}else{p.x = -1;}p.y = 0;return p;}if ( 0 == point.y)//垂直向量的y分量小于于0,向左上{p.x = 0;p.y = -1;//图片中越往下越大,所以 y坐标= -1 表示向上return p;}//求垂直单位向量p/*float pow(float x, float y); 原型:在TC2.0中原型为extern float pow(float x, float y); ,而在VC6.0中原型为double pow( double x, double y );头文件:math.h/cmath(C++中)功能:计算x的y次幂。返回值:x应大于零,返回幂指数的结果。返回类型:double型,int,float会给与警告! */p.y = - fabsf((point.x * 1.0f)/sqrtf((powf(point.x, 2)) + powf(point.y, 2)));p.x = - ((point.y * 1.0f)/point.x)*p.y;if (0 == type)//垂直向量的y分量小于0,向左上{if (0 < p.y){p.x = - p.x;p.y = - p.y;}}else{if (0 > p.y)//垂直向量的y分量大于0,向下{p.x = - p.x;p.y = - p.y;}}return p;
}
已知两点获取单位向量 和 单位垂直向量相关推荐
- 关于已知两点经纬度求球面最短距离的公式推导
已知两点经纬度计算球面距离的公式,一搜一大堆,形式如下: 可是至于这个公式为什么是这样的,今天推导了一下,详细推导过程如下.首先画个图(图1),要不然空间想象能力差的话容易犯糊涂.首先对图1做个大致的 ...
- 已知两点坐标拾取怎么操作_已知的操作员学习-第4部分
已知两点坐标拾取怎么操作 有关深层学习的FAU讲义 (FAU LECTURE NOTES ON DEEP LEARNING) These are the lecture notes for FAU's ...
- 已知两点坐标拾取怎么操作_已知的操作员学习-第3部分
已知两点坐标拾取怎么操作 有关深层学习的FAU讲义 (FAU LECTURE NOTES ON DEEP LEARNING) These are the lecture notes for FAU's ...
- 已知两点经纬度求球面最短距离的公式推导过程(几何法加向量法)
已知两点经纬度计算球面距离的公式,一搜一大堆,形式如下: 可是至于这个公式为什么是这样的,今天推导了一下,详细推导过程如下.首先画个图(图1),要不然空间想象能力差的话容易犯糊涂.首先对图1做个大致的 ...
- 已知两点坐标,求直线方程、距离其中一点距离为L的某点
总觉得代码理应是无所不能的,尤其是在复杂的计算方面.而最近一个项目,要求计算坐标点,这尼玛遇到了要解方程组的情况,还是一元二次方程组.当时整个人都不好了,上网到处搜寻,也无法找到那种可以把表达式列出来 ...
- C#已知两点(线段),求互相垂直平分两点(线段)。
/// <summary>/// 已知两点(线段),求互相垂直平分两点(线段)./// </summary>/// <param name="x1"& ...
- matlab 计算大圆距离,已知两点经纬度计算两点之间的大圆距离
Const r As Double = 6378137 '地球半径常量 Const PI As Double = 3.1415926 '圆周率常量 Private Type LatLog lat As ...
- 转 已知两点坐标和半径求圆心坐标程序C++
数学思想:利用圆方程和直线方程 已知两点坐标和半径求圆心坐标程序 #include <iostream> #include <fstream> #include <cma ...
- 已知两点,求两点与原点连线的角度
/* 怎么求夹角:已知两点坐标要求其到原点连线的夹角, 那么我们可以用向量去做, 用向量的积除以向量模的乘积,在求其反函数, 然后转换为角度就可以知道其角度为多少了: 向量的模的乘积怎么算: sqrt ...
最新文章
- linux汇编div除法,汇编:div 除法指令
- RPC-client异步收发核心细节?
- 数据质量和模型调优哪个更重要?
- 21、java中的反射机制
- 第八十五期:一文彻底搞懂cookie和session
- stm32 web get 参数_BlackHat2020议题之Web缓存投毒
- 【cv2】:关于opencv-Python的函数
- 下三角矩阵的逆矩阵_上三角或下三角矩阵的逆矩阵能否简便方法求出??只有主副对角线不为0的矩阵能否直接写出逆矩阵。...
- python自带模块可以控制鼠标吗_python自带模块模拟鼠标和键盘操作
- SuSE Linux 应用与安装
- θ Some 与 θ All 子查询
- 按钮点击触发的事件只生效一次
- leaks will report false positives while the environment variable NSZombiesEnable is active
- discuz内置代码
- pythonqq机器人酷q_基于python和酷Q的QQ机器人开发实践(1)
- 程序员数学(29)–投影与视图
- Elasticsearch 7.7.0 高阶篇-聚合技术
- 分享一个Java和Android学习视频
- HttpMessageNotReadableException: Required request body is missing
- 负面营销 —— 是饮鸩止渴还是引爆流量
热门文章
- scala下使用akka计算pi
- hdu-4933-Miaomiao's Function(BC#4 1003)
- CSDN日报20170515 ——《 聊聊我对 WannaCry 产生的感慨》
- uniapp sl-filter条件筛选组件
- 第7章 Python3 数据类型转换教程
- 微信小程序 如何上传音视频到百度云Bos cloud BCE
- windows10局域网设置固定IP地址
- CSP 2021考前每日2题(10-2)洛谷 P5020 货币系统 + USACO2021铜组 Uddered but not Herd
- 基于JAVAweb开发数码产品推荐平台系统设计与实现计算机毕业设计源码+数据库+lw文档+系统+部署
- 08.数据结构:第一个动态结构-链表