算法
sa_zzq
初来乍到的程序员,请大家多多关照!
展开
-
日积一步1(平面直线的拟合及点到直线的距离)
情况一:当平面直线的斜率存在时,可以使用最小二乘法进行直线的拟合,拟合的C++代码如下。//直线拟合,斜截式 bool LinearFitting(const std::vector<double> &x, const std::vector<double> &y, double &slope, double &interce...原创 2019-08-15 01:14:28 · 666 阅读 · 0 评论 -
日积一步3(求解点到平面二次曲线的最近距离)
目的:已知平面二次曲线的函数为,平面上的一点的坐标为,求点M到曲线f的最短距离。方法一:通过几何关系直接求解 通过几何知识可以知道,曲线上与点M最近的那一点的切线方向肯定与该点与点M的连线方向垂直,也就是说两个向量的点积为零。方程的解既是我们需要的曲线上点的坐标值,但是直接方程的结果比较困难,所以可以使用二分查找的方式进行求解,二分查找的范围是方法二:求解点M与...原创 2019-08-20 23:55:29 · 3291 阅读 · 1 评论 -
日积一步4(如何判断曲线是逆时针还是顺时针)
方法:对于平面曲线可以直接采用格林公式进行判别,而对于空间曲线,虽然可以考虑使用斯托克斯公式,但是从工程应用的角度来讲,不如将曲线投影到某一平面上,而且投影后的曲线方向不变。再使用格林公式求解。此处我们需要用到的格林公式为,当曲线为逆时针方向时,从几何上可以理解为封闭曲线上半部分与X轴围城的面积,减去下半部分与X轴围成的面积。因此,若计算结果大于0,则为逆时针,反之为顺时针。 ...原创 2019-08-21 23:33:32 · 3313 阅读 · 0 评论 -
日积一步2(如何判断点在空间曲线的内部还是外部)
算法原理:假设带有孔的空间曲面,其外轮廓顺时针转动,内轮廓逆时针转动,那么沿着曲线的方向前进,轮廓的内部始终在我们的右手边。那么如何确定点是在我们的左侧还是右侧呢?可按如下步骤进行:1. 获取该点的法向,由内向外,或由下向上,什么是上呢?就是从人的脚指向头(倒立的除外)2.将被判断的点投影到与法向垂直的面上,该平面通过曲线上引出法向的那一点,并连接投影点与法向量的原点,作为投影向量。3...原创 2019-08-16 22:25:39 · 3604 阅读 · 0 评论 -
日积一步6(在二维平面上如何判断一组点是否在多边形的内部)
原理:从该点向任意一方画射线,数该射线与多边形的边的交点数量,如果为奇数则在多边形内部,如果为偶数则在多边形的外部。程序计算步骤:1. 找出多边形的最大与最小X和Y的值。2. 如果点的X坐标或Y坐标大于最大值火哦小于最小值,说明在多边形外部。3. 以该点为中心向X轴正方向做射线,计算交点的个数。...原创 2019-08-28 00:06:01 · 449 阅读 · 0 评论