조이 오브 벡스 11일 if 조건문

11일차 조건문을 배웁니다.

https://www.twahoudini.com/course/joy-of-vex

만약에()

같은 경우

나사 돌리개

여러 조건


1.이프()

if()는 Houdiniede에 판단 기준을 부여하고 판단 후 특정 작업을 수행하는 함수입니다.

그리드 위에

@CD=0;

if(@Px>1){

@Cd.x=1;

}

그리드의 색상은 검은색입니다.

@Px가 1보다 크면 @Cd는 빨간색입니다.


float d = 길이(@P);

만약 (d>3) {

@py=1;

}

d는 @P의 원점으로부터의 거리입니다.

d가 3보다 크면 @Py는 1입니다.


2. 같은 경우

@ptnum=1과 @ptnum==1의 차이점은 무엇입니까?

@ptnum=1은 점 번호를 1로 지정합니다.

@ptnum==1은 포인트 번호가 1인지 여부를 결정합니다.

if(@ptnum=1) 및 if(@ptnum==1)

따라서 if()에서 사용할 경우 “==”를 사용하여 조건을 판단해야 합니다.

if(@ptnum==1){

@py=1;

}

선을 넘어

포인트 수가 1이면 @Py는 1입니다.

if(@ptnum=1)을 사용하면 원하는 것과 다른 결과를 얻게 됩니다.


3. 토미

Tommy에게 전화를 걸어 if()를 사용하십시오.

3-1, 3-2, 3-3

3-1)

relpointbbox를 사용해보십시오.

기본 색상은 빨간색입니다.

bbox 변수의 각 포인트에 대해 relpointbbox를 저장합니다.

이때 bbox.y가 0.5보다 작으면 녹색을 준다.

3-2)

float 변수 d는 @N과 {0,1,0}의 내적입니다.

d는 색상으로 사용됩니다.

d는 @N 및 {0,1,0}의 cosθ 값입니다.


태양이 같은 효과를 내기에 충분히 멀리 떨어져 있기 때문에 광원이 하늘에서 고르게 떨어집니다.

광원의 법선과 방향이 일치하면 cos0의 값은 1입니다.

cos60의 경우 0.5

cos90에서는 0이고 값이 커질수록 Tommy의 몸이 가벼워지는 것을 볼 수 있습니다.

그래서 이것은 빛이 얼마나 강할지에 대한 이야기입니다.

같은 방법으로 구한 d를 이용하여 빛의 영향 조건을 결정하고,

기본 색상과 조건이 충족되지 않을 때를 설정할 수 있습니다.

if(조건) {

조건이 충족되면 작업이 수행됩니다.

}다른{

조건이 충족되지 않으면 작업을 수행합니다.

}


4. 여러 조건(&&, ||, ==, !
=)

1),2),3)

1) if() 안에 if()를 넣는 형태입니다.

조건 A와 B가 모두 충족되면 작업이 수행됩니다.

2)는 1)과 동시에 조건을 만족하는 경우를 표현하는 또 다른 방법이다.

조건 A와 B가 모두 충족되면 -> A&&B

3) 조건 A 또는 B를 만족하는 경우 -> A||B


1), 2), 3)

하나)

@ptnum==5

포인트 수가 5일 때

2)

@ptnum!
=5

포인트 수가 5가 아닌 경우

삼)

@ptnum%5==0

점수를 5로 나누면 나머지는 0입니다.

구분 조건으로 식(@ptnum%5)을 입력할 수 있습니다.