判断点是否处于多边形内的三种方法(转)

2013-12-1 admin 数学算法

1. 叉乘判别法(只适用于凸多边形)

想象一个凸多边形,其每一个边都将整个2D屏幕划分成为左右两边,连接每一边的第一个端点和要测试的点得到一个矢量v,将两个2维矢量扩展成3维的,然后将该边与v叉乘,判断结果3维矢量中Z分量的符号是否发生变化,进而推导出点是否处于凸多边形内外。这里要注意的是,多边形顶点究竟是左手序还是右手序,这对具体判断方式有影响。

2. 面积判别法(只适用于凸多边形)

第...

阅读全文>>

标签: 算法

评论(0) 浏览(519)

二进制与三进制的那些趣题(转)

2013-12-1 admin 技术类

先来思考几个问题,并不难,各位大牛应能秒杀:

 

1. 小明是个卖苹果的,小红一次在小明那买N(N<1024)个苹果。小明每次都要数N个苹果给小红,唉,太麻烦了。于是小明想出了一种方法:他把苹果分在10个袋子中,则无论小红来买多少个苹果,则他都可以整袋整袋的拿给小红。问怎样分配苹果到各个袋子?

 

2. 有16种溶液,其中有且只有一种...

阅读全文>>

标签: 算法

评论(0) 浏览(263)

避免计算过程中出现溢出的一个技巧(转)

2013-12-1 admin 技术类

先看一道面试题:

 

长度为n的数组,由数字1n组成,其中数字a不出现,数字b出现两次,其它的数字恰好出现一次。怎样通过只读遍历一次数组,找出数字ab

 

 

由于只能遍历一次,在遍历数组arr时,算出 a和b的差值,以及a和b的平方差,通过解方程,即可求得a和b。具体做法为:

设:

s1 = 1 +...

阅读全文>>

标签: 算法

评论(0) 浏览(279)

求较小的值,不能用 比较运算符 if-else ?: while for 内嵌汇编 递归 第三方函数(转)

2013-12-1 admin 转载

求较小的值,不能用 比较运算符 if-else ?: while for 内嵌汇编 递归 第三方函数
int Min(int a, int b)
{
//write code here
}

原网址:http://topic.csdn.net/u/20110816/19/3194c61c-fc4d-41ad-8357-9110d8cdc6b0.html

 

...

阅读全文>>

标签: 算法

评论(0) 浏览(252)

暴雪公司有个经典的字符串的hash公式(转)

2013-12-1 admin 转载

《暴雪公司有个经典的字符串的 hash 公式》
打造最快的 Hash 表 ( 和 Blizzard 的对话 )
開元最近学习了一下 Blizzard 的 MPQ 文件格式,颇有一些心得,其中一条就是对 HastTable 的理解,很想写出来...

阅读全文>>

标签: 算法

评论(0) 浏览(382)

Direct3D中的Pick技术(转)

2013-12-1 admin 转载

------------------------

pick.h

------------------------

 

#pragma once
#include <vector>
using std::vector;

 

struct PickResult
{
DWORD dwFace; &nb...

阅读全文>>

标签: 游戏开发 算法 DirectX

评论(0) 浏览(395)

Powered by emlog | |

浙ICP备17021512号 |浙公网安备 33010602008237号