随笔 - 833  文章 - 1  评论 - 106  阅读 - 200万

随笔分类 -  算法

上一页 1 2
反射向量 及 向量投影
摘要:求反射向量 在图形学中,计算光照模型时,经常需要求取反射向量,一般的shader函数库都提供计算反射向量的方法,下面介绍一下如何手动计算反射向量。 给定入射光线向量I和平面法向量N,求反射向量R,如下图。为了方便计算,这里假定I和N都是单位向量(模为1,编程时可先将I和N单位化) 方法一 设入射光线 阅读全文
posted @ 2017-04-12 17:19 3D入魔 阅读(2730) 评论(0) 推荐(0) 编辑
计算空间直线与平面的交点 (C#)
摘要:public class NGlbVec3d {// 三维点 public double x, y, z; public NGlbVec3d() { } public NGlbVec3d(double vx, double vy, double vz) { x = vx; y = vy; z = v 阅读全文
posted @ 2016-12-16 17:13 3D入魔 阅读(4764) 评论(1) 推荐(0) 编辑
根据空间线上的两点生成圆柱体 算法
摘要:// 根据线上的起点和终点pt0,pt1,计算形成的圆柱体的顶点和法线数组 void computeCylinderVertexs(osg::Vec3d pt0, osg::Vec3d pt1, double radius, osg::Vec3dArray* vts, osg::Vec3Array* 阅读全文
posted @ 2016-07-01 13:35 3D入魔 阅读(1421) 评论(0) 推荐(0) 编辑
3D空间中射线与轴向包围盒AABB的交叉检测算法 【转】
摘要:http://blog.csdn.net/i_dovelemon/article/details/38342739引言 在上一节中,我讲述了如何实现射线与三角形的交叉检测算法。 但是,我们应该知道,在游戏开发中,一个模型有很多的三角形构成,如果要对所有的物体,所有的三角形进行这种检测,就算现在的计算... 阅读全文
posted @ 2015-11-02 11:52 3D入魔 阅读(1833) 评论(1) 推荐(0) 编辑
高效真实的云渲染算法 【转】
摘要:原文链接 : http://www.cnblogs.com/effulgent/archive/2008/10/06/1305029.html原文:Realistic and Fast Cloud RenderingNinianeWangMicrosoftCorporation(nowatGoogl... 阅读全文
posted @ 2015-05-21 10:44 3D入魔 阅读(4158) 评论(0) 推荐(0) 编辑
判断点在多边形内算法
摘要:点和多边形关系的算法实现 好了,现在我们已经了解了矢量叉积的意义,以及判断直线段是否有交点的算法,现在回过头看看文章开始部分的讨论的问题:如何判断一个点是否在多边形内部? 根据射线法的描述,其核心是求解从P点发出的射线与多边形的边是否有交点。注意,这里说的是射线,而我们前面讨论的都是线段,好像... 阅读全文
posted @ 2014-06-21 10:20 3D入魔 阅读(16388) 评论(0) 推荐(2) 编辑
用矢量的叉积判断直线段是否有交
摘要:用矢量的叉积判断直线段是否有交 矢量叉积计算的另一个常用用途是直线段求交。求交算法是计算机图形学的核心算法,也是体现速度和稳定性的重要标志,高效并且稳定的求交算法是任何一个 CAD软件都必需要重点关注的。求交包含两层概念,一个是判断是否相交,另一个是求出交点。直线(段)的求交算法相对来说... 阅读全文
posted @ 2014-06-21 10:15 3D入魔 阅读(3252) 评论(0) 推荐(1) 编辑
几何常用算法与判断线段相交【转】
摘要:下面这个函数在我写的计算几何库函数里面有,那个库可以在http://algorithm.126.com/的资源中心-代码角找到。算法简单说明:首先判断以两条线段为对角线的矩形是否相交,如果不相交两条线段肯定也不相交。(所谓以a1b2为对角钱的矩形就是以两边长为|a1.x–b2.x|和|a1.y–b2... 阅读全文
posted @ 2014-06-20 17:45 3D入魔 阅读(7878) 评论(2) 推荐(0) 编辑
空间点到直线垂足坐标的解算方法 (转)
摘要:空间点到直线垂足坐标的解算方法 假设空间某点O的坐标为(Xo,Yo,Zo),空间某条直线上两点A和B的坐标为:(X1,Y1,Z1),(X2,Y2,Z2),设点O在直线AB上的垂足为点N,坐标为(Xn,Yn,Zn)。点N坐标解算过程如下: 首先求出下列向量: 由向量垂直关系:上式记为(1)式。点N在直线AB上,根据向量共线: (2)由(2)得: (3)把(3)式代入(1)式,式中只有一个未知数k,整理化简解出k: (4) 把(4)式代入(3)式即得到垂足N的坐标。 阅读全文
posted @ 2014-01-07 14:11 3D入魔 阅读(7217) 评论(0) 推荐(0) 编辑
点在多边形内 经典算法(转)
摘要:再经典不过的算法了:// 功能:判断点是否在多边形内// 方法:求解通过该点的水平线与多边形各边的交点// 结论:单边交点为奇数,成立!//参数:// POINT p 指定的某个点// LPPOINT ptPolygon 多边形的各个顶点坐标(首末点可以不一致)// int nCount 多边形定点的个数BOOL PtInPolygon (POINT p, LPPOINT ptPolygon, int nCount){ int nCross = 0; for (int i = 0; i = max(p1.y, p2.y) ) // 交点在p1p2延长线上 continue; ... 阅读全文
posted @ 2013-07-04 14:15 3D入魔 阅读(1962) 评论(0) 推荐(0) 编辑
空间算法总结
摘要:////////////////////////////////////////////////////////////////////////////////////// ***.h#define PI 3.1415926535897932// This is our famous PI#define TWOPI 6.28318530717958#define PIDIV2 1.57079632679489#define DTOR (PI/180.0f)#define RTOD (180.0f/PI)#define SQR(x) (x*x)#define BEHIND0#define INT 阅读全文
posted @ 2011-12-23 11:43 3D入魔 编辑
向量在另一个向量上的投影 (转) 图画的很好,呵呵
摘要:向量在另一个向量上的投影 若v向量为单位向量,则结果为 uv向量的点积 * v向量.即: 某个方向力u, 在v方向上的分量. 阅读全文
posted @ 2011-12-23 11:39 3D入魔 阅读(1519) 评论(0) 推荐(0) 编辑

上一页 1 2
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示