เข็มทิศฟ้า

หน้าใหม่ชื่อ “ฟ้า” ตอบคำถามเดียว: ตอนนั้นแสงมาจากไหน ตัวหน้าคือเข็มทิศที่มีโดมฟ้าครอบอยู่ วาดด้วยเส้นเรียบ ไม่มีเงา ไม่มีแสงตกกระทบ ความลึกมาจากรูปทรงอย่างเดียว ถือเครื่องแล้วหมุนตัว โดมหมุนตาม ด้านไกลของโดมคือทิศที่กำลังหันหน้าไป ลากแถบเวลาแล้วดวงอาทิตย์ ดวงจันทร์ และทางช้างเผือกเดินไปตามเส้นทางของมัน

โดม

ลากเพื่อหมุนและเอียง ในแอปการหมุนมาจากเข็มทิศของเครื่อง ส่วนการเอียงมาจากนิ้ว ลากแถบเวลาด้านบนของหน้านี้เพื่อเดินเวลา หรือกดฉากด้านล่างเพื่อไปยังคืนที่มีเรื่อง

  1. ดวงอาทิตย์จุดสีของ “ตอนนี้” รัศมี 7 dp ขอบสีพื้น 2 dp เส้นประดิ่งลงถึงพื้นแล้ววิ่งเข้ากลาง ทำให้อ่านทิศได้จากหน้าปัด เมื่ออยู่ใต้ขอบฟ้าเหลือแค่วงกลวงบนขอบหน้าปัดตรงทิศของมัน
  2. เส้นทางของวันแถบฟ้า 24 ชั่วโมงของ drawer ส่วนที่เป็นกลางวัน ยกขึ้นไปโค้งบนฟ้า สีชุดเดียวกัน หนา 6 dp มีขอบสีเส้น จุดเล็กทุกชั่วโมง เลขกำกับทุกสามชั่วโมง ปลายสองข้างบอกเวลาขึ้นและตก
  3. วงระดับวงประบอกความสูงที่มีความหมายกับสิ่งที่ดูอยู่ ดวงอาทิตย์ใช้ 6° เพราะต่ำกว่านั้นคือแสงทอง ทางช้างเผือกใช้ 10° เพราะต่ำกว่านั้นถ่ายไม่ติด วงบาง 30° กับ 60° อยู่เสมอ
  4. เสาและเงาเสาสูง 16% ของรัศมีที่กลางหน้าปัด เงาทอดไปทางตรงข้ามดวงอาทิตย์ ยาวตามจริง ดวงอาทิตย์ต่ำ เงายาว บอกทิศของแสงบนตัวแบบได้ทันที
  5. หน้าปัดเข็มทิศพื้นสีแผ่น ขีดทุก 15° ขีดยาวทุก 45° ตัวย่อ น ตอ ต ตต อยู่ด้านใน ตัว น หนากว่า ที่ว่างด้านนอกเก็บไว้ให้เวลาขึ้นตก
  6. ดวงจันทร์รูปดวงจันทร์เอียงตามที่เห็นจริงจากที่นั่น เส้นทางเป็นจุดไข่ปลา คือรอบที่อยู่บนฟ้าตอนนี้ หรือรอบถัดไปถ้ายังไม่ขึ้น ทางช้างเผือกเป็นแถบของจุดดาว ออกมาเมื่อดวงอาทิตย์ต่ำกว่า −6° และจางลงเมื่อดวงจันทร์สว่าง

หน้าฟ้า

โครงเดียวกับหน้าแรก: ภาพใหญ่อยู่บนพื้น รายละเอียดอยู่บนแผ่นด้านล่าง เปิดจากเวลาขึ้นตกบนหัวเดือน จากปุ่ม “ฟ้า” ในหน้ารายละเอียดของนัด หรือจากแผ่นของปรากฏการณ์ ซึ่งสองทางหลังจะเปิดมาที่วัน เวลา และที่ของสิ่งนั้น

ตอนนี้ ตามเวลาบนแถบด้านบนของหน้านี้ ลากโดมและแถบเวลาในเครื่องได้
  • แถบบน ปุ่มกลับ ชื่อหน้า ใต้ชื่อคือที่ของฟ้า แตะเพื่อเลือกเมืองอื่น ทางขวาคือวันที่กับลูกศรวันก่อนและวันถัดไป
  • โดม สูง 250 dp บนจอ 780 dp มุมซ้ายบนบอกทิศที่หันหน้าอยู่เป็นองศาและชื่อทิศ มุมขวาบนสลับระหว่างมุมเอียงกับมองจากบน
  • เวลาที่ดูอยู่ ตัวเลข 24 sp ตามด้วยระยะจากตอนนี้และชื่อช่วงแสง: กลางวัน แสงทอง ฟ้าน้ำเงิน สนธยา มืดสนิท เมื่อไม่ใช่ตอนนี้ มีปุ่ม “ตอนนี้” ให้กลับ
  • แถบเวลา แถบฟ้าของวันนั้น ลากได้ทั้งแถบ เหนือแถบคือชั่วโมงที่ดวงจันทร์อยู่บนฟ้า ใต้แถบ วงเล็บคือแสงทองเช้าและเย็น จุดไข่ปลาคือช่วงที่เห็นใจกลางทางช้างเผือก ป้ายใต้แถบบอกเวลาขึ้นและตกแทนเลข 06 กับ 18
  • แท็บ ดวงอาทิตย์ ดวงจันทร์ ทางช้างเผือก เปลี่ยนทั้งรายละเอียดด้านล่างและสิ่งที่โดมเน้น
  • แถวของช่วงแสง พื้นของแถวเป็นสีอ่อนของฟ้าในช่วงนั้น ความสว่างเท่ากันทุกแถว ต่างกันที่เนื้อสี ช่วงที่กำลังเกิดจางจากซ้ายเหมือนแถวกิจกรรม ช่วงที่ผ่านไปแล้วยุบเป็นบรรทัดเดียว

สามแท็บ และมุมมองจากบน

สามเครื่องแรกตรึงเวลาไว้ที่ช่วงที่แต่ละแท็บมีเรื่องจะบอก นาฬิกาบนแถบสถานะยังเป็นเวลาจริง ส่วนเวลาที่ดูอยู่เขียนไว้บนแผ่น เครื่องสุดท้ายคือโดมเดียวกันเมื่อมองลงมาตรง ๆ ซึ่งคือเข็มทิศแบบแบน

ดวงอาทิตย์ วันนี้ 17:50 กลางแสงทอง หันหน้าไปทางตะวันตก เงายาว 17 เท่าของความสูง
ดวงจันทร์ 26 ต.ค. 18:30 เต็มดวง เพิ่งขึ้นทางตะวันออก
ทางช้างเผือก 10 ต.ค. 19:40 ดอยอินทนนท์ คืนเดือนมืด
มองจากบน เวลาเดียวกับแถบด้านบน ทิศเหนืออยู่บน

ตัวเลขมาจากไหน

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

ชื่อในแอปนิยาม
ขึ้น ตกขอบบนของดวงอาทิตย์แตะขอบฟ้า รวมการหักเหของอากาศ (−0.833°)
แสงทองดวงอาทิตย์อยู่ระหว่าง +6° กับ −4°
ฟ้าน้ำเงินระหว่าง −4° กับ −6° คนถ่ายรูปเรียกทไวไลท์
สนธยาระหว่าง −6° กับ −18°
มืดสนิทต่ำกว่า −18°
เห็นใจกลางทางช้างเผือกมืดสนิท ใจกลางสูงตั้งแต่ 10° และดวงจันทร์อยู่ใต้ขอบฟ้าหรือสว่างไม่ถึง 25%
เงา1 ÷ tan(ความสูงของดวงอาทิตย์) เป็นจำนวนเท่าของความสูงของสิ่งที่ทอดเงา
ทิศองศาจากทิศเหนือจริง ตามเข็มนาฬิกา เข็มทิศของเครื่องแก้ค่าเบี่ยงเบนแม่เหล็กด้วย GeomagneticField

หน้าตัวอย่างนี้ใช้อนุกรมย่อของ Meeus (ไฟล์ astro.js) เทียบกับ Astronomy Engine 240 จุดเวลาในฉากนี้ที่กรุงเทพฯ และดอยอินทนนท์ ดวงอาทิตย์ต่างกันไม่เกิน 0.01° ดวงจันทร์ไม่เกิน 0.03° เวลาขึ้นตกไม่เกิน 1 นาที ตัวแอปจะเรียก Astronomy Engine โดยตรง

กติกา

เรื่องที่ภาพนิ่งบอกไม่ได้

  • หมุนตามเครื่อง ใช้ TYPE_ROTATION_VECTOR ไม่ต้องขอสิทธิ์ วาดใหม่เมื่อทิศเปลี่ยนตั้งแต่ 1° การหมุนผ่านสปริง AxyraMotion ตัวเดียวกับ drawer โดมจึงไม่สั่นตามมือ
  • เข็มทิศไม่แม่น เมื่อเซนเซอร์รายงานความแม่นต่ำ บรรทัดใต้องศาเปลี่ยนเป็น “เข็มทิศไม่แม่น หมุนเครื่องเป็นเลข 8” และโดมหยุดหมุนตามเครื่องจนกว่าจะกลับมาแม่น
  • ไม่มีเข็มทิศ หรือเครื่องวางราบ โดมล็อกทิศเหนือไว้ด้านไกล ลากด้วยนิ้วได้เหมือนในหน้านี้ ป้ายเปลี่ยนจาก “หันหน้าทิศ” เป็น “มองไปทางทิศ”
  • ลดการเคลื่อนไหว เมื่อระบบเปิดลดการเคลื่อนไหว โดมไม่หมุนตามเครื่องเอง ต้องแตะปุ่ม “หันตามเครื่อง” หนึ่งครั้งต่อการหมุนหนึ่งครั้ง
  • อ่านออกเสียง โดมทั้งใบเป็นประโยคเดียว เช่น “ดวงอาทิตย์อยู่ทิศตะวันออกเฉียงใต้ 128° สูง 63°, ดวงจันทร์อยู่ทิศตะวันตกเฉียงเหนือ สูง 7°” มีคำสั่งเสริม: หมุนซ้าย หมุนขวา มองจากบน แถบเวลาเป็นตัวเลื่อน ขยับทีละ 5 นาที
  • วาดบน Canvas เดียว อ่านทิศและเวลาในขั้นวาดเท่านั้น ไม่ผ่าน composition เหมือน WeekPainter การหมุนจึงไม่ทำให้แผ่นด้านล่างวาดใหม่
  • จอพับ SkyRoute เป็น PaneRoute บนจอที่แบ่งสองฝั่ง หน้าฟ้าไปอยู่ในแผงของวัน ปฏิทินยังอยู่อีกฝั่ง แตะวันบนปฏิทินแล้วฟ้าเปลี่ยนวันตาม ตั้งบนโต๊ะ: โดมอยู่ครึ่งตั้ง แถบเวลาและรายละเอียดอยู่ครึ่งราบ
  • ไม่รู้ที่อยู่ ถ้าเขตเวลาไม่มีเมืองในตาราง และผู้ใช้ยังไม่เลือกเมือง หน้าฟ้าแสดงหน้าปัดเปล่ากับปุ่ม “เลือกเมือง” ไม่เดาพิกัด