计算两点之间的距离,两点之间的斜率(角度)--秀清

//
//  ViewController.m
//  勾股定理
//
//  Created by 张秀清 on 15/6/8.
//  Copyright (c) 2015年 张秀清. All rights reserved.
//

#import "ViewController.h"

//角度转弧度
#define degreesToradian(x) (M_PI*x/180.0)

//弧度转角度
#define radiansToDegrees(x) (180.0*x/M_PI)

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    CGPoint point1 = CGPointMake(100, 100);
    CGPoint point2 = CGPointMake(200, 200);

    CGFloat distance = [self distanceBetweenPoints:point1 point2:point2];
    NSLog(@"%f",distance);

    CGFloat angle    = [self angleBetweenPoints:point1 point2:point2];
    NSLog(@"%f",angle);

//    CGFloat x = (point1.x + distance) * cos(angle);
//    CGFloat y = (point1.y + distance) * sin(angle);
//
//    NSLog(@"%f---%f",x,y);
}

#pragma mark - 计算两点间的距离
-(CGFloat)distanceBetweenPoints:(CGPoint)point1 point2:(CGPoint)point2
{
    CGFloat distanceX = point2.x - point1.x;
    CGFloat distanceY = point2.y - point1.y;

    return sqrt(distanceX*distanceX + distanceY*distanceY);
}

#pragma mark - 计算两点间的角度
-(CGFloat)angleBetweenPoints:(CGPoint)point1 point2:(CGPoint)point2
{
    CGFloat height = point2.y - point1.y;
    CGFloat width  = point1.x - point2.x;

    CGFloat rads   = atan(height/width);

    return radiansToDegrees(rads);

}

@end
时间: 2024-07-28 20:48:08

计算两点之间的距离,两点之间的斜率(角度)--秀清的相关文章

mysql 下 计算 两点 经纬度 之间的距离

公式如下,单位米: 第一点经纬度:lng1 lat1 第二点经纬度:lng2 lat2 round(6378.138*2*asin(sqrt(pow(sin( (lat1*pi()/180-lat2*pi()/180)/2),2)+cos(lat1*pi()/180)*cos(lat2*pi()/180)* pow(sin( (lng1*pi()/180-lng2*pi()/180)/2),2)))*1000) 例如: SELECT store_id,lng,lat, ROUND(6378.13

利用结构类型的相关知识计算两点之间的距离

#include<stdio.h>#include<stdlib.h>#include<math.h> struct point{ /*点的结构类型名*/ float x; /*横坐标*/ float y; /*纵坐标*/ }; struct point readPoint(); /*函数原型声明*/float distance(struct point p1,struct point p2);/*主函数*/ int main(void){ struct point a

2D和3D空间中计算两点之间的距离

自己在做游戏的忘记了Unity帮我们提供计算两点之间的距离,在百度搜索了下. 原来有一个公式自己就写了一个方法O(∩_∩)O~,到僵尸到达某一个点之后就向另一个奔跑过去 /// <summary> /// 3维中如何计算两点之间的距离 /// </summary> /// <param name="p1"></param> /// <param name="p2"></param> /// &l

openlayer3计算两点之间的距离

openlayer3计算两点之间的距离 对应的openlayers的版本为3.7. 主要用的接口是ol.Sphere.haversineDistance([x1,y1],[x2,y2]): 4326坐标系中计算两点距离的方式为: var wgs84Sphere = new ol.Sphere(6378137); wgs84Sphere.haversineDistance(C1,C2); 示例为: var wgs84Sphere = new ol.Sphere(6378137); wgs84Sph

使用友元函数计算两点之间的距离

#include <iostream> #include <cmath> using namespace std; class CPoint//点类 { private: double x;//横坐标 double y;//纵坐标 public: //使用初始化表初始化数据成员 CPoint(double xx=0,double yy=0):x(xx),y(yy){} //定义友元函数用于计算两点之间的距离 friend double Distance(CPoint &p1

sql server2008根据经纬度计算两点之间的距离

--通过经纬度计算两点之间的距离 create FUNCTION [dbo].[fnGetDistanceNew] --LatBegin 开始经度 --LngBegin 开始维度 --29.490295,106.486654,29.615467, 106.581515 (@LatBegin1 varchar(128), @LngBegin1 varchar(128),@location varchar(128)) Returns real AS BEGIN --转换location字段,防止字段

转:mysql 下 计算 两点 经纬度 之间的距离 计算结果排序

转自cdsn:https://blog.csdn.net/u013160024/article/details/43635053?utm_source=blogxgwz0 公式如下,单位米: 第一点经纬度:lng1 lat1 第二点经纬度:lng2 lat2 round(6378.138*2*asin(sqrt(pow(sin( (lat1*pi()/180-lat2*pi()/180)/2),2)+cos(lat1*pi()/180)*cos(lat2*pi()/180)* pow(sin(

JAVA实现求一点到另两点连线的距离,计算两点之间的距离

直接上代码 /** *计算两点之间距离 */ public static double getDistance(Point start,Point end){ double lat1=start.getX().doubleValue(); double lat2=end.getX().doubleValue(); double lon1=start.getY().doubleValue(); double lon2=end.getY().doubleValue(); return Math.sq

PHP 根据两点的坐标计算之间的距离

define('PI',3.1415926535898); define('EARTH_RADIUS',6378.137); //计算范围,可以做搜索用户 function GetRange($lat,$lon,$raidus){ //计算纬度 $degree = (24901 * 1609) / 360.0; $dpmLat = 1 / $degree; $radiusLat = $dpmLat * $raidus; $minLat = $lat - $radiusLat; //得到最小纬度