Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Angular velocity Doppler shift #33

Open
WrathfulSpatula opened this issue Dec 8, 2020 · 0 comments
Open

Angular velocity Doppler shift #33

WrathfulSpatula opened this issue Dec 8, 2020 · 0 comments

Comments

@WrathfulSpatula
Copy link
Member

One of the earliest things I attempted to do with the original OpenRelativity shader was to try to incorporate Lorentz transformation for angular velocity. I did it incorrectly, though. Angular velocity implies a (centripetal) tangential acceleration, and the usual Lorentz transformation code doesn't handle this change of tangential velocity in time, (though it's basically the same principle as the now-included "relativistic rocket" handling for translational acceleration). It's worth linking to the wikipedia page for the Ehrenfest paradox, which states that the radius of a spinning disk is at a right angle to tangential velocity (at all points on the disk) and therefore does not "length contract," while circumference is apparently warped by the velocity, (as the player would "stay put" on its surface as the worldline). Therefore, a spinning sphere at translational rest with respect to the player should appear as having its "proper" radius, as at rest, it seems. However, the Doppler shift of points with angular velocity appears as the relativistic sum of the translation and angular tangential velocities.

This is extremely expensive for the shader to simulate, at least compared to its typical magnitude of detectable effect. Basically, I don't think it's worth it for typical video game development purposes. However, it should be noted that this physical correction has not been made in the shader.

The Lorentz transformation would still happen as according to the translational velocity, but the Doppler shift (in the fragment shader) should be calculated as per the relativistic velocity sum of translational and angular tangential components.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant