1
ทฤษฎีสัมพัทธภาพพิเศษใน GLSL
ฉันพยายามใช้ GLSL shader ซึ่งช่วยทำความเข้าใจสัมพัทธภาพพิเศษ Lorentz Transformation ลองมาสองแกนชิดสังเกตการณ์เฉื่อย และO O'ผู้สังเกตการณ์O'อยู่ในการเคลื่อนไหวสังเกตการณ์ WRT ด้วยความเร็วOv=(v_x,0,0) เมื่ออธิบายในแง่ของO'พิกัดเหตุการณ์P' = (x',y',z',ct')จะเปลี่ยนพิกัด(x,y,z,ct)= L (x',y',z',ct') โดยที่ L เป็นเมทริกซ์ 4x4 ที่เรียกว่าการแปลงแบบลอเรนซ์ซึ่งช่วยให้เราเขียนพิกัดของเหตุการณ์ P 'ในOพิกัด (สำหรับรายละเอียดดูhttp://en.wikipedia.org/wiki/Lorentz_transformation#Boost_in_the_x-direction ) ฉันได้เขียน Shader Vertex เบื้องต้นตัวแรกที่ใช้การแปลงแบบลอเรนซ์ที่กำหนดความเร็วให้กับทุกจุดสุดยอด แต่ฉันไม่สามารถทำให้การแปลงทำงานได้อย่างถูกต้อง vec3 beta= vec3(0.5,0.0,0.0); float b2 = (beta.x*beta.x + beta.y*beta.y + beta.z*beta.z )+1E-12; float g=1.0/(sqrt(abs(1.0-b2))+1E-12); // Lorentz factor (boost) float q=(g-1.0)/b2; …