Golangcommplex형의 계산을 진행하다

2990 단어 Go

golang


Golangcommplex형 사용하기에서 기본적인 사용 방법을 설명하였다.
이번에는 이런 그림으로 설명한다.

세로 축 = 허수(위 3i, 아래 -3i)
가로축 = 실수(왼쪽 -3, 오른쪽 3)

절대치


math/cmplx 패키지된 Abs() 함수를 사용하여 절대 값을 구할 수 있습니다.

파란색 화살표의 길이는 절대값입니다.
물색선과 노란색 점에서 수직으로 떨어지는 선, 가로축의 선과 연결하면 직각 삼각형으로 노란색 점의 좌표에서 물색선(사변)의 길이를 구할 수 있다.
이것은 피타고라스의 정리의 계산이다.
실수형과 복수형을 비교하다.
flat64의 피타고라스 정리에 대한 계산

f1 := 1.0
f2 := 2.0
ans := math.Sqrt(math.Pow(f1, 2) + math.Pow(f2, 2))
complex128로 절대값을 계산하다

c := 1+2i
ans := math.Abs(c)
복수의 구조만 알면 이렇게 짧게 쓸 수 있다.

덧셈, 뺄셈-> 좌표의 이동과 벡터의 덧셈과 뺄셈



빨간색은 더하기, 녹색은 빼기 후의 결과를 나타낸다.
노란색 원 노란색 원이 초기값입니다.
가산하면 오른쪽 상단 왼쪽 하단에 있을 거야.
덧셈과 뺄셈은 좌표가 직접 편리되는 계산이다.

벡터의 계산이기도 하다.
이런 동영상이 더 인상 잡기 쉬워요?
Dimensions 5장 복수

곱셈, 나눗셈 = 회전과 절대치의 변화



파란색은 곱셈, 흰색은 나눗셈 후의 결과를 나타낸다.
노란색을 기준으로 파란색은 왼쪽으로, 흰색은 반대 방향으로 회전한다.
또 노란색을 기준으로 파란색은 확대되고 흰색은 축소된다.
이것은 복수의 성질, 즉 실수의 값만 확대하고 허수의 값만 회전하기 때문이다.
허수의 값만 더하면 그림의 회전을 실현할 수 있고 실수만 더하면 확대와 축소가 가능하다.
영상 가공에 아주 활발하군요!

제곱


멱은 복잡한 계산으로 여겨질 수 있지만 허수에 비해 멱은 좌표의 회전량 조정에 불과하다.
방금 실린 Dimensions 5장 복수 이쪽을 보면 알 수 있듯이 허수는 좌표의 1/4회전이다.
cmplx.Pow(1i, 2)
1/4*2=1/2바퀴, 즉 실수-1과 같다.
cmplx.Pow(1i, 1.0/2.0)
1/4*1/2=1/8로 회전합니다.
v := 1+0i  //初期位置=1
c := cmplx.Pow(1i, 1.0/50.0)  // 一度に(1/200)の回転
for n := 0; n < 200; n++{  //200回なので1回転
  fmt.Println(real(v), imag(v))
  v *= c
}
반지름 1의 원 좌표는 이것만으로 계산할 수 있습니다.

기타


드로잉은 자체 제작 도구입니다.
github: rcwindow
라인 안전 등은 상당히 신경을 썼지만 낮은 수준의 일만 할 수 있었다.
포인트만 자유롭게 표시할 수 있는 포장이기 때문에 애니메이션, 이미지 표시, 가공 애니메이션 등도 재생할 수 있다(자동 압축 등이 없기 때문에 매우 느리다)

좋은 웹페이지 즐겨찾기