Euler conversion

using Stride's conversion method, it doesn't convert back correctly
Vector3 euler = new(-179, 47, 98);
var input = (euler * MathF.PI / 180f).ToQuaternion();
Console.WriteLine($"expected: {euler}");
Console.WriteLine($"test : {input.ToEuler() * 180f / MathF.PI}");
Vector3 euler = new(-179, 47, 98);
var input = (euler * MathF.PI / 180f).ToQuaternion();
Console.WriteLine($"expected: {euler}");
Console.WriteLine($"test : {input.ToEuler() * 180f / MathF.PI}");
2 Replies
SomeDeveloper
SomeDeveloperOP4mo ago
this is the extension methods I used
No description
SomeDeveloper
SomeDeveloperOP4mo ago
used the getter from Stride Engine https://github.com/stride3d/stride/blob/66fa00c92119de850c6605cdcf6826bd295ce935/sources/engine/Stride.Engine/Engine/TransformComponent.cs#L126 @Aqua sorry for the tag! this is in reply to your message at here: https://discord.com/channels/521092042781229087/607634593201520651/1309565799408730192 I changed my ToQuaternion to use Stride now, and the results were
expected: <-179, 47, 98>
test : <-179, 46.999992, 98>
expected: <-179, 47, 98>
test : <-179, 46.999992, 98>
im 100% sure im using the standard method wrong now

Did you find this page helpful?