3 คะแนน โดย GN⁺ 2023-10-13 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • 3D Calculator ของ Desmos เป็นหน้าเว็บที่ขยายประสบการณ์เครื่องคิดเลขกราฟออนไลน์เดิมไปสู่สภาพแวดล้อมกราฟ 3D
  • คำอธิบายของเครื่องคิดเลขมีทั้ง กราฟฟังก์ชัน, การพล็อตจุด, การแสดงสมการพีชคณิตเป็นภาพ, สไลเดอร์ และแอนิเมชันกราฟ
  • ขณะนี้หน้าเว็บแจ้งว่าเบราว์เซอร์ที่ใช้อยู่ไม่มี ฟีเจอร์ที่จำเป็นสำหรับการรัน 3D Calculator
  • มีลิงก์คำแนะนำ เบราว์เซอร์ที่รองรับและแอปเนทีฟ ให้ตรวจสอบความเข้ากันได้
  • หากต้องการใช้เครื่องคิดเลข 3D ต้องเข้าผ่านสภาพแวดล้อมที่รองรับฟีเจอร์ของเบราว์เซอร์ตามที่ Desmos กำหนด

ประสบการณ์ที่มีให้ในเครื่องคิดเลขกราฟ 3D

  • Desmos 3D Calculator คือหน้าเครื่องคิดเลขกราฟ 3D ของ Desmos
  • ฟีเจอร์ที่ระบุไว้ในคำอธิบายของเครื่องคิดเลข Desmos มีดังนี้
    • สร้าง กราฟฟังก์ชัน
    • พล็อตจุด
    • แสดงสมการพีชคณิตเป็นภาพ
    • เพิ่มสไลเดอร์
    • ทำแอนิเมชันกราฟ

เงื่อนไขการรันบนเบราว์เซอร์

  • เนื้อหาในหน้าปัจจุบันแสดงข้อความว่าเบราว์เซอร์ไม่ได้ตั้งค่าพร้อมสำหรับ ฟีเจอร์ที่จำเป็นในการรัน Desmos 3D Calculator
  • สามารถตรวจสอบสภาพแวดล้อมที่เข้ากันได้ที่ Supported Browsers & Native Apps

1 ความคิดเห็น

 
GN⁺ 2023-10-13
ความคิดเห็นจาก Hacker News
  • มี YouTuber จำนวนไม่น้อยที่ทำแอนิเมชันด้วย Desmos
    ยังไม่เคยลองใช้เอง แต่ผลงานที่คนทำออกมานั้นน่าสนใจเสมอ
    https://youtu.be/4_8eY_Ij-5k

    • อันนี้ให้ความรู้สึกเหมือนเดโมรุ่นใหม่ และพอเห็นผลงานต่าง ๆ ก็ทั้งทึ่งและถ่อมตัวไปพร้อมกัน
      คำอธิบายของวิดีโอด้านบน: https://www.youtube.com/watch?v=6tBkJhmpfFc
    • ผมยังสนุกอยู่เลยแค่กับการหมุนกล้องด้วย xy แต่ในคอมเมนต์ก็มาโชว์เหนืออีกแล้ว
    • ยังมีซีรีส์วิดีโอสร้างเกมใน Desmos ด้วย
      https://www.youtube.com/watch?v=XvS_yBj-nDM&list=PL2lqjYK9wCjzC4Y9xHYhot8YCXMpe9s35&index=1
  • ผ่านการทดสอบ sin(x)sin(y)sin(z)>0.1
    และยังใช้ได้กับ sin(x)sin(y)sin(z)+0.1sin(10x)sin(10y)sin(10z)>0.1 ด้วย
    https://www.desmos.com/3d/85d41ad6c6

    • อยากให้ Desmos 3D รองรับเลขชี้กำลังเชิงซ้อน คงต้องมี i หรือฟังก์ชันอย่าง complex()
      สมการที่อยากลองใน GeoGebra มีอย่าง xi^2, e^xπi, e^(πi^x), e^(x π i^π) ซึ่งบางอันดูเหมือนวงกลม เกลียว หรือตาราง และบางอันก็หยุดทำงานไปเลย
      มีเพียง SageMath เท่านั้นที่ใช้ Python preprocessing เปลี่ยน ^ ให้เป็นยกกำลัง exp() หรือ ** แทน XOR และใน SymPy การจัดการสัญลักษณ์อย่าง E, I, pi ก็สำคัญมาก
      Sympy Gamma: https://gamma.sympy.org/
      Sympy Beta คือการคอมไพล์ SymPy Gamma เป็น WASM: https://github.com/eagleoflqj/sympy_beta
      เวลาทำภาพพิกัดเชิงซ้อน ไม่แน่ใจว่าการแมปลงแกน z นั้นมีประโยชน์จริงไหม หรือควรต้องแสดงผลเฟสเชิงซ้อนที่จำเป็นต่อ wavefunction ของ qubit อย่าง psi เป็นมิติที่สูงกว่านั้น
    • อยากรู้ว่าการทดสอบนี้มีลักษณะอย่างไร ถ้าเป็นสมการที่เครื่องมือกราฟมักจะเรนเดอร์ผิด ก็น่าสนใจว่า error จะออกมาในรูปแบบที่คาดเดาได้หรือไม่
    • บนมือถือพอซูมออกแล้วเครื่องร้อนพอสมควร แต่ความลื่นไหลของ UI ก็ยังดีอยู่ตลอด
  • ขอบคุณคนที่ออกแบบตัวควบคุมการหมุนโดยคำนึงถึงgimbal lock

  • ว้าว, https://www.desmos.com/3d/9eb92bb6e2 — ทำพื้นผิวฟังก์ชันโดยปริยายได้ด้วย

  • หน้าตาดี และน่าจะใช้สอนฟังก์ชัน 3D ได้ในบางสถานการณ์ โดยเฉพาะกับฟังก์ชันเชิงซ้อนที่ต้องการความแม่นยำสูงกว่า
    แต่ในระดับเริ่มต้นของ 3D หลายครั้งกราฟที่เห็นเป็นตารางชัด ๆ กลับดีกว่าเส้นโค้งที่เรียบเกินไป ดังนั้นส่วนใหญ่คงยังใช้ CalcPlot3D ต่อไป
    CalcPlot3D ยังรองรับการแสดงจุดและเวกเตอร์บนฟังก์ชัน, แผนที่เส้นชั้นความสูง และภาพของทรงที่เกิดจากการหมุนได้ดีด้วย
    https://c3d.libretexts.org/CalcPlot3D/index.html

  • ครูวิชาคณิตศาสตร์เชิงทดลองตอนมัธยมปลายเคยให้ทำการแสดงผลฟังก์ชัน 2D บนระบบพิกัดคาร์ทีเซียนที่ไม่มีที่สิ้นสุด พร้อมอินทิกรัลและอนุพันธ์ แล้วต่อยอดไปสู่การหมุนฟังก์ชัน 3D และการแสดงผลสีรุ้ง
    เป็นโปรเจกต์ที่เหมาะกับ C# มาก เพราะเริ่มจากจุดหนึ่งจุดบนแคนวาสแล้วสร้างส่วนที่เหลือด้วยการขยายวัตถุพื้นฐาน
    (x^{2}+9/4y^{2}+z^{2}-1)^{3}-x^{2}z^{3}-9/(80)y^{2}z^{3}=0

  • ถ้ามองเรื่องราคา Desmos คือเครื่องคิดเลขกราฟที่ดีที่สุด ทั้งฟรีและเข้าถึงง่าย เพียงแต่อยากให้เป็นโอเพนซอร์ส
    เคยพยายามทำทางเลือกขึ้นมาเอง แต่ตามฟีเจอร์ให้ทันยากมาก จึงหวังว่าจะมีทางเลือกโอเพนซอร์สออกมา
    แก้ไข: ดูเหมือนจะมี https://www.geogebra.org/ อยู่แล้ว

    • เท่าที่รู้ GeoGebra คือทางเลือกที่ใกล้เคียงที่สุด โดยเฉพาะในสาย copyleft และเป็นหนึ่งในไม่กี่เครื่องมือสอนเรขาคณิต/กราฟฟังก์ชันระดับมัธยมต้น-ปลาย ที่แข็งแรงพอสำหรับใช้ในห้องเรียน
      นักเรียนที่ขี้เบื่อแต่ช่างสงสัยมักจะเล่นซอฟต์แวร์การเรียนการสอนได้อย่างสร้างสรรค์พอสมควร ดังนั้นซอฟต์แวร์ที่บั๊กเยอะหรือไม่ intuitive จะทนไม่ไหว
      ทั้งนักเรียนที่สำรวจเกินกว่าที่ครูสอน, นักเรียนทั่วไปที่พึ่งเครื่องมือเพื่อทำความเข้าใจแนวคิด, และครูที่ต้องใส่มันลงในแผนการสอนโดยไม่มีบทสอนแยก ต่างก็ต้องการความเสถียร
    • Desmos เองก็มีหน้า GitHub แต่เสียดายที่โค้ดเบสหลักไม่ได้เปิดเผย
      อย่างไรก็ดี เอกสาร API เขียนไว้ดีมาก ทำให้ฝัง Desmos ลงในเว็บไซต์ได้ง่ายมาก
      [^1]: https://github.com/desmosinc
      [^2]: https://www.desmos.com/api/v1.8/docs/index.html
    • ตั้งแต่ครูคณิตฯ ตอนมัธยมแนะนำมา ก็ใช้ GeoGebra มานานจนเหมือนเกือบศตวรรษแล้ว และมันไม่เคยทำให้ผิดหวัง
      ถ้า Desmos ไม่ได้เป็นซอร์สปิด ก็ดูเหมือนจะเป็นผู้สืบทอดทางความคิดที่ดีทีเดียว
    • GeoGebra ต้องมีไลเซนส์สำหรับการใช้งานเชิงพาณิชย์
      https://www.geogebra.org/m/pR5DME5S#material/yumfrbjr
      ผมไม่ค่อยเข้าใจว่าไลเซนส์นี้อยู่ร่วมกับ GPL ได้อย่างไร
    • ใช้ GeoGebra มาหลายปีและลอง Desmos ไปสองครั้ง แต่ไม่ได้สังเกตความต่างได้ทันที เลยสงสัยว่า Desmos ดีกว่า GeoGebra ตรงไหน
  • อยากรู้ว่ามีใครอธิบายได้ไหมว่ามันทำงานอย่างไร
    แม้จะไม่แน่ใจเรื่องความน่าเชื่อถือ แต่มีคอมเมนต์เก่าใน Reddit ที่อธิบายวิธีที่ Desmos 2D ใช้ และวิธีนั้นก็น่าจะใช้กับ 3D ได้ ดังนั้น Desmos 3D อาจคล้ายกัน
    [1]: https://www.reddit.com/r/desmos/comments/qlhmbc

    • ลองเล่นดูนิดหน่อยแล้ว มันดูเหมือนรูปแบบหนึ่งของอัลกอริทึม marching cubes และก็น่าจะเป็นแบบ recursive ตามคาด คล้ายกับเวอร์ชัน 3D ของโพสต์ Reddit นั้น
      น่าจะมีการทำ optimization ไปเยอะ แต่ก็ยังนึกวิธีอื่นไม่ค่อยออก มีทั้ง ray tracing กับ ray marching ก็จริง แต่ผลลัพธ์ดูต่างออกไป และกับฟังก์ชันทั่วไปก็น่าจะแพงเกินไป
      ยังมีอัลกอริทึม marching tetrahedra ด้วย แต่ก็ดูไม่ใช่แบบนั้น และตอนนี้สิทธิบัตรของ marching cubes ก็หมดอายุแล้ว จึงไม่เห็นเหตุผลมากนักที่จะต้องใช้มันแทน
  • ชอบจับคู่ calc กับ gnuplot
    https://github.com/lcn2/calc
    ก่อนจะมีคนพูดถึง dc(1)/bc(1) ขอออกตัวก่อนว่า calc รองรับจำนวนเชิงซ้อน, pseudo-struct/function คล้าย C, ทศนิยมกำหนดเอง และอีกหลายอย่าง
    และ calc/gnuplot ก็ยังรันได้บนเครื่องระดับเครื่องปิ้งขนมปังหรือระบบเก่าอายุ 20~25 ปีด้วย

  • ยอดเยี่ยมจริง ๆ การเลื่อนกราฟ, ซูม, หมุน ใช้งานง่ายมาก เพราะตรงกับปุ่มเมาส์ที่คาดไว้พอดี
    แม้แต่ในแพ็กเกจคณิตศาสตร์เชิงพาณิชย์ส่วนใหญ่ การควบคุมแบบนี้ก็มักจะเทอะทะมาก แต่ที่นี่ทำได้ดี

    • ใช้เมาส์เลื่อนกราฟยังไง? ผมหาเจอแค่ท่าทางหมุนกับซูม ส่วนการเลื่อนต้องไปกรอกพิกัดเองในตั้งค่า