Normal? 법선?
법선(Normal)은 3차원 공간에서 표면의 방향을 나타내는 단위 벡터입니다. 표면의 각 점에서 수직으로 뻗어나가는 방향을 가리키며, 법선 벡터(노멀벡터)는 표면의 방향을 결정하는 데 사용됩니다.
3D 모델링에서는 표면의 방향이 중요한데, 예를 들어 빛의 반사와 같은 연산에서 표면의 방향이 어떤지에 따라 결과가 크게 달라질 수 있습니다. 이러한 이유로 3D 모델링에서는 각 꼭짓점(Vertex)에서 법선 벡터를 계산하여 사용합니다. 이 법선 벡터는 모델의 렌더링, 셰이딩, 빛의 반사, 그림자 등 다양한 분야에서 사용됩니다.
셰이딩 Shading vs 그림자 Shadow?
셰이딩(Shading)과 그림자(Shadow)는 비슷한 개념이지만 차이가 있습니다.
셰이딩은 물체의 표면에 색상이나 빛의 반사를 입혀 입체감을 나타내는 기술입니다.
예를 들어, 3차원 그래픽에서 물체의 표면에 빛을 비추면 빛의 각도와 물체의 입체감에 따라 다양한 색상을 입혀 그림자와 같은 입체감을 나타냅니다.
반면 그림자는 물체가 다른 물체에 의해 가려져서 생기는 어두운 영역을 말합니다.
그림자는 빛이 물체를 통과하지 못하고 차단되는 현상으로 발생합니다. 그림자는 입체감을 나타내는 데 중요한 역할을 하며, 3차원 그래픽에서 물체와 물체 사이에 그림자를 표현하는 등 다양한 기술로 구현됩니다.
따라서, 셰이딩과 그림자는 서로 비슷한 개념이지만, 셰이딩은 입체감을 나타내는 데에 초점을 두고, 그림자는 입체감을 나타내는 데에 도움을 주는 개념입니다.
Vector?
What is a vector?
A vector is a quantity or phenomenon that has two independent properties: magnitude and direction. The term also denotes the mathematical or geometrical representation of such a quantity.
벡터(Vector)는 크기와 방향 두 가지 독립적인 속성을 가진 양 또는 현상을 의미합니다. 이 용어는 이러한 양을 나타내는 수학적 또는 기하학적 표현을 가리킵니다.
Examples of vectors in nature are velocity, momentum, force, electromagnetic fields, and weight.
A quantity or phenomenon that exhibits magnitude only, with no specific direction, is called a scalar. Examples of scalars include speed, mass, electrical resistance and hard drive storage capacity.
자연 현상에서 벡터의 예 : 속도, 운동량, 힘, 전자기장 및 무게
속도(velocity)
속도(Velocity)는 시간당 이동거리를 의미합니다. 이동거리를 이동에 소요된 시간으로 나눈 것으로 계산합니다. 속도는 벡터이기 때문에 크기와 방향을 모두 가집니다.
속력 vs 속도
속력(Speed)과 속도(Velocity)는 비슷한 개념이지만 약간의 차이가 있다.
속력은 시간당 이동한 거리를 의미하며, 크기만 가지고 방향은 고려하지 않습니다.
즉, 스칼라(Scalar) 값입니다.
예를 들어, 100km/h의 속력을 가진 자동차는 시간당 100km의 거리를 이동합니다.
반면 속도는 크기뿐만 아니라 방향도 함께 고려한 벡터(Vector) 값입니다.
예를 들어, 100km/h의 속도를 가진 자동차는 어떤 방향으로 100km 이동하는 것을 의미합니다.
따라서, 속력은 이동한 거리에 대한 단위 시간당 값을 나타내는 데 비해,
속도는 이동한 거리와 방향을 모두 고려하여 나타내는 개념입니다.
물리학에서 속도는 다음과 같이 계산됩니다.
속도(velocity) ; v = (변위) / (시간)
여기서 변위(Displacement)는 출발점에서 도착점까지의 거리를 나타내며,
시간(Time)은 이동에 소요된 시간을 나타냅니다.
속도는 보통 미터(m)나 킬로미터(km) 등의 거리 단위와 초(s)나 시간 단위로 표시됩니다.
예를 들어, 속도가 60km/h라면 시간당 60km의 거리를 이동하는 것을 의미합니다.
스칼라(Scalar) : 크기만을 갖고 방향은 특정하지 않은 양 또는 현상
스칼라의 예 : 속도, 질량, 전기 저항 및 하드 드라이브 저장 용량 등
지피티에게 물어보니, 공기도 벡터값이 맞구나. 그렇지. 공기 역학은 공기가 벡터이니, 공기의 움직임을 계산하거나 예측할 수 있고, 물체에 힘이 가해지는 걸 계산할 수 있었겠다. 그게 공기 역학의 핵심이고.. 이런 원리를 바탕으로 비행기도 생겨난 거고. 비행기에 날개, 엔진, 몸통같은게 공기 역학을 바탕으로 설계가 되었겠고. 비행기가 날아가는 것도 공기의 힘을 바탕으로 하니, 공기의 힘을 최대한 활용할 수 있게 공기의 벡터값을 활용해서 힘을 최대화 할테고.
쓸데없이 우주까지 생각이 넘어가서, 질문 하나를 더 했다.
우주선은 비행기랑 다르게 공기역학이나 유체역학 대신에, 열 역학, 구조 역학, 전자 역학 등을 사용하는 군.
생각해보니 우주선의 방향이 있긴 하네. 그럼 당연히 스칼라 개념은 아니군..
***는 light year로 보인다.
1광년.. 광년이 욕으로 인식된건가.
약 9.46 x 10^12 km의 거리
왜 가리는거여?
본론으로 돌아와서..
3차원 공간에서는 x, y, z 세 개의 축으로 나타낼 수 있습니다.
벡터는 화살표로 표현되며, 길이는 크기를, 방향은 화살표의 방향을 나타냅니다.
벡터는 다양한 분야에서 사용되며, 3D 그래픽에서는 물체의 위치, 방향, 크기, 속도 등을 나타내는 데 사용됩니다. 예를 들어, 물체가 움직이는 경우, 물체의 이동 방향과 속도를 벡터로 나타내어 처리합니다. 또한, 빛의 방향과 세기, 물체의 표면 법선 벡터, 셰이딩 등에서도 벡터가 사용됩니다.
컴퓨터 그래픽스에서 벡터(Vectors)란
2차원 또는 3차원 그래픽으로 벡터를 표현할 수 있습니다.
벡터의 크기는 선분(line segment)의 길이로 표시됩니다.
벡터의 방향은 선분의 방향과 한쪽 끝에 있는 화살표로 표시됩니다.
벡터 그래픽스(Vector graphics)로 이미지를 만들 때 그래픽 파일은 이미지를 형성하는 일련의 점을 서로 연결하는 일련의 벡터 명령문으로 구성됩니다. 벡터 그래픽스 소프트웨어의 예로는 Adobe Illustrator와 CorelDraw가 있습니다.
벡터 속성
벡터는 일반적으로 꼬리와 화살표로 표시되는데, 꼬리는 출발점, 화살표는 끝점으로 나타내어집니다.
벡터는 A점에서 B점까지의 이동을 나타내며, 벡터 a와 같이 이름이 지정된 개체로 정의될 수 있습니다.
수학에서는 직교 좌표계를 사용하여 벡터를 나타냅니다. 그림 1과 같이 숫자 쌍으로 나타낼 수 있습니다.
이 예에서 벡터는 (0,0), (7,7)로 정의된 방향 선분입니다.
벡터와 스칼라는 수학적인 계산과 벡터 덧셈, 벡터 뺄셈, 벡터 곱셈과 같은 벡터 연산에 사용될 수 있습니다.
Normal Vector?
노멀 벡터(Normal Vector)는 3D 모델에서 표면의 방향을 나타내는 벡터입니다.
표면의 각 점에서 수직으로 뻗어나가는 방향을 가리키며, 빛이나 셰이더 등에서 표면의 방향을 계산하는 데 사용됩니다.
노멀 벡터는 매우 중요한 개념으로, 3D 모델링에서 표면의 빛 반사, 그림자, 렌더링 등 다양한 부분에서 사용됩니다.
평면상의 직선에 대한 법선벡터
3차원 공간상의 직선에 대한 법선벡터
내적 inner product
내적은 다양한 응용 분야에서 사용되며, 예를 들어 두 벡터가 이루는 각도를 계산하거나,
벡터의 크기나 방향을 계산하는 데 사용됩니다.
또한, 내적을 이용하여 벡터의 직교성을 검증하거나, 벡터의 정사영을 계산하는 등의 작업에 활용됩니다.
두 벡터를 표준기저벡터로 나타내었을 때 각 성분끼리의 곱의 합으로 스칼라곱이라고 한다.
내적은 교환법칙, 결합법칙, 배분법칙이 성립한다.
내적이라는 것은 벡터의 성질을 이용하여 계산되는 값입니다.
벡터는 크기와 방향을 가지는 양입니다.
내적은 두 벡터의 크기와 두 벡터 사이의 각도를 이용하여 계산되는 값이며,
그 결과는 스칼라 값입니다.
두 벡터의 내적이 계산될 때, 먼저 두 벡터의 크기를 곱합니다.
이 곱셈 결과는 스칼라 값이며, 두 벡터가 만드는 면적과 같습니다.
그리고 두 벡터 사이의 각도의 코사인 값을 곱합니다.
이 곱셈 결과도 스칼라 값이며, 두 벡터의 방향성을 고려한 값입니다.
결국, 두 벡터의 내적은 크기와 각도를 이용하여 계산되는 스칼라 값이므로, 방향성은 없습니다.
내적은 벡터의 크기와 방향을 동시에 고려하는 값이 아니라,
크기와 각도에만 의존하는 스칼라 값이라는 것이 가장 중요한 점입니다.
스칼라곱(scalar product)이라고도 한다.
영(零)벡터가 아닌 두 벡터 x, y의 크기 x, y와 x, y가 이루는 각 θ의 cos과의 곱 xycos θ를 x, y의 내적이라 하고,
x ·y 또는 (x,y)로 나타낸다.
즉,
x ·y=(x,y)=xycos θ
x=0 또는 y=0일 때는 x ·y=0이라 정한다.
스칼라적
[ scalar product ]
영(零)벡터가 아닌 두 벡터 x, y의 크기 |x|, |y|와 x, y가 이루는 각 θ의 cos과의 곱 |x||y|cosθ를 x, y의 내적이라 하며,
내적의 결과는 스칼라임. 힘과 변위를 각각 벡터로 표현하여 내적을 하면, 일을 쉽게 계산할 수 있으며,
정의에 따라 힘에 수직한 변위는 일에 영향을 미치지 않음.
기하학적으로는 xcos θ와 y를 곱한 값이 된다.
내적의 성질로는
① 교환법칙 x ·y= y ·x,
② 1개의 스칼라 α에 대하여 결합법칙 (αx) ·y=α(x ·y),
③ 배분법칙 x·(y+z)=x·y+x·z,
④ 벡터의 수직조건, x와 y가 수직이면 x ·y=0이 성립한다. 또, x ·x= x2이다.
벡터공간 V에서 임의의 두 벡터 a, b에 대해 하나의 스칼라량을 대응시키는 연산. 스칼라곱 이라고도 한다.
a의 크기를 a, b의 크기를 b로 나타내고 이것에 a와 b가 이루는 각 의 코사인을 곱한 ab 를
두 벡터 a와 b의 내적이라 하고, a·b 또는 (a, b)라고 표시한다.
이때 a의 성분을 ( )라 하고 b의 성분을 ( )라 하면 내적은 a·b= 이다.
이 내적은 추상적인 벡터 공간까지 확장할 수 있다.
두 벡터의 내적
두 벡터의 내적은, 두 벡터의 크기와 두 벡터 사이의 각도를 이용하여 계산되는 스칼라 값입니다.
내적은 두 벡터가 이루는 각도가 작을수록 값이 크고, 두 벡터가 수직일 때는 값이 0이 됩니다.
수학적으로 표현하면, 벡터 A와 벡터 B의 내적은 A·B로 표기됩니다.
벡터 A와 벡터 B 사이의 각도를 θ라고 할 때, A·B는 |A||B|cosθ와 같이 계산됩니다.
여기서 |A|는 벡터 A의 크기, cosθ는 벡터 A와 벡터 B 사이의 각도의 코사인 값입니다.
스칼라는 방향이 없고 크기만을 갖는 물리량이라는 것이 맞습니다.
내적의 결과는 스칼라 값이므로, 방향성을 갖지 않습니다.
즉, 내적의 결과는 두 벡터가 이루는 각도와 크기에 대한 정보만을 나타낼 뿐, 방향을 나타내지 않습니다.
따라서, 두 벡터의 내적의 결과로 나타나는 스칼라 값은 방향성을 가지지 않습니다.
내적의 결과로 나타나는 값은 두 벡터가 이루는 각도와 크기에 따라 달라질 뿐, 방향성은 나타내지 않습니다.
따라서, 두 벡터의 내적은 크기와 각도만을 이용하여 계산되는 스칼라 값이라고 이해하시면 됩니다.
3차원 공간상의 2D 평면에 대한 법선벡터
3D 공간상의 곡면에 대한 법선벡터
노멀 벡터의 연산방식?
노멀 벡터는 모델링의 빛과 그림자, 셰이딩 등을 연산하는 데 사용됩니다.
노멀 벡터는 각 꼭짓점(Vertex)에서 법선(Normal) 벡터를 계산하여 구합니다.
이 법선 벡터는 꼭짓점에서 물체의 표면으로 수직인 벡터를 말하며, 노멀 벡터의 방향과 크기를 결정합니다.
이 법선 벡터는 모델의 표면을 렌더링하는 데 사용되며,
빛의 방향과 색상 등과 결합하여 모델의 셰이딩을 만듭니다.
노멀 벡터의 방향과 크기가 적절하게 설정되면 모델의 입체감이 더해지며,
빛과 그림자가 자연스럽게 표현됩니다.
이러한 노멀 벡터의 설정은 모델링에서 매우 중요한 역할을 합니다.
-꼭짓점(Vertex): 3D 모델의 근간이 되는 점으로, 모델을 구성하는 가장 작은 단위
-에지(Edge): 꼭짓점을 연결하는 선으로, 모델의 윤곽선을 만든다.
-면(Polygon): 꼭짓점과 에지를 이용하여 만들어진 평면. 모델의 표면
-Subdivision Surface: 모델의 면을 부드럽게 만들어주는 기술. 모델의 표면이 부드럽고 곡선적인 느낌을 준다.
- UV Mapping: 3D 모델의 표면에 2D 이미지를 매핑하는 기술. 텍스처링 등에서 사용
Normal Vector와 대비되는 개념?
노멀 벡터와 대비되는 개념은 투영 벡터(Projection Vector)입니다.
투영 벡터는 벡터가 나타내는 방향에서 수직인 방향으로,
즉 벡터가 가리키는 방향과 수직인 평면 위에 그린 벡터를 말합니다.
노멀 벡터와 마찬가지로 다양한 분야에서 사용되며,
3D 그래픽에서는 특히 셰이딩이나 라이팅 등에서 사용됩니다.
즉, normal vector 는 표면normal surface의 방향을 나타낸 벡터고,
projection vector는 여기의 수직으로 맞닿아 있으니,
빛이나, 그림자와 같은 것과 관련이 있다. 즉, 특정 방향으로 나아가는 벡터를
projection vector 투영 벡터라고 한다.
그래서 normal이 뒤집혔다는 이야기가 나오는 것.
여기서 normal은 normal surface가 뒤집힌 것..!
노멀이 뒤집혔다, 라는 개념이 마야에서 있는 이유는
벡터라는 개념이 이런 표면의 방향을 포함한 개념이므로
생겨난 것이네. 아하!
'sw > maya & 3dsmax' 카테고리의 다른 글
my23’007 UV Mapping with the UV Editor in Maya 2016/ Maya 2023 ; uv 맵핑, uv 맞추기, uv editor, uv꿀팁, uv 마야 수정 (0) | 2023.04.13 |
---|---|
my23'022 camera / bokeh (0) | 2023.04.12 |
노멀 맵 뒤집힐 때, reverse normal (0) | 2023.04.11 |
my23'006 Basic Maya 2015 Camera Projection 3/3 TextureEditAndShaders (0) | 2023.04.10 |
maya split view / 뷰어 나누기 (0) | 2023.04.10 |