1.專案名稱:簡單分形樹繪製程式
2.專案內容
設計乙個簡單的分形樹顯示程式,能夠繪製幾棵分形的樹狀圖形。
3.功能設計思路
利用mfc製作這樣乙個繪圖程式!採用隨機ls文法,該方法在ls文法中引入隨機變數。通過滑鼠雙擊檢視變化生成的分形植物,可以提高自己對於mfc基本架構的理解,提高自己的vc++程式設計能力,對於分形演算法有所理解!
4.編碼實施
首先建立乙個利用嚮導生成乙個mfc程式名為tree;
右擊選單畫圓在類嚮導中為cctdrawview類新增onlbuttondblclk事件,
為cctdrawview新增變數:
cstring unit[3] ;
cstring tree , formtree;
int len ;
int angle;
int degree ;
int ox,oy ; //原點座標
cknot stack[1024];
int stackpushpos;新增**如下:
15.void
cmytreeview::onlbuttondblclk(uint nflags, cpoint point)
29 stackpushpos = 0
;10 formtree = unit[rand() % 3
] ;11
tree.empty ();
12//
13int
random ;
14for ( i = 1 ; i <= degree ; i++)
1527
else
2833
}34 formtree =tree ;
35tree.empty ();36}
37 tree =formtree ;
38invalidate();39}
40void
cmytreeview::onlbuttondblclk(uint nflags, cpoint point)
4148 stackpushpos = 0
;49 formtree = unit[rand() % 3
] ;50
tree.empty ();
51//
52int
random ;
53for ( i = 1 ; i <= degree ; i++)
5466
else
6772}73
74 formtree =tree ;
7576
tree.empty ();77}
78 tree =formtree ;
79invalidate(); 80}
81void cmytreeview::ondraw(cdc*pdc)
82128 i++;
129}
130}
131//
todo: add draw code for native data here
132 }
功能實現
6.總結
本設計實現了利用隨機ls文法繪製簡單的分形樹的功能,雙擊窗體會顯示不同的分形樹。需要解決的問題比如資料的序列化問題,資料的緩衝處理,當資料量很大的時候重繪必須用的緩衝機制。
聖誕樹繪製程式
注 此篇文章要寫的聖誕樹程式,參考於csdn博主badao liumang qizhi的 python實現使用turtle繪製聖誕樹 一文。在此程式裡需要用到的庫有 turtle random time。from turtle import 調畫布 import random 使用隨機數模組 imp...
Turtle繪製分形樹
import turtle def draw branch branch length if branch length 5 限定繪製的樹枝 包括樹幹 樹枝和樹葉 長度至少大於5 if branch length 20 如果長度小於20,即可判定是樹葉,繪製成綠色 turtle.color gree...
Python繪製分形樹 二
首先我們來分析一下,繪製分形樹大概分以下4個部分 繪製右側樹枝 返回樹枝節點 繪製左側樹枝 返回樹枝節點 根據以上4步,寫乙個遞迴函式,完成我們的需求 def draw branch branch length 繪製樹枝 if branch length 5 turtle.forward branc...