2013-10-04 2 views
0

mean = 0 및 표준 편차 = 1 인 가우스 곡선을 그릴 때 처리를 사용하지만 코드가 실행될 때 배경에는 아무 것도 표시되지 않습니다. . 내 코드 : 당신은 루프, 당신은 카운터로 int를 사용에서처리시 가우스 곡선을 그리는 방법

float x, y, mu, sigma; 

void setup() { 
    size(900, 650); 
    background(255); 
    stroke(0); 
    strokeWeight(1); 

    mu = 0.0; 
    sigma = 1.0; 

    for(int i = -4; i < 4; i += 0.5) { 
    x = i; 
    y = (1/(sigma * sqrt(2 * PI)))*(exp((-1 * sq(x - mu))/(2 * sq(sigma)))); 

    x = map(x, -4, 4, 0, width); 
    y = map(y, 0, 1, 0, height); 
    point(x, y); 
    } 
} 

void draw() { 

} 
+0

올바른 코드 메모 : 모든 그리기 코드를'setup'에 넣지 마십시오. 'size (...) '뒤에있는 모든 코드를 가져 와서'draw'에 넣은 다음'setup'의 두 번째 줄에'noLoop()'호출을 추가하여 코드가 한 번만 실행되도록합니다. 지속적으로 기본 frameRate. 'setup'은 스케치 작업을하기 전에 스케치에 대한 설정 지시입니다. 그림 그리기 지침이 제대로 작동 할 수는 있지만 어디로 가야하는지는 알 수 없습니다. –

답변

1

,하지만 당신은 0.5으로 증가하고 있습니다. i이 양수이고 증가 할 때, 0.5는 잘립니다. 그리고 나는 전에 있었던 것 그대로 남아 있습니다. 그래서 루프는 영원히 계속됩니다. 재미있는 관찰은 i이 음수 일 때 증가합니다 - 잘라 내기가 0으로 작동하므로 0.5를 추가하면 1이 가산됩니다. i의 선언을 int i = -4에서 float i = -4으로 변경하면 내 컴퓨터에서 문제가 해결됩니다. 또한 포인트가 그려지는지 확인하기 위해 적어도 일시적으로 스트로크 가중치를 늘려야 할 수도 있습니다 (나에게보기 어렵고 처음에는 제대로 작동하지 않았는지 확실하지 않음).