不规则三角网 Delaunay——TIN
http://blog.csdn.net/u010025211/article/details/25032209
开源库:http://www.cs.cmu.edu/~quake/triangle.html
下载地址: 链接:http://pan.baidu.com/s/1jIlxK6U 密码:2xgg
知识点一:平面中判断一个点是否在三角形内部。
#include <stdio.h>
//m,n表示待检测点的x,y坐标,a,b,c表示三角形的三个点
bool isInTriangle(double m,double n,double ax,double bx,double cx,double ay,double by,double cy)
{
double u = (m-ax)*(by-ay)-(n-ay)*(bx-ax);
u/=(cx-ax)*(by-ay)-(cy-ay)*(bx-ax);
double v = (m-ax)*(cy-ay)-(n-ay)*(cx-ax);
v/=(bx-ax)*(cy-ay)-(by-ay)*(cx-ax);
return u>&&v>&&(u+v)<=;
}
int main(void) { bool answer = true;
answer = isInTriangle(0.5,0.7,,,,,,); printf("%s\n", answer?"Point is in triangle.":"Points isn't in triangle."); answer = isInTriangle(0.5,0.3,,,,,,);
printf("%s\n", answer?"Point is in triangle.":"Points isn't in triangle."); }
知识点二、判断一点是否在三角形的外接圆内
1、外接圆的圆心
#include <stdio.h> void getCenterOfCircle(double &x,double &y,double x1,double x2,double x3,double y1,double y2,double y3)
{
x=(x2*x2-x1*x1+y2*y2-y1*y1)*(y3-y1)-(x3*x3-x1*x1+y3*y3-y1*y1)*(y2-y1);
x/=*(x2-x1)*(y3-y1)-*(x3-x1)*(y2-y1);
y=(x2*x2-x1*x1+y2*y2-y1*y1)*(x3-x1)-(x3*x3-x1*x1+y3*y3-y1*y1)*(x2-x1);
y/=*(y2-y1)*(x3-x1)-*(y3-y1)*(x2-x1);
}
int main(void) { bool answer = true; double x=,y=;
getCenterOfCircle(x,y,,,,,,); printf("%f %f\n", x,y); }
2.判断点(m,n)是否在三角形的外接圆内
#include <stdio.h> void getCenterOfCircle(double &x,double &y,double x1,double x2,double x3,double y1,double y2,double y3)
{
x=(x2*x2-x1*x1+y2*y2-y1*y1)*(y3-y1)-(x3*x3-x1*x1+y3*y3-y1*y1)*(y2-y1);
x/=*(x2-x1)*(y3-y1)-*(x3-x1)*(y2-y1);
y=(x2*x2-x1*x1+y2*y2-y1*y1)*(x3-x1)-(x3*x3-x1*x1+y3*y3-y1*y1)*(x2-x1);
y/=*(y2-y1)*(x3-x1)-*(y3-y1)*(x2-x1);
}
bool isInCircumcircle(double m,double n,double x1,double x2,double x3,double y1,double y2,double y3)
{
double x=;
double y=;
getCenterOfCircle(x,y,x1,x2,x3,y1,y2,y3);
return (m-x)*(m-x)+(n-y)*(n-y)<=(x1-x)*(x1-x)+(y1-y)*(y1-y);
}
int main(void) { double x=,y=;
bool answer = true;
answer = isInCircumcircle(,-,,,,,,);
printf("%s\n", answer?"Point is in Circumcircle.":"Points isn't in Circumcircle.");
}
不规则三角网 Delaunay——TIN的更多相关文章
- 不规则三角网(TIN)(转)
来自:http://blog.csdn.net/kikitamoon/article/details/8217641 Ⅰ 数字高程模型(DEM) 地球表面高低起伏,呈现一种连续变化的曲面,这种曲面无法 ...
- Matlab绘图基础——散点生成三角网(TIN)
%例一:二维三角网TIN模型的生成 X=rand(10,2)*5; dt=DelaunayTri(X(:,1),X(:,2)); %生成三角网 triplot(dt);hold on; ...
- Visualize Surface by Delaunay Triangulator
Visualize Surface by Delaunay Triangulator eryar@163.com Abstract. Delaunay Triangulation is the cor ...
- MATLAB绘制三角网及三维网线
今天博主给大家介绍一些比较常见的可视化操作,绘制三角网及三维网线. 三角网是由一系列连续三角形构成的网状的平面控制图形,是三角测量中布设连续三角形的两种主要扩展形式,同时向各方向扩展而构成网状,优点为 ...
- 基于GIS空间分析的多边形提取技术
现有基于矢量图形的骨架线提取方法主要包括数据预处理.基于约束 Delauny 三角剖分的骨架线结点生成和骨架线的连接 3 个过程,上述过程都可利用现有 GIS 系统的数据处理.空间分析和建模功能实现. ...
- 盘点十大GIS相关算法
1.道格拉斯-普克算法(Douglas–Peucker) 道格拉斯-普克算法(Douglas–Peucker algorithm,亦称为拉默-道格拉斯-普克算法.迭代适应点算法.分裂与合并算法)是将曲 ...
- ArcGIS Engine中的8种数据访问 (转)
数据是GIS的基础, 访问数据也是进行任何复杂的空间分析及空间可视化表达的前提.ArcGIS支持的数据格式比较丰富,对不同的数据格式支持的程度也有很大差异.本文主要介绍一下以下八种数据格式在ArcGI ...
- ArcEngine读取数据(数据访问) (转)
读取和访问数据是进行任何复杂的空间分析及空间可视化表达的前提,ArcGIS支持的数据格式比较丰富,下面就这些格式Shapefile.Coverage.Personal Geodatabase.Ente ...
- AE常见接口之间的关系(较笼统)+arcgis常见概念
常见的接口有如下关系 IworkspaceFactory-------------->IworkSpace------------------>IfeatureWorkSpace ---- ...
随机推荐
- Xcode no visible @interface for xxx declares the selector errors
- SET XACT_ABORT 的用法[转]
SET XACT_ABORT指定当 Transact-SQL 语句产生运行时错误时,Microsoft® SQL Server™ 是否自动回滚当前事务. 语法 SET XACT_ABORT { ON ...
- JS控制文本框中的密码显示/隐藏功能
<html> <head> <title>[荐]JS控制文本框中的密码显示/隐藏功能_网页代码站(www.6a8a.com)</title> <s ...
- img元素高度多出来的几像素
HTML: <div class="test"><img src="body2.jpg" alt=""></d ...
- ajax创建对象
<script> function createAjax(){ var request=false; //window对象中有X ...
- C指针数组
#include<stdio.h> #include<stdlib.h> int main(void) { char const *str[] = { "this i ...
- Qt中事件分发源代码剖析(一共8个步骤,顺序非常清楚:全局的事件过滤器,再传递给目标对象的事件过滤器,最终传递给目标对象)
Qt中事件分发源代码剖析 Qt中事件传递顺序: 在一个应该程序中,会进入一个事件循环,接受系统产生的事件,并且进行分发,这些都是在exec中进行的.下面举例说明: 1)首先看看下面一段示例代码: in ...
- icmp的报文,Destination Host Unreachable
icmp的报文,Destination Host Unreachable的意思如下: http://www.corenetworkz.com/2009/05/destination-host-unre ...
- 2014第一周五开发问题记URL传参乱码等
今天修改了页面中URL传中文参数乱码问题,本来远离通过在tomcat中配置URIEncoder是可以解决所有乱码问题的,但怕以后有人下载一个新的tomcat然后直接把程序放里面运行然后再发现乱码问题而 ...
- hdu 2896 病毒侵袭_ac自动机
题意:略 思路:套用ac自动机模板 #include <iostream> #include<cstdio> #include<cstring> using nam ...