분류에 파이썬이나 스크립트 항목이 없네요.
위와 같이 +-소숫점 두자리까지 표시된 숫자가 랜덤하게 바뀌는 표현을 하려고
파이썬 기초 서적과 세미나 들었던 것을 더듬어가며 어떻게 만들어내긴 했습니다만...
seed 값을 time과 함께 적용하려니 계속 뭔가 막히더군요.
억지로 임의의 작은 수를 더해서 대입하는 식으로 만들었는데, 확실히 알고 넘어가고 싶네요.
임의 숫자를 더하거나 곱하지 않고 계속 변하는 random에 대한 seed 값을 정의 하는 방법이 있을까요?
파일 첨부해뒀습니다. 감사합니다.
랜덤의 범위를 정하지 하고 그걸 소수점 2자리 까지 자르니까
0.112xxxx
0.113xxxx 이러면 똑같이 되겠죠.
자르지 말고 2자리가 필요하다면
0~99 까지랜덤한 수를 구해서 그냥 문자로 더해서
0.1~ 0.99 까지 만들던가
아래와 같이 두개를 따로 해서 더해도 되구요.
frame = doc.GetTime().GetFrame(doc.GetFps())
seed = obj[c4d.ID_USERDATA,1]
# time - range mapping
interval = obj[c4d.ID_USERDATA,2]
ranged_seed = frame / interval
# seed Gen
random.seed(seed + ranged_seed)
Num1 = random.randrange(0,10)
Num2 = random.randrange(0,10)
obj[c4d.PRIM_TEXT_TEXT] = "0."+ str(Num1) + str(Num2)
0.00 ~ 0.99 까지 해도 되구요.
SEED 에 대한건
SEED 가 변하면 숫자가 변하는 거구요.
TIME(FRAME) 에 따라서 SEED를 변경 하면 값이 바뀌겠죠.
특정 타임마다 SEED 가 변하게 하고 싶으면
몫 연산을 하면 됩니다.
아래와 같이 10에 대한 몫을 구하면 10씩 늘어 날때 마다
몫이 1씩 늘어 나겠죠.
1 / 10 = 0
2 / 10 = 0
...
10 / 10 = 1
11 / 10 = 1
...
20 / 10 = 2