作業 簡單分形樹繪製程式

2021-09-06 06:25:05 字數 1830 閱讀 9153

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;
新增**如下:

1

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 }

5.

功能實現

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...