
สารบัญ:
- ขั้นตอนที่ 1: สร้าง NxN Matrix ของ Uniform Squares
- ขั้นตอนที่ 2: การสุ่มเครือข่าย
- ขั้นตอนที่ 3: รับระยะทางใหม่
- ขั้นตอนที่ 4: เลือกจุดและเปรียบเทียบระยะทางจากจุดนั้นกับจุดอื่นๆ
- ขั้นตอนที่ 5: ย้ายไปยังจุดใหม่
- ขั้นตอนที่ 6: แรง = K*ระยะทาง
- ขั้นตอนที่ 7: เปลี่ยนการเคลื่อนไหวของเครือข่ายเนื่องจากจุดย้าย
- ขั้นตอนที่ 8: รหัสสำเร็จรูป
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12

เซลล์สามารถโต้ตอบกับเมทริกซ์นอกเซลล์ (ECM) โดยรอบ และสามารถนำไปใช้รวมทั้งตอบสนองต่อแรงที่กระทำโดย ECM สำหรับโครงการของเรา เราจำลองเครือข่ายเส้นใยที่เชื่อมโยงกันซึ่งจะทำหน้าที่เป็น ECM และดูว่าเครือข่ายเปลี่ยนแปลงอย่างไรตามการเคลื่อนไหวของจุดใดจุดหนึ่ง ECM ถูกจำลองเป็นระบบสปริงที่เชื่อมโยงกันซึ่งเริ่มต้นที่สมดุลโดยมีแรงสุทธิเป็นศูนย์ เนื่องจากแรงถูกนำไปใช้กับเครือข่ายเพื่อตอบสนองต่อการเคลื่อนที่ของจุด เราจึงพยายามให้จุดที่เชื่อมต่อกันเพื่อตอบสนองต่อแรงในลักษณะที่พวกมันพยายามจะกลับสู่สมดุล แรงถูกตรวจสอบโดยสมการ F=k*x โดยที่ k คือค่าคงที่สปริง และ x คือการเปลี่ยนแปลงความยาวเส้นใย การจำลองนี้สามารถช่วยให้เข้าใจโดยทั่วไปเกี่ยวกับการขยายพันธุ์ของแรงในเครือข่ายแบบเส้นใย ซึ่งในที่สุดก็สามารถนำมาใช้เพื่อช่วยจำลองการแปลงทางกลได้
ขั้นตอนที่ 1: สร้าง NxN Matrix ของ Uniform Squares


ในการเริ่มต้นโค้ด เราเลือก N ซึ่งจะกำหนดขนาดของเครือข่ายของเรา (NxN) ค่า N สามารถเปลี่ยนด้วยตนเองเพื่อเปลี่ยนขนาดเครือข่ายได้ตามต้องการ ในตัวอย่างนี้ N=8 เราจึงมีเครือข่ายจุด 8x8 หลังจากที่เราสร้างเมทริกซ์แล้ว เราก็เชื่อมต่อจุดทั้งหมดในเมทริกซ์ที่มีความยาว 1 หน่วยโดยใช้สูตรระยะทาง Distance = sqrt((x2-x1)^2+(y2-y1)^2) โดยการทำเช่นนี้ เราได้เครือข่ายสี่เหลี่ยมจัตุรัสที่มีระยะห่างเท่ากันทั้งหมด 1 หน่วย ดังแสดงในภาพที่ 101
ขั้นตอนที่ 2: การสุ่มเครือข่าย


ในขั้นตอนนี้ เราต้องการสุ่มตำแหน่งของจุดทั้งหมด ยกเว้นจุดที่อยู่ด้านนอกซึ่งจะสร้างขอบเขตของเรา ในการทำเช่นนี้ ก่อนอื่น ให้หาพิกัดเมทริกซ์ทั้งหมดที่เท่ากับ 0 หรือ N จุดเหล่านี้เป็นจุดที่ประกอบกันเป็นขอบเขต สำหรับจุดที่ไม่มีขอบเขต ตำแหน่งจะถูกสุ่มโดยการเพิ่มค่าสุ่มที่แตกต่างจาก -.5 ถึง.5 ให้กับทั้งตำแหน่ง x และ y ภาพสุ่มที่พล็อตสามารถดูได้ในรูปที่ 1
ขั้นตอนที่ 3: รับระยะทางใหม่

เมื่อสร้างเครือข่ายแบบสุ่มแล้ว เราจะหาระยะห่างระหว่างจุดเชื่อมต่อโดยใช้สูตรระยะทางอีกครั้ง
ขั้นตอนที่ 4: เลือกจุดและเปรียบเทียบระยะทางจากจุดนั้นกับจุดอื่นๆ



ในขั้นตอนนี้ เราสามารถเลือกจุดสนใจโดยใช้เคอร์เซอร์ ดังแสดงในรูปที่ 2 คุณไม่จำเป็นต้องเลื่อนเคอร์เซอร์ไปที่จุดนั้นทุกประการ เพราะโค้ดจะปรับให้เป็นจุดเชื่อมต่อที่ใกล้ที่สุด ในการทำเช่นนี้ ก่อนอื่นเราคำนวณระยะห่างระหว่างจุดที่เชื่อมต่อทั้งหมดกับจุดที่เราเพิ่งเลือก หลังจากคำนวณระยะทางทั้งหมดแล้ว เราจะเลือกจุดที่มีระยะทางน้อยที่สุดจากจุดที่เลือกเพื่อให้เป็นจุดที่เลือกจริง
ขั้นตอนที่ 5: ย้ายไปยังจุดใหม่



ในขั้นตอนนี้ เราจะย้ายจุดนั้นไปยังตำแหน่งใหม่โดยใช้จุดที่เลือกในขั้นตอนก่อนหน้า การเคลื่อนไหวนี้ทำได้โดยการเลือกตำแหน่งใหม่ด้วยเคอร์เซอร์ที่จะมาแทนที่ตำแหน่งก่อนหน้า การเคลื่อนไหวนี้จะใช้เพื่อจำลองการออกแรงอันเนื่องมาจากการเปลี่ยนแปลงความยาวของสปริง ในรูปสีน้ำเงินทั้งหมด ตำแหน่งใหม่กำลังถูกเลือก ในรูปถัดไป การเคลื่อนไหวสามารถมองเห็นได้ด้วยจุดเชื่อมต่อสีส้มซึ่งเป็นตำแหน่งใหม่ ซึ่งต่างจากจุดเชื่อมต่อสีน้ำเงินซึ่งเป็นตำแหน่งเดิม
ขั้นตอนที่ 6: แรง = K*ระยะทาง

ในขั้นตอนนี้เราใช้สมการแรง=k*ระยะทาง โดยที่ k เป็นค่าคงที่ 10 สำหรับเส้นใยคอลลาเจน เนื่องจากเครือข่ายไฟเบอร์เริ่มต้นที่สถานะสมดุล แรงสุทธิจึงเป็น 0 เราสร้างเวกเตอร์ศูนย์ตามความยาวของเมทริกซ์ที่เราสร้างไว้ก่อนหน้านี้เพื่อแสดงสมดุลนี้
ขั้นตอนที่ 7: เปลี่ยนการเคลื่อนไหวของเครือข่ายเนื่องจากจุดย้าย




ในขั้นตอนนี้ เราจำลองการเคลื่อนไหวของเครือข่ายเพื่อตอบสนองต่อการเคลื่อนที่ของจุดเพื่อกลับสู่สถานะสมดุล เราเริ่มต้นด้วยการหาระยะทางใหม่ระหว่างจุดสองจุด ด้วยสิ่งนี้ เราสามารถค้นหาการเปลี่ยนแปลงในความยาวของไฟเบอร์โดยดูจากความแตกต่างระหว่างระยะทางเก่าและใหม่ เรายังสามารถดูได้ว่าจุดใดเคลื่อนไปและจุดใดที่เชื่อมต่อโดยการเปรียบเทียบตำแหน่งของจุดใหม่และเก่า ซึ่งช่วยให้เราเห็นว่าจุดใดควรเคลื่อนที่เพื่อตอบสนองต่อแรงกระทำ ทิศทางของการเคลื่อนไหวสามารถแบ่งออกเป็นองค์ประกอบ x และ y ได้ ทำให้เป็นเวกเตอร์ทิศทาง 2 มิติ การใช้ค่า k การเปลี่ยนแปลงระยะทาง และเวกเตอร์ทิศทาง เราสามารถคำนวณเวกเตอร์แรงซึ่งสามารถใช้เพื่อย้ายจุดของเราไปสู่สมดุลได้ เราเรียกใช้ส่วนนี้ของรหัส 100 ครั้ง แต่ละครั้งที่เคลื่อนที่โดยเพิ่มขึ้นทีละ Force*.1 การรันโค้ด 100 ครั้งช่วยให้เราเข้าถึงสมดุลได้อีกครั้งในที่สุด และด้วยการรักษาเงื่อนไขขอบเขต เราจะเห็นการเปลี่ยนแปลงในเครือข่าย แทนที่จะเป็นเพียงกะทั้งหมด การเคลื่อนไหวของเครือข่ายสามารถเห็นได้ในรูปที่ 3 โดยสีเหลืองคือตำแหน่งที่เคลื่อนที่และสีน้ำเงินคือตำแหน่งก่อนหน้า
ขั้นตอนที่ 8: รหัสสำเร็จรูป
สิ่งที่แนบมาในส่วนนี้คือสำเนาของรหัสของเรา ปรับเปลี่ยนได้ตามต้องการด้วยการสร้างแบบจำลองเครือข่ายต่างๆ!
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน

การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน

การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน

วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน

การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน

เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง