2011-05-10 4 views
0

나는 많은 성공을 거두지 못한 채 문제를 해결해 왔습니다. 내 프로그램에서 목록을 정의하고 하나의 기하학적 객체 인 원을 여러 번 이동하여 "L"이라고 부르 자. 그래서 L은 마뉘 서클들로 구성됩니다. 객체 원은 center (center. #V), (height. H), radius (radius. R) 등의 속성을 포함하는 목록이기도합니다. 따라서 속성 반경은 목록 원의 세 번째 위치에있는 쌍입니다. 만약 내가한다면 (객체 속성 값의 반지름 = R). 이제, 내가하고 싶은 것은 L의 위치와 같은 위치를 가진 원으로 구성되지만 각각 다른 (랜덤) 반경. 그런 다음 시도해 보겠습니다.스키마에서 객체 속성 값을 변경하십시오.

내 문제는 모든 원의 반경이 같은 방식으로 변경된다는 것입니다. 그리고 나는 그들 모두에 대해 다른 (임의의) 값을 원한다.

정말 도움이되었거나 조언을드립니다!

답변

2

새 목록을 만들려면 돌연변이 펑션 (set-cdr!)을 사용하면 안됩니다. (map) 함수는 모든 마법을 처리합니다. 소스 목록을 반복하고 새 목록을 만듭니다.

(define L-disorder 
    (map (lambda (circle) 
     ; here we creating new circle 
     (list (car circle) (cadr circle) (random:normal))) 
    L)) 
+0

빠른 답변 감사합니다. Paul! 나는 시도해 보았지만 효과가 있었지만 오래된 (중심 .V), (높이 .H), (높이 .H),), (Radius, R)). 내가 어떻게 대처할 지 지켜 볼거야. 다시 한 번 감사드립니다! – Peter

+0

(임의 : 정상) 기능을 살펴보십시오. 그것은 (Radius, R)로 평가되어야합니다. 어쨌든 (원 v h r)과 같은 구성 함수를 사용하는 것이 더 좋습니다.이 경우는 – paul

+0

으로 표시됩니다. 그것은 특별했습니다 !! 고마워요! – Peter

관련 문제