投影点坐标

http://www.jb51.net/article/44271.htm

// VerticalPointFromCircletoLine.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <math.h>

typedef struct
{
float X;
float Y;
}Point;

void GetProjectivePoint(Point A, double k, Point R, Point* pTarget)
{
if (k == 0) //垂线斜率不存在情况
{
pTarget->X = R.X;
pTarget->Y = A.Y;
}
else
{
pTarget->X = (float)((k * A.X + R.X / k + R.Y - A.Y) / (1 / k + k));
pTarget->Y = (float)(-1 / k * (pTarget->X - R.X) + R.Y);
}
}

int _tmain(int argc, _TCHAR* argv[])
{
double k = 0;
Point A ={4,0};
Point B ={0,6};
Point R ={6,6};
Point Target ={0};
k = (B.Y-A.Y)/(B.X-A.X);
GetProjectivePoint(A,k,R,&Target);

return 0;
}

时间: 2024-11-07 15:40:38

投影点坐标的相关文章

GIS的课后复习:空间数据处理 - 1.2坐标投影

先来扯扯为什么要有坐标投影? 官方的定义是–不规则的地球表面可以用地球椭球面来替代,地球椭球面是不可展曲面,而地图是一个平面,将地球椭球面上的点映射到平面上来的方法,称为地图投影. 理解开来就是:地球是个球,而我们想要的却是一张平面图,这个变换的过程就像上图所示:相像一个发光点照向要投影的面,记录各点投影后的位置. 投影的最终目的是:建立地球椭球面上点的坐标(λ,φ)与平面上对应的坐标(x,y)之间的函数关系   而在把球展开成平面的过程中,必定要产生形变误差,主要分为长度上的变形.角度上的变形

[转载]详解OpenGL的坐标系、投影和几何变换

详解OpenGL的坐标系.投影和几何变换 转载http://blog.csdn.net/blues1021/article/details/51535398# OPengl的渲染流程是先全部设置好数据和状态,GL_MODELVIEW是将当前要变换的空间向量和模型视图矩阵当前最顶矩阵(会乘以摄像机变换乘投影矩阵的矩阵得最终变换矩阵)关联存储好包括状态设置,提交渲染时候glflush才会提交渲染数据和命令. glPushMatrix()和glPopMatrix()的配对使用目的是方便得到需要变换的最

OpenGL 4.0 GLSL 实现 投影纹理映射(Projective Texture Mapping) (转)

http://blog.csdn.net/zhuyingqingfen/article/details/19331721 分类: GLSL 投影纹理映射 (projective texture mapping):就是把纹理投射到场景的物体上,就像一个投影机把幻灯片投影到其他物体上一样. 如下图:用左边的纹理图像投影到一个茶壶上 投影纹理的实现方法: 其 实最重要的一点就是确定纹理坐标,纹理坐标的确定依赖于物体表面点的相对位置和投影机的位置.在OpenGL中我们可以定义一个camera,我们定义一

使用ArcGIS对栅格数据批量定义投影及投影

目标:对很多无坐标系显示为投影坐标系坐标的栅格文件定义投影后转为地理坐标系 工具:ArcGIS+Excel 方法: 1.     对原始无坐标系栅格数据批处理定义投影坐标系 为了查看数据方便,我们将地图坐标系首先定义为预定范围的坐标系(如某投影坐标系) 使用工具箱的[投影与转换]工具对未定义坐标系的数据做出定义坐标系处理 此处我们在[Project]右击选择“Batch”对多原始数据做批处理,如下图,在[Input Dataset or feature class]中直接将原始tif文件全部拖动

地图投影

投影的表面常见的有锥面.柱面与平面. 平面投影:两极,圆形区域:方向不变,最短距离是直线. 需要投影的理由很简单,我们看到的地图或者在计算机屏幕看到的地图都是平面的或者说是二维的,但是地球却不是平的.所以我们必须想出一种办法让地球表面上 的点跟平面上的点一一对应起来,而这种变换的结果就是把地球表面的点对应到笛卡儿坐标系统中.投影的方式主要有三种,见图6.每一种投影都会有不同程度的 变形,要么是长度变形.要么是角度变形.要么是面积变形. 为了应用于不同的目的,有些投影没有角度变形,但是其它两种变形

h5新特性

  CSDN博客 Gane_Cheng HTML5新特性浅谈 发表于2016/10/17 21:25:58  7809人阅读 分类: 前端 转载请注明出处: http://blog.csdn.net/gane_cheng/article/details/52819118 http://www.ganecheng.tech/blog/52819118.html (浏览效果更好) 2014年10月29日,W3C宣布,经过接近8年的艰苦努力,HTML5标准规范终于制定完成. HTML5将会取代

车牌识别及验证码识别的一般思路

http://www.pin5i.com/showtopic-22246.html 描述一下思路及算法. 全文分两部分,第一部分讲车牌识别及普通验证码这一类识别的普通方法,第二部分讲对类似QQ验证码,Gmail验证码这一类变态验证码的识别方法和思路. 一.车牌/验证码识别的普通方法 车牌.验证码识别的普通方法为: (1)      将图片灰度化与二值化 (2)      去噪,然后切割成一个一个的字符 (3)      提取每一个字符的特征,生成特征矢量或特征矩阵 (4)      分类与学习.

《Master Opencv...读书笔记》非刚性人脸跟踪 IV (终)

一.我们目前为止拥有什么 为了有一个连续完整的认识,在介绍最后一节前,先梳理下至今我们训练了哪些数据特征,并且训练它们的目的是什么. 1.      ft_data:利用手工标注工具,获取最原始的样本训练数据,包括以下内容: 图像名称集合imnames:表明在哪幅图像上标注特征点: 二维坐标集合points:手工标准点,后续更高级别特征均围绕这些特征点展开: 对称坐标索引集合symmetry:标注样本图像的镜像图像上的特征点,扩大样本库: 连接索引集合connections:描述手工标注的人脸特

OpenLayers学习--加载指定等级指定范围的高德地图数据

在使用高德地图数据的时候,我们通常不需要加载世界地图,只需要指定项目片区地图数据即可:同样,我们也不需要所有等级的数据,只需要指定等级数据即可. 按照<OpenLayers学习--Layer体系(一)>中的方法,直接使用XYZ图层类来加载,显然无法实现该功能.主要原因有以下两点: 1.没有指定地图的分辨率 OpenLayers的机制就是,当你没有给Layer指定分辨率,也没有给Map指定分辨率,则直接将地图的最大范围的左上角点作为切图原点,并且按照18级来计算切图分辨率,分辨率是以1/2向下递