30 lines
		
	
	
		
			614 B
		
	
	
	
		
			Go
		
	
	
	
	
	
		
		
			
		
	
	
			30 lines
		
	
	
		
			614 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| 
								 | 
							
								package quat_test
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import (
							 | 
						||
| 
								 | 
							
									. "github.com/johanhenriksson/goworld/test"
							 | 
						||
| 
								 | 
							
									. "github.com/onsi/ginkgo/v2"
							 | 
						||
| 
								 | 
							
									. "github.com/onsi/gomega"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									"testing"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									"zworld/plugin/math/quat"
							 | 
						||
| 
								 | 
							
									"zworld/plugin/math/vec3"
							 | 
						||
| 
								 | 
							
								)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								func TestQuat(t *testing.T) {
							 | 
						||
| 
								 | 
							
									RegisterFailHandler(Fail)
							 | 
						||
| 
								 | 
							
									RunSpecs(t, "math/quat")
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var _ = Describe("quaternion", func() {
							 | 
						||
| 
								 | 
							
									Context("euler angles", func() {
							 | 
						||
| 
								 | 
							
										It("converts back and forth", func() {
							 | 
						||
| 
								 | 
							
											x, y, z := float32(10), float32(20), float32(30)
							 | 
						||
| 
								 | 
							
											q := quat.Euler(x, y, z)
							 | 
						||
| 
								 | 
							
											r := q.Euler()
							 | 
						||
| 
								 | 
							
											GinkgoWriter.Println(x, y, z, r)
							 | 
						||
| 
								 | 
							
											Expect(r).To(ApproxVec3(vec3.New(x, y, z)), "wrong rotation")
							 | 
						||
| 
								 | 
							
										})
							 | 
						||
| 
								 | 
							
									})
							 | 
						||
| 
								 | 
							
								})
							 |