ขอต้อนรับ ผู้มาเยือน กรุณา ล็อกอิน หรือ สมัครสมาชิก

ล็อกอินด้วยชื่อผู้ใช้ รหัสผ่่าน และระยะเวลาใช้งาน

มีน้ำใจ ไม่อวดตัว มั่วไม่ทำ
 
Advanced search

40704 Posts in 6002 Topics- by 5790 Members - Latest Member: punsikorn48
mPEC ForumบทเรียนFlash Physicsตัวอย่าง นาฬิกาจับเวลา
Pages: 1   Go Down
Print
Author Topic: ตัวอย่าง นาฬิกาจับเวลา  (Read 52050 times)
0 Members and 1 Guest are viewing this topic.
sujint
neutrino
*
Offline Offline

Posts: 51



« on: March 13, 2006, 03:26:35 PM »

ตัวอย่าง นาฬิกาจับเวลา ให้ลองทำเองดู ไม่ใช่ให้ดูเฉย ๆ นะ Grin


http://mpec.sc.mahidol.ac.th/forums/Downloads/FlashAnimations/stopwatch.swf

* stopwatch.swf (41.1 KB - downloaded 662 times.)
« Last Edit: December 13, 2014, 11:01:20 PM by ปิยพงษ์ - Head Admin » Logged
phys_pucca
Administrator
SuperHelper
*****
Offline Offline

Posts: 724


วิ่งตามฝัน


WWW
« Reply #1 on: April 09, 2006, 09:29:23 AM »

ผมก็ทำได้ครับ แต่ไม่มีตังซื้อกล้อง digital เลยต้องวาดเอง
อาจจะไม่สวย แต่ก็ใช้งานได้ดี

 Grinมี functions มากกว่าของ อ.สุจินต์ด้วย icon adore  คลิ๊กที่รูปเพื่อลองใช้ดู  Grin

« Last Edit: April 09, 2006, 09:39:26 AM by ปิยพงษ์ » Logged

icon adore  PHYSICS NEVER DIE
Nature uses only the longest thread to weave her patterns, so each small piece of her fabric reveals the organization of the entire tapestry. ; Richard P. Feynman

อย่าท้อ อย่าหยุด อย่าเบื่อ ; psaipetc
ปิยพงษ์ - Head Admin
Administrator
SuperHelper
*****
Offline Offline

Posts: 6133


มีน้ำใจ ไม่อวดตัว มั่วไม่ทำ


WWW
« Reply #2 on: April 09, 2006, 09:41:36 AM »

...
 Grinมี functions มากกว่าของ อ.สุจินต์ด้วย icon adore คลิ๊กที่รูปเพื่อลองใช้ดู Grin

...

1. มีฟังก์ชันมากกว่าตรงไหน หาไม่เจอ
2. แล้วปุ่ม pause นี่ มันหยุดแสดง แต่เวลามันยังนับต่อนะ Huh
3. การแสดงตัวเลขไม่ต่อเนื่องเหมือนของอ.สุจินต์
« Last Edit: December 13, 2014, 11:01:38 PM by ปิยพงษ์ - Head Admin » Logged

มีน้ำใจ ไม่อวดตัว มั่วไม่ทำ
phys_pucca
Administrator
SuperHelper
*****
Offline Offline

Posts: 724


วิ่งตามฝัน


WWW
« Reply #3 on: April 09, 2006, 10:01:33 AM »

...
 Grinมี functions มากกว่าของ อ.สุจินต์ด้วย icon adore  คลิ๊กที่รูปเพื่อลองใช้ดู  Grin

...

1. มีฟังก์ชันมากกว่าตรงไหน หาไม่เจอ 
2. แล้วปุ่ม pause นี่ มันหยุดแสดง แต่เวลามันยังนับต่อนะ  Huh
3. การแสดงตัวเลขไม่ต่อเนื่องเหมือนของอ.สุจินต์


1. ของผม pause แล้วเวลายังเดินต่อ แล้วสามารถกด play ใหม่เพื่อ ดูเวลาที่ยังเดินอยู่

2. ตั้งใจให้เป็นอย่างนั้นครับ ถ้าอยากให้หยุดแล้ว ไม่นับเวลาต่อ ให้ กด stop แล้วถ้าอยากให้มันจับต่อ โดยเริ่มจากเวลา
ที่หยุดไว้ ก็กด play ใหม่  Grin

3. อันนี้ไม่เข้าใจคำถามครับว่า ต่อเนื่องยังงัย Huh  bang head
Logged

icon adore  PHYSICS NEVER DIE
Nature uses only the longest thread to weave her patterns, so each small piece of her fabric reveals the organization of the entire tapestry. ; Richard P. Feynman

อย่าท้อ อย่าหยุด อย่าเบื่อ ; psaipetc
ปิยพงษ์ - Head Admin
Administrator
SuperHelper
*****
Offline Offline

Posts: 6133


มีน้ำใจ ไม่อวดตัว มั่วไม่ทำ


WWW
« Reply #4 on: April 09, 2006, 10:14:31 AM »

..
3. อันนี้ไม่เข้าใจคำถามครับว่า ต่อเนื่องยังงัย Huh bang head

ตัวเลขแสดงเวลาที่เป็นส่วนร้อยของวินาทีค้างอยู่ที่ค่าหนึ่งนาน แล้วก็กระโดดไปตัวเลขมากกว่าหลายตัวไปเลย Sad
« Last Edit: December 13, 2014, 11:01:48 PM by ปิยพงษ์ - Head Admin » Logged

มีน้ำใจ ไม่อวดตัว มั่วไม่ทำ
phys_pucca
Administrator
SuperHelper
*****
Offline Offline

Posts: 724


วิ่งตามฝัน


WWW
« Reply #5 on: April 09, 2006, 01:23:31 PM »

จริงๆด้วยครับอาจารย์  bang head ขอบคุณครับ icon adore อย่างนี้ต้องไปแก้ซะแล้ว
เสร็จแล้วจะเอามาให้ใหม่
Logged

icon adore  PHYSICS NEVER DIE
Nature uses only the longest thread to weave her patterns, so each small piece of her fabric reveals the organization of the entire tapestry. ; Richard P. Feynman

อย่าท้อ อย่าหยุด อย่าเบื่อ ; psaipetc
phys_pucca
Administrator
SuperHelper
*****
Offline Offline

Posts: 724


วิ่งตามฝัน


WWW
« Reply #6 on: April 10, 2006, 08:12:28 AM »

แก้แล้วครับ Grin

คราวนี้ code ที่เขียนง่ายกว่าเดิมอีก มีการใช้งานเพิ่มอีกอย่างคือ
สามารถจับเวลาพร้อมกันสองอย่าง (เริ่มพร้อมกันแต่หยุดไม่พร้อมกัน)
โดยการกด play ปกติ หาก อันแรกหยุดก็ให้กด pause และเมื่ออันที่สองหยุด
ก็กด stop หากต้องการดูเวลาที่อันที่สองหยุดก็ให้กด play Grin


* digitalmodi.swf (6.09 KB - downloaded 721 times.)
« Last Edit: December 13, 2014, 11:01:57 PM by ปิยพงษ์ - Head Admin » Logged

icon adore  PHYSICS NEVER DIE
Nature uses only the longest thread to weave her patterns, so each small piece of her fabric reveals the organization of the entire tapestry. ; Richard P. Feynman

อย่าท้อ อย่าหยุด อย่าเบื่อ ; psaipetc
เกียรติศักดิ์
Administrator
neutrino
*****
Offline Offline

Posts: 296


:)


WWW
« Reply #7 on: May 17, 2006, 12:40:51 PM »

นาฬิกาของอาจารย์สุจินต์และของ phys_pucca อันใหม่มีข้อดีที่กลายมาเป็นข้อด้อยครับ และเป็นข้อด้อยที่ทำให้ความเป็นนาฬิกาจับเวลาหายไป นั่นก็คือ แม้ว่าตัวเลขจะแสดงได้อย่างต่อเนื่อง แต่ว่าอัตราการ tick นั้น น้อยกว่าอัตราจริงอย่างที่สังเกตเห็นได้ครับ (ภายในสิบห้าวินาที) ผมคาดว่า คงเพราะเนื่องมาจาก updateAfterEvent() ที่ไป lag ตัว counter ที่กำลังนับเวลาอยู่ (ใช้วิธีการนี้หรือเปล่าครับ)

นาฬิกาสีเขียวอันแรกเริ่มนั้น เดินได้ตรงดีอยู่แล้วครับ อย่างน้อยก็ไม่เห็นว่าอัตราการ tick น้อยกว่าอัตราจริงครับ (ภายในสามนาทีที่ผมอดทนนั่งดู) เป็นอันว่า หน่วยเล็กที่สุดที่นาฬิกา Flash จับแล้วเชื่อถือได้ น่าจะเป็นหน่วยวินาทีครับ (ไม่ใช่เซนติวินาที) เนื่องด้วยข้อจำกัดของ ActionScript และ Flash Player เอง Smiley
Logged

Scientia gaza inaestimabilis est.
phys_pucca
Administrator
SuperHelper
*****
Offline Offline

Posts: 724


วิ่งตามฝัน


WWW
« Reply #8 on: May 17, 2006, 01:23:28 PM »

อันหลังผมใช้การตั้ง frame rate ครับเป็น 100 fps
ส่วนอันแรกผมใช้ setInterval เพื่อกำหนดเวลาในการเรียกใช้
function สร้างตัวเลขครับ Grin

ที่สำคัญผมก็ไม่เคยเชื่อมันสักเท่าไหร่หรอกครับ Cry
Logged

icon adore  PHYSICS NEVER DIE
Nature uses only the longest thread to weave her patterns, so each small piece of her fabric reveals the organization of the entire tapestry. ; Richard P. Feynman

อย่าท้อ อย่าหยุด อย่าเบื่อ ; psaipetc
เกียรติศักดิ์
Administrator
neutrino
*****
Offline Offline

Posts: 296


:)


WWW
« Reply #9 on: May 17, 2006, 02:12:55 PM »

อ้อ เข้าใจแล้วครับ แสดงว่าข้อจำกัดที่ทำให้นาฬิกาจับเวลาตัวที่สองนั้นมีอัตราการ tick ไม่ค่อยตรงกับอันจริง คือ dependence ของอัตราการ tick ไว้กับ frame rate นั่นเอง (100 fps นั้นสูงมาก!)

ปัญหาที่นาฬิกาสีเขียวตัวแรกมี (การแสดงตัวเลขไม่่ต่อเนื่อง) เกิดจากการที่ Flash Player จะวาดสกรีนใหม่ก็ต่อเมื่อเฟรมต่อไปมาถึงตามกำหนดเวลาที่กำหนดโดย frame rate เท่านั้น ดังนั้น การสั่งให้ตัวเลขเปลี่ยนไปในแต่ละรอบของ interval นั้น จึงไม่เป็นผลจนกว่าเฟรมต่อไปจะมาถึงจริงๆ ครับ

เราสามารถสั่งให้ Flash Player เปลี่ยนตัวเลขไปทุกๆ รอบของ interval จริงๆ โดยที่ไม่ dependent กับ frame rate ได้โดยการนำเมธอด updateAfterEvent() ไปต่อท้ายคำสั่งสุดท้ายในฟังก์ชันสร้างตัวเลขที่ setInterval() ไปเรียกใช้มาทุกๆ หนึ่งเซนติวินาทีครับ

น้อง phys_pucca ลองทำอย่างว่าโดยกลับไปใช้ code ของนาฬิกาตัวแรกดู คราวนี้ มันจะ tick ตัวเลขไปอย่างต่อเนื่องทุกๆ เซนติวินาทีแล้ว (โดยที่ frame rate เป็นอะไรก็ได้) ที่น่าสนใจก็คือ อัตราการ tick จะใกล้เคียงของจริงหรือไม่ ลองตรวจสอบดูนะครับ

(ตอนแรกพี่ก็นึกว่าเราทำวิธีอย่างที่พี่เพิ่งบอกไปแล้ว แล้วพบว่าอัตราการ tick ยังช้ากว่าของจริงอยู่)
Logged

Scientia gaza inaestimabilis est.
phys_pucca
Administrator
SuperHelper
*****
Offline Offline

Posts: 724


วิ่งตามฝัน


WWW
« Reply #10 on: May 17, 2006, 03:33:24 PM »

อันที่ 2 นั้นหากใช้ตอนที่ขยายใหญ่ ผมคิดว่าโปรแกรมจะประมวลผลไม่ทันครับ
ผมลองจับเวลาดูพบว่าผิดพลาดไปมาก ในโปรแกรมผมได้ 30 s แต่นาฬิกาจริงได้
35 s แต่หาก download มาเปิดกับ flash player ในเครื่องก็จะแม่นยำในนัยสำคัญที่เชื่อถือได้ครับ
คือผมลองใช้โปรแกรมครั้งแรกจะได้ 1 minute 30.04 s นาฬิกาจริงได้ 1 minute 30.14 s
ครั้งที่สองจะได้ 1 minute 30.07 s นาฬิกาจริงได้ 1 minute 30.18 s ซึ่งส่วนต่าง
เกิดขึ้น 0.1 s อยู่ในค่าที่พอจะยอมรับได้ครับเพราะเวลาเราทำการทดลองนั้นเรามักจะเขียน
ความคลาดเคลื่อนในการจับเวลา 0.1 - 0.2 s อยู่แล้ว

ส่วนอันแรกที่เวลาเชื่อได้เพราะผมสั่งให้รับค่าเวลาจากเครื่อง ไม่ขึ้นกับการประมวลผลใดๆ ของโปรแกรม
จึงทำให้ได้เวลาจริงๆ ตอนที่โปรแกรมทำงาน ไม่ว่าจะขยายรูปให้ใหญ่หรือไม่ก็ตาม icon adore icon adore icon adore

ผมลองใช้ updateAfterEvent() แล้ว ปรากฏว่าไม่มีอะไรเปลี่ยแปลงครับ


ขอบคุณครับที่ช่วยแนะนำ วันหลังมีอะไรที่จะขอความช่วยเหลือ
ผมจะรบกวนอีกนะครับ
 icon adore icon adore icon adore icon adore
Logged

icon adore  PHYSICS NEVER DIE
Nature uses only the longest thread to weave her patterns, so each small piece of her fabric reveals the organization of the entire tapestry. ; Richard P. Feynman

อย่าท้อ อย่าหยุด อย่าเบื่อ ; psaipetc
เกียรติศักดิ์
Administrator
neutrino
*****
Offline Offline

Posts: 296


:)


WWW
« Reply #11 on: May 17, 2006, 03:55:05 PM »

อันที่ 2 นั้นหากใช้ตอนที่ขยายใหญ่ ผมคิดว่าโปรแกรมจะประมวลผลไม่ทันครับ
ผมลองจับเวลาดูพบว่าผิดพลาดไปมาก ในโปรแกรมผมได้ 30 s แต่นาฬิกาจริงได้
35 s แต่หาก download มาเปิดกับ flash player ในเครื่องก็จะแม่นยำในนัยสำคัญที่เชื่อถือได้ครับ
คือผมลองใช้โปรแกรมครั้งแรกจะได้ 1 minute 30.04 s นาฬิกาจริงได้ 1 minute 30.14 s
ครั้งที่สองจะได้ 1 minute 30.07 s นาฬิกาจริงได้ 1 minute 30.18 s ซึ่งส่วนต่าง
เกิดขึ้น 0.1 s อยู่ในค่าที่พอจะยอมรับได้ครับเพราะเวลาเราทำการทดลองนั้นเรามักจะเขียน
ความคลาดเคลื่อนในการจับเวลา 0.1 - 0.2 s อยู่แล้ว

ส่วนอันแรกที่เวลาเชื่อได้เพราะผมสั่งให้รับค่าเวลาจากเครื่อง ไม่ขึ้นกับการประมวลผลใดๆ ของโปรแกรม
จึงทำให้ได้เวลาจริงๆ ตอนที่โปรแกรมทำงาน ไม่ว่าจะขยายรูปให้ใหญ่หรือไม่ก็ตาม icon adore icon adore icon adore

อ้อ ครับๆ Smiley

ผมลองใช้ updateAfterEvent() แล้ว ปรากฏว่าไม่มีอะไรเปลี่ยแปลงครับ

ไม่เปลี่ยนแปลงเนื่องจากการทำงานโดยรับค่ามาจากเครื่องนั่นเอง ตอนแรกนึกว่าตัวโปรแกรมเป็นตัวจับเวลาเองน่ะครับ

ขอบคุณครับที่ช่วยแนะนำ วันหลังมีอะไรที่จะขอความช่วยเหลือ
ผมจะรบกวนอีกนะครับ
 icon adore icon adore icon adore icon adore

ครับผม Smiley
Logged

Scientia gaza inaestimabilis est.
Putthinun
neutrino
*
Offline Offline

Posts: 1


« Reply #12 on: May 13, 2008, 11:19:02 AM »

โอ้ อยากทำบ้างจังเลย

แต่ทำไม่เป็นค่ะ


 2funny Grin Grin Grin Grin
Logged
มะตูม Kitabodin
Conan is a physicist
neutrino
*
Offline Offline

Posts: 122

555


« Reply #13 on: December 13, 2014, 09:26:23 PM »

ทำใน flashยังไงอะครับ(CSอะไรอะครับ)
Logged

[img alt=]http://upload.wikimedia.org/wikipedia/commons/thumb/7/7c/Go-home.svg/100px-Go-home.svg.png[/img]
Pages: 1   Go Up
Print
Jump to:  

คุณสมบัติของเด็กดี

ไม่ฟังเวลามีการนินทากัน ไม่มองหาข้อด้อยของผู้อื่น ไม่พูดนินทาเหยีบบย่ำผู้อื่น