77 geometry process
0 引言
记录几何方面的一些处理技术。
1 任意多边形面积计算:包含凸多边形和凹多边形
转载了JustDoIT
https://www.cnblogs.com/TenosDoIt/p/4047211.html
附上代码
struct Point2d
{
double x;
double y;
Point2d(double xx, double yy): x(xx), y(yy){}
}; //计算任意多边形的面积,顶点按照顺时针或者逆时针方向排列
double ComputePolygonArea(const vector<Point2d> &points)
{
int point_num = points.size();
if(point_num < )return 0.0;
double s = points[].y * (points[point_num-].x - points[].x);
for(int i = ; i < point_num; ++i)
s += points[i].y * (points[i-].x - points[(i+)%point_num].x);
return fabs(s/2.0);
}
2 平面直线的交点
https://www.jianshu.com/p/3468c9967fc7
3 直角坐标与球坐标的相互转化
https://www.cnblogs.com/hans_gis/archive/2012/11/21/2755126.html
4 在球上生成均匀的点
(1)正二十面体:一个20个face,12个vertice的图形
(2)格点数量公式
viewpoints = 10*4^depth + 2;
(1)12 = 10*4^0 + 2
(2)42 = 10*4^1 + 2
(3)162 = 10*4^2 + 2
(4)642 = 10*4^3 + 2
(3) 老外写的资料
http://donhavey.com/blog/tutorials/tutorial-3-the-icosahedron-sphere/
(4) 基本思路
(1)根据当前模型尺寸定义正二十边形,包括12个顶点(vertices)和20个三角面片(triangles)
(2)访问每一个面片,对面片进行细分,subdivision
77 geometry process的更多相关文章
- NodeJS入门(五)—— process对象
process对象用于处理与当前进程相关的事情,它是一个全局对象,可以在任何地方直接访问到它而无需引入额外模块. 它是 EventEmitter 的一个实例. 本章的示例可以从我的Github上下载到 ...
- LRU缓存实现(Java)
LRU Cache的LinkedHashMap实现 LRU Cache的链表+HashMap实现 LinkedHashMap的FIFO实现 调用示例 LRU是Least Recently Used 的 ...
- 【转载】row cache lock
转自:http://blog.itpub.net/26736162/viewspace-2139754/ 定位的办法: --查询row cache lock等待 select event,p1 ...
- python---用链表结构实现有序和无序列表的几个功能
只是看看套路,没有深入练习. 如果真要自己写,可以基于此类. 但其实,在普通使用中,这样实现的性能,并没有python原生的列表性能好. 因为python原生列表的功能,是基于数组作扩展实现的. # ...
- [转]LRU缓存实现(Java)
LRU Cache的LinkedHashMap实现 LRU Cache的链表+HashMap实现 LinkedHashMap的FIFO实现 调用示例 LRU是Least Recently Used 的 ...
- <<Differential Geometry of Curves and Surfaces>>笔记
<Differential Geometry of Curves and Surfaces> by Manfredo P. do Carmo real line Rinterval I== ...
- Linux Process Virtual Memory
目录 . 简介 . 进程虚拟地址空间 . 内存映射的原理 . 数据结构 . 对区域的操作 . 地址空间 . 内存映射 . 反向映射 .堆的管理 . 缺页异常的处理 . 用户空间缺页异常的校正 . 内核 ...
- Linux Process Management && Process Scheduling Principle
目录 . 引言 . 进程优先级 . 进程的生命周 . 进程表示 . 进程管理相关的系统调用 . 进程调度 . 完全公平调度类 . 实时调度类 . 调度器增强 . 小结 1. 引言 在多处理器系统中,可 ...
- Process Kill Technology && Process Protection Against In Linux
目录 . 引言 . Kill Process By Kill Command && SIGNAL . Kill Process By Resource Limits . Kill Pr ...
随机推荐
- php htmlentities()函数 语法
php htmlentities()函数 语法 作用:把字符转换为 HTML 实体 语法:htmlentities(string,flags,character-set,double_encode) ...
- 【CF1100F】Ivan and Burgers(线性基,分治)
题意:给定n个数,每个数为c[i],有q个询问,每次询问从第l个到第r个数字的最大xor和 n,q<=5e5,c[i]<=1e6,时限3s 思路:直接线段树维护区间线性基是3个log,会T ...
- delphi WaitForSingleObject 示例之一等待另一个进程的结束
<pre>unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Cont ...
- java配置和tomcat安装
原文: https://www.cnblogs.com/lwjboke/p/7089126.html 下载: jdk历史版本 下载地址: http://www.oracle.com/technetwo ...
- error C2065: “CString”: 未声明的标识符 ;fatal error C1189: #error : afxstr.h can only be used in MFC proje
转自VC错误:http://www.vcerror.com/?p=1388 问题描述: error C2065: "CString": 未声明的标识符 fatal error C1 ...
- python- ' % '运算符的用途(非常重要)
%运算符就是用来格式化字符串的. 在字符串内部, %s表示用字符串替换, %d表示用整数替换, 有几个%?占位符,后面就跟几个变量或者值,顺序要对应好. 如果只有一个%?,括号可以省略. 另一种格式化 ...
- CSS 6种完全居中最佳实践(整理)
2016年4月28日 1.最佳法: .Absolute-Center { width: 50%; height: 50%; overflow: auto; margin: auto; position ...
- do_mmap解读
1: unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, 2: unsigned long len, unsigned ...
- 三种JavaScript 消息框
prompt 提示框 <html><head><script type="text/javascript">function disp_prom ...
- C++中逗号操作符重载的分析
1,关注逗号操作符重载后带来的变化: 2,逗号操作符: 1,逗号操作符(,)可以构成都好表达式:exp1, exp2, exp3, ..., expN 1,逗号表达式用于将多个表达式连接为一个表达式: ...