原创 Direct2D簡介

Direct2D是一套高性能、高質量的2D圖形渲染接口,它的出現主要是爲了滿足以下的開發: 1 大型的企業級本地應用開發 2 控件庫或者是控件工具包開發人員 3 服務端2D圖形渲染 4 在D3D中進行2D繪製,主要是爲了實現用戶接口元素的

原创 關鍵字詞法識別

本人想做一個自己的腳本語言,但是又不想使用lex之類的詞法分析器,又不想自己畫狀態轉換圖,所以,寫了下面的一段程序,它的功能是: 有如下若干個關鍵字: char * KeyWords[1024] = { "var", "+", "

原创 KMP難點突破

相信很多人都知道KMP算法,但是我也相信大部分人並沒有真正的理解它,許多人對KMP的理解都是通過畫圖,對着代碼一步一步地去推敲,理解。這樣學習KMP算法是沒有錯的,但是如果想要掌握這個算法的靈魂,還需要明白下面幾點:第一 KMP算法的目標

原创 PROTOTYPE模式難點解析

這個模式在C++中什麼時候纔會使用,爲什麼不直接new,大家只要明白一個場景,就會知道它的用處。 比如,現在讓你設計一個遊戲,一共有8個關卡,每關的小兵有四種,但是第一關的小兵最弱,第八關的小兵最強,你怎麼設計? 你可能認爲這還不簡單,需

原创 Factory Method 模式難點解析

首先大家要知道什麼是框架,爲什麼使用框架,明白了這個後,大家就知道Factory Method誕生的原因了。 什麼是框架? 1 、是一組相關類的集合。 2、具有通用性。 3、是半成品。 我們爲什麼使用框架? 因爲框架是半成品,所以我們使用

原创 我的JS富文本編輯器(1)

近來,無事,學習js,感覺很有意思,於是乎想寫個自己的富文本編輯器,重在明白它的原理,於是,自己寫了一個可以改變文本和插入圖片的富文本編輯器的雛形,由於我本人不是前端工程師,所以,錯誤之處,在所難免,以下是這個富文本編輯器的雛形,喜歡的小

原创 冒泡排序的並行計算

本人也是並行計算的小白,在這裏記錄下自己的學習筆記。 今天做了一下冒泡排序的並行計算比較: 串行冒泡排序如下: #include <stdio.h> #include <stdlib.h> #include <windows.h>

原创 Bresenham繪製直線學習筆記

今天學習計算機圖形學第三版,使用Bresenham繪製直線,有一些公式推導的不是很細緻,自己推導了一番,記錄一下,方便自己日後學習。 疑惑點: 參考圖: 推導過程: 又因爲: P0 = 2 * DeltaY * x0 - 2 *

原创 Bresenham畫線K>1時的遞歸公式

算法1 k>1 此時y增加1,x增加小於1,所以以y爲主。 P1在直線的左方 假設直線上相鄰兩點S1,S2 ,S1.x < S2.x, S1在屏幕上逼近P1,S2應該逼近哪個點呢? 假設P2.x = p1.x + 1 因爲S2.x = S

原创 中點畫線算法實踐

輸入兩點,用中點畫線算法繪製直線,效果如下: 輸入兩點,計算出斜率k,當斜率k不存在時,就是一條垂直的線段,如果k存在,計算出直線方程的係數A,B,C,這裏根據斜率分爲3種情況: |k|=1 x,y遞增一樣,直接繪製就可以。 |k|<1

原创 關於斜率大於1的中點畫線的公式推導

首先還是假設直線L的一般公式爲:Ax+By+C=0,並且斜率大於1,那麼這個時候代表x變化慢,y變化快,那麼這時我們應該讓y每次遞增1,x是否遞增,需要判斷,判斷方法如下: 首先假設直線的起點(x1,y1),終點爲(x2,y2),那麼從起

原创 中點畫線中的一些不嚴謹的地方

我認爲對於初學者,特別是自學的人,因爲沒有老師可以請教,所以任何一點不嚴謹的地方都會讓人困惑很久,我個人認爲計算機圖學中關於中點畫線有如下的不嚴謹的地方: 1、假設直線的一般方程AX+BY+C = 0,那麼A=-(deltaY),B=(d

原创 用DDA繪製直線

最近在學習計算機圖形學,下面是我的DDA效果:  輸入斜率k,截距b,就可以繪製出直線,需要的小夥伴,可以從下面的地址下載: https://download.csdn.net/download/u011711997/10904838

原创 MASQUERADE並不是Full Clone NAT

最近在忙p2p的環境搭建,首先搭建的肯定是Full Clone Nat,網上的大神們說用MASQUERADE就是Full Clone Nat,比如: iptables -t nat -A POSTROUTING -s 192.168.2.

原创 如何用虛擬機VMware和Linux路由器搭建一個虛擬網絡

今天爲大家介紹一下如何使用虛擬機VMware和Linux路由器搭建一個虛擬網絡,具體的網絡拓撲如下: 一共需要5臺虛擬機,其中3臺是路由器,它們使用Linux來模擬,另外兩臺分別是192.168.2.10和192.168.5.10,這兩