2010-03-15 3 views
0

끊임없이 변화하는 텍스처를 만들기 위해 많은 난수로 작업합니다. 내가 좋아하는 일을 피곤 해요 : 정말아이폰 용 무작위 추출/스케일링 유틸리티?

[randomUtils randomNumberBetween:100 and:200] 

Additonally 같은 것을 할 때

((rand() % 1000)/10) + 100 

, 나는 임의의 가중치를 조작 할 수 있도록하고 싶습니다위한, 그래서 예를 들어 나의 가치는 100에 가까워지고 200에 가까워지는 경우는 드뭅니다.

이미 이와 같은 것이 있습니까? 아니면 직접 작성해야합니까?

답변

1

이것은 IMO입니다. 대부분 (전부는 아닐지라도) 클래스 메소드를 사용하는 클래스에 유용합니다. 예를 들어 RURandomUtilities라는 클래스를 만들 수 있습니다. 수업 내에서 다음을 할 수 있습니다 :

+ (NSInteger) randomNumberBetween:(NSInteger) start and:(NSInteger) end 
{ 
    return ((rand() % (start - end) +start); 
} 

등등. 다른 난수의 인스턴스가 필요한지 여부에 따라 가중치와 시드에 대한 기본 매개 변수로 인스턴스화 된 이러한 클래스를 만들 수 있습니다.

응용 프로그램에서 모든 난수가 일정하게 유지되어야하는 경우 로컬 정적 싱글 톤을 사용하여 가중치를 유지할 수 있습니다. 인스턴스화 된 유일한 객체는 클래스 자체입니다.

+0

감사합니다. Steven. 그것은 정말로 그것을 구조화하는 좋은 방법처럼 들립니다. 나는 어딘가에 이미 사용할 수있는 모든 유형의 무작위 화 및 스케일링 패키지가있는 오픈 소스가 있는지 궁금 할뿐입니다. – morgancodes

+0

하나도 보지 못했지만 약 30 분 후에 쓸 수 있습니다. 기본적인 기능 만 필요하다면 생각할 것입니다. 조금 더 세련되면 몇 시간. –