首页
/
每日頭條
/
生活
/
立方體展開問題
立方體展開問題
更新时间:2024-10-11 18:17:24

對于小立方體組合的三視圖問題,之前介紹過兩種搞定小立方體組合的方法——

一是通過輸入的方式:

立方體展開問題(哪裡需要立方體就點哪裡)1

二是通過拖動的方式:

立方體展開問題(哪裡需要立方體就點哪裡)2

今天,來說說通過點擊的方式,也可以完成小立方體組合。

而且,該方式可用于這一類題目的演示——給出一個由若幹個小立方體疊成的幾何體的俯視圖,每個小方格中的數字表示該位置上重疊的小立方體的個數,要求畫出其三視圖。

來看看效果吧:

立方體展開問題(哪裡需要立方體就點哪裡)3

源文件獲取方式,請見文末

可以看到:點擊小格子,即可産生該位置上的小立方體;而且,點擊同一個小格子多少次,就在該位置上堆疊多少個小立方體。

另外,當點擊小格子生成相應的小立方體組合後,還可以隐藏沒有用到的小格子!

----------------二次編輯:新增一個功能----------------

  • 如果在中途,不小心點擊錯了小格子,導緻有多餘的小立方體,怎麼辦?
  • 為了解決這個問題,可以增多一個功能,達到:隻需鼠标輕松點一點,生成或删除小立方體,那都不是事!

立方體展開問題(哪裡需要立方體就點哪裡)4

修改後的作品效果

----------------二次編輯結束:作品修改請見鍊接----------------

效果不錯吧?有想到怎麼做嗎?

來看看制作思路:

  • 小格子這麼有規律——考慮用序列(Sequence)指令,以便一次性生成;
  • 并假設得到的是l1
  • 小格子可以一個一個地點擊——每個小格子必定是一個獨立的對象;
  • 于是,可用元素(Element)指令來得到l1中的元素。
  • 每點擊一次小格子,可産生一個小立方體——每個小格子必定都有單擊時腳本;
  • 小格子較多,若腳本需要一個一個輸入,太費時——考慮用表格區,因為當下拉填充時,還可複制其腳本。

下面開始動手操作!

立方體展開問題(哪裡需要立方體就點哪裡)5

一次性生成所有小格子

■ 隻需一條指令,即:

l1 = 扁平列表(序列(序列(多邊形((u, v), (u 1, v), 4), u, 0, 4), v, 0, 4))

思考過程如下:

· 小格子即為正方形,可用多邊形(Polygon)指令:

多邊形( <點1>, <點2>, <頂點數> )

· 小格子非常有規律,又是二維的,那麼,可以用序列嵌套。

· 為了方便後續用元素( <列表>, <元素位置> ),于是,再運用扁平列表(Flatten)

立方體展開問題(哪裡需要立方體就點哪裡)6

■ 輸完l1後,先激活3D繪圖區,再輸入:

中心定位((3,2,2))

注:中心定位(CenterView)

立方體展開問題(哪裡需要立方體就點哪裡)7

■ 最後,将l1隐藏。因為我們需要的是獨立的小格子。

立方體展開問題(哪裡需要立方體就點哪裡)8

構造獨立的小格子

■ 在表格區A1、A2處分别輸入12,并下拉填充至A25。

■ 在B1處,輸入=元素(l1, A1)

立方體展開問題(哪裡需要立方體就點哪裡)9

如果此時下拉B1填充,即可産生相應的獨立的小格子。不過——我們需要先輸入B1的單擊時腳本,再下拉填充,以保證得到的所有小格子都有腳本!

問題來了——小格子的單擊時腳本應輸入什麼?

  • 下拉填充使得其腳本都一樣,而我們還要保證最終可以構造出相應的小立方體。
  • 點多少次小格子,就要産生多少個小立方體,不妨引入新對象用來計數
  • 小格子的單擊時腳本隻需有計數功能——點擊小格子,數值就增加1。
  • 一共有25個小格子,而每個小格子都應單獨計數,則需要25個對象用來計數
  • 而這些對象再用于構造立方體的指令即可。

于是:

■ 構造n1,n2,……,n25用來計數,并且初始值都為-1(這個初始值與後續構造立方體的指令有關):

執行(序列("n" k "=-1",k,1,25))

■ 在B1單擊時腳本輸入:

執行({"SetValue(n" Row(%0) ",n" Row(%0) " 1)"})

■ 下拉B1至B25填充。

具體操作如下:

立方體展開問題(哪裡需要立方體就點哪裡)10

這裡稍作說明:

執行(Execute)在批量操作上可省時省力,其基本用法請見:「執行」是什麼寶藏指令。

執行( <文本列表> )

對于不熟悉或者較長的執行指令,可先将列表書寫完整,再改寫為文本。

立方體展開問題(哪裡需要立方體就點哪裡)11

立方體展開問題(哪裡需要立方體就點哪裡)12

構造小立方體

有了用來計數的n1,n2,……,n25,以及小格子B1,B2,……,B25。那麼,小立方體如何根據這些對象構造出來呢?

先來看這條指令:c1 = 序列(正六面體(平移(B1, 向量((0, 0, v)))), v, 0, n1),應如何理解?

正六面體( <正方形> )

當n1取值為-1,0,1時,c1如下圖所示。

立方體展開問題(哪裡需要立方體就點哪裡)13

注:正六面體(Cube)、平移(Translate)、向量(Vector)

類似地,相應的c2,c3,……,c25也可以如此構造。

■ 于是,此批量操作可以用執行指令,即:

執行(序列("c" u "=Sequence(Cube(Translate(B" u ",Vector((0,0,v)))),v,0,n" u ")",u,1,25))

立方體展開問題(哪裡需要立方體就點哪裡)14

■ 并設置所有小立方體的線徑、顔色。

立方體展開問題(哪裡需要立方體就點哪裡)15

令n1,n2等都為0,再設置c1,c2等的屬性

立方體展開問題(哪裡需要立方體就點哪裡)16

顯示小立方體數量

每個小格子上需顯示此處的小立方體數量。以小格子B1為例,其小立方體數量是n1 1。于是,其文本為:

文本(n1 1,形心(B1) (-0.12, -0.21))

注:文本(Text)、形心(Centroid)

立方體展開問題(哪裡需要立方體就點哪裡)17

而其他24個文本也可以類似構造。

■ 于是,所有文本的構造如下:

執行(序列("Text(n" k " 1, Centroid(B" k ") (-0.12, -0.21))",k,1,25))

立方體展開問題(哪裡需要立方體就點哪裡)18

來看看效果:

立方體展開問題(哪裡需要立方體就點哪裡)19

■ 可以看到點擊小格子時,容易不小心就點到了文本;于是,為了避免這種情況,将所有文本設置為不允許選定

立方體展開問題(哪裡需要立方體就點哪裡)20

創建複選框、按鈕

■ 創建複選框a,标題為$\Large隐藏無關格子$

希望不勾選複選框時:所有小格子、文本都可以顯示出來;當勾選複選框,而且小格子上的小立方體數量不等于0時,顯示這些小格子、文本。

■ 于是,設置所有小格子、文本的顯示條件。即:

執行(序列("SetConditionToShowObject(B" k ",!a ||(a &&n" k "!=-1))",k,1,25))

執行(序列("SetConditionToShowObject(text" k ",!a ||(a &&n" k "!=-1))",k,1,25))

立方體展開問題(哪裡需要立方體就點哪裡)21

■ 創建按鈕:

立方體展開問題(哪裡需要立方體就點哪裡)22

注:設置視圖方向(SetViewDirection)

要點回顧

立方體展開問題(哪裡需要立方體就點哪裡)23

後記

受趙林老師、劉玉平老師的啟發,才有了本作品。

立方體展開問題(哪裡需要立方體就點哪裡)24

一開始,啊K隻想到全部用執行指令。至于每個小格子的單擊時腳本,本來是希望借助可以給對象添加腳本的指令,就可以再用執行來批量操作。

但是,GeoGebra中,隻能進入對象的屬性,方可添加腳本。不過,在表格區,當下拉填充時,還可複制其腳本。所以,利用表格區,就可極大地節省輸入腳本的時間。

所以,利用表格區執行指令都可以批量操作。而表格區的下拉填充,還能填充對象的腳本等屬性。

如需本作品的源文件,請回複:哪裡需要立方體就點哪裡

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
沒錢隔離14天費用誰出 沒錢支付怎麼辦
沒錢隔離14天費用誰出 沒錢支付怎麼辦
随着疫情的到來,很多人都是密切接觸者,也有直接感染新冠肺炎的人。如果不是感染,而是被社區強制隔離,那麼如果沒錢隔離14天費用誰出?沒錢支付怎麼辦?下面一起來了解一下。疫情隔離官方發布最新通知,而且明确提出之中的問題,例如對集中化硬隔離工作人員防護期内造成的房租費和夥食費,由執行強制隔離地政府部門擔負...
2024-10-11
行程碼超過15天不更新原因是什麼
行程碼超過15天不更新原因是什麼
行程碼可以記錄14天内到過的地方,最近一段時間國内疫情嚴重,大家出行需要出示行程碼,一些小夥伴反映行程卡碼過了15天為啥不更新?行程碼超過15天不更新原因是什麼?下面小編為大家帶來行程碼超過15天不更新原因介紹,感興趣的小夥伴一起來看一下吧。行程碼超過15天不更新原因是什麼用戶前14天内的路程計算是...
2024-10-11
山姆會員卡是一年辦一次嗎 沒有會員卡可以進山姆會員店嗎
山姆會員卡是一年辦一次嗎 沒有會員卡可以進山姆會員店嗎
山姆會員卡分為兩種,一種是普通260元一年,一種是卓越卡,680元一年。此外,還可同時獲得一張免費的家人和朋友卡。家庭卡的有效期與主卡的有效期相同。當萬事達卡到期或因其他原因失效時,親友卡将同時失效。下面,就快和小編一起了解相關知識吧!山姆會員卡是一年辦一次嗎?山姆會員是一年制,一年到期後需要續費。...
2024-10-11
十部經典瓊瑤劇排行榜 瓊瑤劇有哪些電視劇
十部經典瓊瑤劇排行榜 瓊瑤劇有哪些電視劇
瓊瑤阿姨的劇可以說影響了好幾代的中國人,年輕一代比較熟悉的可能是《還珠格格》、《情深深雨濛濛》這些,其實還有很多特别優秀經典的作品。那麼今天小編就來為各位列出十部經典瓊瑤劇排行榜,快來看看吧。1、還珠格格詳細介紹:《還珠格格》至今都會在每年的寒暑假重播,是非常經典的一部瓊瑤劇,改編自同名小說,講述了...
2024-10-11
十大必看體育電影排行榜 值得看的體育電影排名
十大必看體育電影排行榜 值得看的體育電影排名
1.摔跤吧爸爸尼特什·提瓦瑞指導的摔跤吧爸爸,作為優秀的二十部印度電影之一,它于2016年上映,這部影片一上映便獲得了很多好評,主要講述了摔跤冠軍培養兩個女兒成長為冠軍的故事,這部影片深受全世界影迷的喜愛。2.弱點約翰·李·漢柯克執導的弱點,它于2009年上映,主要講述了美國橄榄球隊員突破自己,并成...
2024-10-11
Copyright 2023-2024 - www.tftnews.com All Rights Reserved