近年來關注圖形趣味編程的用戶越來越多,小編整理了關于c語言圖形編程的教程書,圖形化編程軟件,開心一刻:30張編程領域的趣圖,第10章 隨機山水畫(《Python趣味創(chuàng)意編程》教學視頻),趣味編程,用Scratch和Python畫勾股樹??,供您參考
1、圖形編程都是用的純C函數(shù)庫, 比如Windows的GDI,還有DirectX,以及開源的OpenGL。這些都是純C庫,也就是說會C語言就能開發(fā)圖形界面和游戲了。C++當然也可以調(diào)用這些函數(shù)庫,但不是必要的。2、學GDI的話*的書是《Windows程序設計.chm》這個文檔,這東西網(wǎng)上到處都有。學OpenGL的話,有個網(wǎng)站Nehe有完整的教學。人翻譯了這個教程的中文版,google “Nehe opengl” 就能找到了。
一直陪著孩子成長,開始買了EV3,和孩子一起搭一起編程,后來讓他自己玩scratch junior,都玩得挺好,后來上了一年,老婆要求配孩子編程,scratch更多得感覺是游戲,而且多線程和基于事件得編程風格,我個人覺得對孩子學習編程知識也有些問題,因為這些都應該高級開發(fā)的知識,而且許多基本的編程知識,比如變量作用域等,scratch就比較差,最重要編出來的東西大部分是游戲是我比較反感的。因為自己一直是做圖形化編程控制硬件,一直使用圖形化工具,自己平時空閑時間,也做了一套圖形化編程的軟件,趁著今年疫情,就把這個軟件改成了一個可以讓孩子學習編程的工具,然后和孩子一起學了三個多月,*的兒子目前學會了程序的各種基礎知識,比如變量、作用域、循環(huán)、邏輯、函數(shù)、遞歸等。這個編程工具,和scratch等圖形化編程工具一樣,都可以通過拖放完成程序的編寫。不過和已有編程工具區(qū)別很大,主要包含以下幾點:1 支持所有代碼知識,比如變量、變量作用域、支持函數(shù)和遞歸、全部四則運算、數(shù)組等全部代碼知識,去掉顏色,其實就是代碼,所以孩子可以學到更多代碼知識。特別是循環(huán),scratch等只能學到循環(huán)幾次和無限循環(huán),這個工具使用的真正代碼的for和while循環(huán),學會了這些知識,可以降低孩子轉移到代碼需要的精力。2 支持運行時候顯示具體步驟和數(shù)值,讓孩子理解程序運行的方法3 支持錯誤時候定位到具體代碼,方便孩子查找程序問題4 和真正代碼編輯一樣,運行后結果和真正代碼一摸一樣,出現(xiàn)黑色命令提示符窗口,或者畫板等,讓孩子熟悉編程真正的樣子。5 支持數(shù)據(jù)結構,比如堆棧、丟列等,讓孩子也了解些數(shù)據(jù)結構知識6 支持畫板,孩子可以在畫板里,繪制各種有趣圖形。7 支持機器人的控制,目前只實現(xiàn)了樂高 EV3 Mindstorm機器人,讓圖形化編程可以做更多事情。8 為了提高孩子的興趣,還增加文本轉語音、翻譯、數(shù)學庫等功能下邊是孩子寫的一些程序,包括質(zhì)因子計算、素數(shù)計算、進制轉換、數(shù)組排序等下邊是我寫的一些例子,畫圖、堆棧使用和EV3控制如果大家有興趣,可以到微軟商店搜索“圖形編程編輯器”下載,或者訪問
編程是一項有趣的工作,每位程序員在職業(yè)生涯中都會發(fā)生很多有趣的事情,本文收集了一些與程序員有關的圖,希望能給你帶來一時的輕松與快樂。1、每位程序員都有過這樣的時候2、通過調(diào)試代碼查找問題的根本原因時3、當某人寫了 500 行代碼卻忘記保存時4、程序很混亂,但*卻編譯成功5、代碼注釋就像6、當你工作了一天準備去睡覺的時候7、用戶如何看待程序員 vs. 程序員如何看待用戶8、while 和 do...while 循環(huán)的區(qū)別9、當程序員試圖修復一個小 bug10、當程序員周五留下少量工作并準備下周一完成時11、當程序員在修復 bug 時取得了一些進展12、當 Chrome 和計算機上其他應用程序一起運行時13、當嘲諷 IE 的速度慢時14、用于 Web 開發(fā)的語言之間的斗爭15、有史以來最鼓舞人心的報價16、當程序員嘗試從代碼中刪除所有錯誤時17、當有人說自己是 HTML 程序員時18、當一名程序員準備在改好代碼后吃午飯19、當程序員發(fā)現(xiàn)某個應用程序未托管在 Linux 服務器上20、當你嘗試在上線當天修復產(chǎn)品中的某些內(nèi)容時21、當所有瀏覽器舉行聚會時22、當程序員為宕機而向用戶解釋道歉時23、年度*24、當代碼沒有出現(xiàn)任何異常,一切都按計劃進行時25、當前端和后端在考試中作弊時26、在線課程承諾你會學到的和你最終學到的27、大家在一起分析問題的原因時28、軟件公司中的不同角色29、前端與后端30、調(diào)試了 7 個小時卻依舊沒有看懂自己的代碼如果看完感覺還不錯的話,記得點個贊哦~
(圖書介紹:童晶:《Python趣味創(chuàng)意編程》新書預告)本章我們將繪制隨機山水畫,如圖所示。首先學習HSB顏色模型,并實現(xiàn)天空顏色漸變的效果;接著利用柏林噪聲,實現(xiàn)云朵和山脈的繪制;然后學習隨機種子函數(shù),實現(xiàn)鼠標點擊更新隨機畫面;*學習帶參數(shù)的函數(shù),改進實現(xiàn)的代碼。視頻教程:最終代碼: def setup(): size(800, 600) # 設定畫面寬度、高度 colorMode(HSB, 360, 100, 100) # 色相、飽和度、亮度 顏色模型 def draw(): cClouds = color(330, 25, 100) # 云的顏色 cSky = color(220, 50, 50) # 天空的顏色 cFurther = color(230, 25, 90) # 遠山的顏色 cCloser = color(210, 70, 10) # 近山的顏色 (cFurther) # 背景為遠山的顏色 drawSky(cSky,cFurther) # 畫出天空顏色漸變效果 (cClouds) # 畫出彩色云朵效果 (cFurther,cCloser) # 畫出山脈效果 def (): # 鼠標按鍵時 noiseSeed(*int(random(10))) # 用幀數(shù)初始化隨機數(shù)種子 def drawSky(colSky,): # 畫出天空顏色漸變效果 for y in range(height/2): # 從頂部開始繪制畫面上半部分 (1) # 線粗細為1 # 顏色插值,從天空顏色逐漸變成遠山顏色 stroke(lerpColor(colSky,, float(y)/(height/2))) line(0, y, width, y) # 橫著的一條線 def (colClouds): # 畫出彩色云朵效果 noStroke() # 不繪制線條 for y in range(height/3): # 在上面三分之一部分 for x in range(0,width,2): # 橫向遍歷 = noise(x*0.004,y*0.02) # 柏林噪聲 ration = map(y, 0, height/3, 150, 5) # 越向下、云越透明 fill(colClouds, ration*) # 設置透明度 circle(x, y, 2) # 畫圓 def (,colCloser): # 畫出山脈效果 = 8 # 一共畫8層山 for n in range(): # 每一層山的y坐標的最小值 yMin = map(n,0,,height*0.2,height*0.8) # 山的顏色由遠向近漸變 fill(lerpColor(,colCloser, float(n+1)/)) () # 開始畫一些頂點組成的圖形 vertex(0, height) # *個點在左下角 for x in range(0,width+1,2): # 從左到右遍歷 # 柏林噪聲 = noise(x*0.005,yMin*0.02) + 0.03*noise(x*0.3,yMin*0.2) # x橫坐標對應的高度,越近的山,高度越向下 yMountain = map(, 0, 1, yMin, yMin+height/2) vertex(x, yMountain) # 添加這個點 vertex(width, height) # *一個點在右下角 endShape(CLOSE) # 結束畫一些頂點組成的封閉圖形生成圖片也用在了《C和C++游戲趣味編程》第14章 火柴人的無盡冒險 游戲中,作為不同關卡的隨機背景:對應游戲開發(fā)教程可以參看:
趣味編程,用Scratch和Python畫勾股樹 - 少兒編程網(wǎng)勾股樹,又稱為畢達哥拉斯樹。它是由古希臘數(shù)學家畢達哥拉斯根據(jù)勾股定理畫出的一個可以無限重復的圖形,因為重復多次以后的形狀像一棵樹,因此得名。這種圖形也被稱為分形圖,它們中的一個部分和它的整體或者其它部分都十分相似,分形體內(nèi)任何一個相對獨立的部分,在一定程度上都是整體的再現(xiàn)和縮影。這就是分形圖的自相似的特性。 我國古代把直角三角形稱為勾股形,并且直角邊中較小者為勾,另一長直角邊為股,斜邊為弦,所以把這個定理稱為勾股定理。公元前六世紀,古希臘數(shù)學家畢達哥拉斯證明了勾股定理,因而西方人都習慣地稱這個定理為畢達哥拉斯定理。勾股定理的定義是,在平面上的一個直角三角形中,兩個直角邊邊長的平方加起來等于斜邊長的平方。用數(shù)學語言表達為用圖形來表達如下圖所示以勾股定理圖為基礎,讓兩個較小的正方形按勾股定理繼續(xù)“生長”,又能畫出新一代的勾股定理圖,如此一直畫下去,最終得到一棵完全由勾股定理圖組成的樹狀圖形,稱之為勾股樹,再恰當不過。在《Scratch趣味編程進階》一書的第7章7.5節(jié)“勾股樹”中,介紹了使用Scratch繪制勾股樹分形圖的方法:1. 先畫出大正方形作為基本形狀;2. 再以大正方形的上邊作為直角三角形的斜邊,分別在三角形的兩條直角邊上畫出兩個小正方形;3. 重復在每一個正方形的上邊分別畫出兩個小正方形,最終得到一個樹狀的圖形。上圖展示的是一棵勾股樹的部分“生長”過程,最終圖形如下圖所示。通過上面兩個不同的勾股樹分形圖可以看到,它們的區(qū)別是最基礎的勾股定理圖中間的三角形,一個是普通的直角三角形,一個是等腰直角三角形。由此可知,通過改變勾股定理圖中的直角三角形的兩個銳角的大小,將能構造出不同形狀的勾股樹。下面我們以前面所介紹的勾股定理圖為基礎,分別使用Scratch和Python來編寫繪圖程序,代碼如下。上面的Scratch程序使用到了遞歸方法來繪制勾股樹分形圖,對于遞歸編程不熟悉的朋友可以閱讀《Scratch編程從入門到精通》一書,書中第5章“過程”中對函數(shù)(過程、自定義積木)和遞歸調(diào)用進行了詳細的介紹。上面的Python程序來自蘇老師正在編寫的一本Python圖書《Python????》(書名待定),預計明年春天萬事物生長之時出版發(fā)行,有興趣的朋友可以留意一下。劇透完畢,我們接著說勾股樹。使用Scratch和Python繪制的勾股樹分形圖如下。Python中內(nèi)置了小海龜繪圖庫,提供了和Scratch類似的畫筆功能,可以用來繪制平面圖形。經(jīng)過對比,Python小海龜?shù)睦L圖速度遠遜于Scratch,使用加速模式也沒有Scratch的快,但是填充功能則是Scratch沒有的。因此,用Python小海龜繪制的勾股樹更漂亮一些。勾股樹、分形圖等是非常有趣的話題,對此感興趣的朋友可以閱讀《Scratch趣味編程進階》一書的第7章《神奇分形圖》,其中介紹了幾種常見的分形圖的構造方法。會Python的朋友,可以嘗試著將Scratch代碼翻譯為Python代碼,感受一下使用Python的小海龜進行繪圖的樂趣。
如果以上內(nèi)容沒有幫到您,歡迎電話聯(lián)系我們,或者聯(lián)系在線客服咨詢