2016-09-30 5 views

답변

1

나는 스위프트 GLKVector3에서 var 또는 인지 여부를 불변이라고 생각합니다. 임의 숫자 Float 값을 사용하여 GLKVector3Make을 작성하십시오. 새로운 인스턴스에 새로운 결과를 생성합니다.

그래서 :

let ballLocation = GLKVector3Make(
    (locationInBallCoordinates.x - ballCentre.x)/ballRadius, 
    0.0, 
    (locationInBallCoordinates.y - ballCentre.y)/ballRadius) 

또는 locationInBallCoordinatesballCentre 이미 GLKVector3의 인스턴스 인 경우에 - 그리고 내가 처음이 대답이 없었다 쓸 때 내가 발견하지했던 Y-에-Z 구성 요소 스위치 - 다음 :

let ballLocation = 
    GLKVector3DivideScalar(
     GLKVector3Subtract(locationInBallCoordinates, ballCentre), 
     ballRadius) 

그것은 풀고 z들에 y의 이동을 재 포장하는 것이 아마 가장 쉬운하지만 당신은 또한 당신이 높은 수준을 유지하기 위해 필사적 인 경우 행렬 곱 사용할 수 있습니다.

+1

그래, 나는 그것을 두려워했다. 한숨. 이와 같이 trival set-ting 작업을 위해 불필요하게 성가신/말하자면 코드를 작성합니다. 앞으로. 고마워. – dugla

+0

아, 실제로 물건을 조금 더 간결하게 만들기 위해 + -/*을 과부하 할 수 있습니다. 스위프트 FTW. – dugla

관련 문제