描边的思路是需要两个pass。第一个pass让顶点沿着法线方向延伸出去,使得模型变大一圈。第二个pass正常渲染,让正常渲染的模型挡在第一个pass之上,这样就会露出延伸出去的部分,延伸出去的就是我们要的描边了。代码实现如下: 效果如下: 法线外拓有些缺陷,在棱角分明的模型中表现较差,锐利的部分,描 ...
                            
                            
                                分类:
其他好文   时间:
2018-11-02 01:46:21   
                                阅读次数:
1325
                             
                    
                        
                            
                            
                                    Arraylist和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加插入元素,都允许直接序号索引元素,但是插入数据要涉及到数组元素移动等内存操作,所以插入数据慢,查找有下标,所以查询数据快; Vector由于使用了synchronized方法-线程安全,所以性能上比Arra ...
                            
                            
                                分类:
其他好文   时间:
2018-10-29 23:02:58   
                                阅读次数:
188
                             
                    
                        
                            
                            
                                    主要内容: 线程的一些其他方法 线程事件 线程队列 线程池 GIL锁 协程 Greenlet Gevent 一. 线程(threading)的一些其他方法 from threading import Thread import threading import time def work(): ti ...
                            
                            
                                分类:
编程语言   时间:
2018-10-29 22:10:24   
                                阅读次数:
255
                             
                    
                        
                            
                            
                                    线性筛是筛素数一种比较常用的方法(实际上,它的用途含有很多,如筛$\mu,\phi$等玄学的函数)。它的时间复杂度近似于$O(n)$。 ...
                            
                            
                                分类:
编程语言   时间:
2018-10-29 20:03:06   
                                阅读次数:
149
                             
                    
                        
                            
                            
                                    "[CTSC2008]网络管理" 这个题看到维护链上路径,看起来很像是树剖,但是用线段树+树链剖分显然还要二分答案,这就三个log了,于是考虑复杂度更加优秀的做法. 线段树套树状数组(带修改主席树),主席树有道经典的板子题. "Dynamic Rankings" 那个是区间,这个是树上路径,其实大同 ...
                            
                            
                                分类:
其他好文   时间:
2018-10-21 23:21:05   
                                阅读次数:
207
                             
                    
                        
                            
                            
                                    线性筛法 上节课讲的是 Eratosthenes 筛法利用的原理是 任意整数 x 的倍数 2x,3x,... 等都不是质数 。 但是即便如此也会有重复标记的现象,例如12既会被2又会被3标记,在标记2的倍数时,$12 = 6 2$,在标记3的倍数时,$12 = 4 3$ ,根本原因是没有找到唯一产生 ...
                            
                            
                                分类:
其他好文   时间:
2018-10-21 13:12:26   
                                阅读次数:
211
                             
                    
                        
                            
                            
                                工控领域经常会涉及速度加减速的算法:线性加减速,S曲线加减速(sin函数,拓展其他三角函数曲线), 贝塞尔曲线,等等。 线性加减速: 设定起始速度V0,目标速度V1,加速时间Ta(s,或加速度),这个的任务执行周期为ΔT( ms 级 或者设定定时器,定时时间必须大于任务周期否则还是按任务周期计算输出 ...
                            
                            
                                分类:
编程语言   时间:
2018-10-20 11:00:32   
                                阅读次数:
252
                             
                    
                        
                            
                            
                                    此章包含: 1、线程的实现方式、2、实例变量与线程安全3、线程常用的几个api4、停止线程5、暂停线程6、yield方法7、线程的优先级、8、守护线程。 1、线程的常见实现方式有两种。继承Thread或实现Runable接口。代码如下: 2、实例变量和线程安全 在自定义线程类中的实例变量针对其他线程 ...
                            
                            
                                分类:
编程语言   时间:
2018-10-14 20:41:10   
                                阅读次数:
161
                             
                    
                        
                            
                            
                                    /*哈希查找 *哈希函数的构造方法常用的有5种。分别是: *数字分析法 *平方取中法 *分段叠加 *伪随机数 *除留取余法 *这里面除留取余法比较常用 *避免哈希冲突常用的方法有4种: *开放定址法(线性探测再散列、二次探测再散列) *链地址法 *再哈希法 *建立公共溢出区 其中,线性探测再散列比较 ...
                            
                            
                                分类:
编程语言   时间:
2018-10-14 00:29:43   
                                阅读次数:
199
                             
                    
                        
                            
                            
                                解决办法: 线程的通过同步也是有弊端的:同一时间只能一个线程访问数据,效率降低了。 上面两个if(intance == null)的判断,第一个是为了当已经实例化过了,就不用再去执行同步代码块了,相对提高了线程的同步的效率。 ...
                            
                            
                                分类:
编程语言   时间:
2018-10-13 13:50:38   
                                阅读次数:
210