![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
矢月
这个作者很懒,什么都没留下…
展开
-
计算机小白也看得懂的Liang-Barsky算法
个人博客:www.vectormoon.net算法背景 Liang-Barsky算法由梁友栋和Barsky共同发表,是目前计算机图形学最经典的算法之一。他们认为线段裁剪的问题是:裁剪窗口是二维对象,而线段是一维对象,两个对象的维度不同不便比较。他们给出的解决思路是,将裁剪线段和裁剪窗口看为点集裁剪的结果是两个点集的交集。算法思想 Liang-Barsky算法的主要思想有两部分:用参数方程表示直线将待裁剪直线看作是一个有方向的线用参数方程表示直线 算法背景中提到Liang原创 2020-10-14 22:39:02 · 5277 阅读 · 6 评论 -
Cohen-Sutherland算法(编码裁剪算法)
算法简介 编码算法是最早、最流行的线段裁剪算法,该算法采用区域检验的方法,能够快速有效地判断一条线段与裁剪窗口的位置关系,对完全接受或完全舍弃的线段无需求交,即可直接识别。算法思想 编码算法将整个画布分成9个区域,如下图所示: 根据线段端点所在位置,给每个端点一个四位二进制码(称为区域码)。四位区域码的4位从左到右依次表示上、下、右、左。区域码的任何为赋值为1代表端点落在相应的区域中,否则为0。区域码的生成 区域码的生成有两种方法: 1.比较法 根据原创 2020-10-11 21:09:14 · 13342 阅读 · 0 评论 -
二维几何变换
相对任意参考点的二维变换如果要对某参考点(x,y)作二维几何变换,比如比例变换,旋转变换等。变换过程如下:将参考点移至坐标原点对原点进行二维几何变换进行反平移,将参考点移回原来的位置...原创 2020-10-05 21:41:25 · 901 阅读 · 0 评论 -
B-spline算法(B样条曲线)
个人博客:https://www.vectormoon.net/Bezier曲线算法:https://www.vectormoon.net/2020/09/25/Bezier/算法产生背景Bezier曲线有以下几个不足点,所以导致出现了B-spline算法:一旦确定特征多边形,就确定了曲线的阶次Bezier曲线拼接复杂(需要满足几何连续性,参数连续性等)Bezier曲线不能作局部修改(只能整体修改)B-spline算法是整条曲线用一段一段的曲线连接而成,采用分段连续多段式生成B-spli原创 2020-09-27 22:33:35 · 10392 阅读 · 6 评论 -
Bezier算法
bezier算法的背景vm公司设计出了一个原型车——moon,这样的:产品经理一看觉得有点抽象,他使用了Bezier算法改进了一下原型车,变成了这样:Bezier算法在做的事,通过光滑的曲线逼近用户给出的折线段(准确的来说是给出的控制顶点,即图中蓝色的点。这些点连线构成的多边形又叫特征多边形)Bezier曲线的定义Bezier算法围绕着Bezier曲线展开,Bezier曲线的定义为:p(t)=∑i=0nPiBi,n(t)t∈[0,1]p(t)=\sum_{i=0}^n P_i B_{i,n}(原创 2020-09-25 01:09:41 · 1349 阅读 · 0 评论 -
八皇后_回溯法
解题思路深搜、标记以及回溯算法详情介绍顺序:标记->深搜->回溯1.标记使用数组记录无法下棋的部分:bool flag[4][100];具体标记内容:flag[1][j] //标记j列不能再放置flag[2][i+j] //标记对角线 flag[3][i-j+n] //标记对角线举个例子,当棋盘为4*4时:flag[2][i+j]flag[3][i-j...原创 2020-03-01 00:44:26 · 1300 阅读 · 0 评论 -
用二叉树的方式表示多叉树
以下内容分为三部分:1.链表结构2.多叉树到二叉链表的表示3.二叉链表表示法的遍历1.链表结构:二叉链表表示法又被叫做左儿子右兄弟表示法(在第二部分会加以解释)struct TNode{ int data; TNode *parent;//上层节点 TNode *firstchild;//第一个子节点 TNode *nextsibling;//同一层次的相邻...原创 2019-03-14 14:45:38 · 1152 阅读 · 2 评论