은 R

2017-05-05 10 views
1

나는 비교적 새로운 문서를하고 있어요에 RGL를 사용하여 플롯을 회전 par3dinterp 및 playwidget 사용에 도움이 필요 페이지는 음모의 "복잡한"회전 애니메이션을 수행하는 다음 코드 예제입니다은 R

M <- r3dDefaults$userMatrix fn <- par3dinterp(time = (0:2)*0.75, userMatrix = list(M, rotate3d(M, pi/2, 1, 0, 0), rotate3d(M, pi/2, 0, 1, 0))) rglwidget() %>% playwidget(par3dinterpControl(fn, 0, 3, steps=15), step = 0.01, loop = TRUE, rate = 0.5)

내가 훨씬 간단하게 뭔가를하고 싶지을 - 일정한 속도하지만 내 소량의 z 축 주위의 플롯을 회전 시간 사양에 대한 근본적인 무언가가 누락 된 것 같습니다. 값 기능은 ....에서 평가됩니다 나는 360degress 라운드의 일부분을 회전시킨 다음 다시 스윙을 할 수 있지만 계속 진행하지는 않습니다. 제발 도와주세요. 사전에

덕분에 알렉스

[I는 다음과 같이 뭔가 순열을 시도하고있다 ....

M <- r3dDefaults$userMatrix fn <- par3dinterp(time = 0:3, userMatrix = list(M, rotate3d(M, pi/2, 0, 0, 1), rotate3d(M, pi, 0, 0, 1), M)) rglwidget() %>% playwidget(par3dinterpControl(fn, 0, 2, steps=15), step = 0.01, loop = TRUE) ] 간단한 회전을 위해

답변

1

, spin3d()보다는 par3dinterp()를 사용합니다. (당신은 후자를 사용할 수 있어야한다. 그러나 보았 듯이, 제대로 맞추기는 어렵다. 실제로 보간법에 버그가 있다고 생각한다.)

예를 들어, 5시에 회전하려면 rpm (기본값 : spin3d())이면 전체 회전에는 12 초가 걸립니다. 이 같은 싶어 :

fn <- spin3d() 
rglwidget() %>% 
playwidget(par3dinterpControl(fn, 0, 12, steps = 40), 
      step = 0.01) 

40 단계의 선택은 임의의 종류입니다,하지만 당신은 장면의 왜곡을 얻을 것이다 때문에 그 사이에 보간으로 당신은 너무 작 해당 번호를 원하지 않는다 단계. 반면에 웹 페이지에 넣는 데이터의 양은 값에 비례하므로 불필요하게 크게하지 않으려합니다.

+0

대단히 감사합니다. 내 기본 오류는 spin3d가 위젯에서 작동하지 않는다고 가정하고 par3dinterp를 사용하여 원하는 동작을 제어해야했습니다. 나는 또한 par3ddinterp와 par3dintercontrol 코딩이 완전히 초보적인 것은 아니라는 것을 어느 정도 확신한다. –