RedHat, CentOS, Fedora 배포본 등에서 표준 방화벽 인터페이스로 제공되는 최신 FirewallD 사용을 시작해 보자. firewalld
패키지 설치는 각 배포본의 방법으로 설치하면 된다.
여기서는 OpenSUSE, Armbian 배포본을 설치한 시스템에서 firewalld
방화벽을 구성하고 설정하는 과정을 요약 정리했다.
RedHat, CentOS, Fedora 배포본 등에서 표준 방화벽 인터페이스로 제공되는 최신 FirewallD 사용을 시작해 보자. firewalld
패키지 설치는 각 배포본의 방법으로 설치하면 된다.
여기서는 OpenSUSE, Armbian 배포본을 설치한 시스템에서 firewalld
방화벽을 구성하고 설정하는 과정을 요약 정리했다.
https://varun.ca/polar-coords/
좌표시스템은 2D, 3D 공간 안에서 점들의 위치를 결정하는 수들을 사용하도록 한다.
가장 유명한 좌표 시스템은 데카르트 좌표 시스템이다. 숫자 x, y 점을 (x,y)
숫자 좌표 쌍으로 각 점을 위치하게 한다.
SVG, Canvas, WebGL 그리고 Sketch & Illustrator 에서 활용할 수 있다.
{: width=”600”}
극좌표계는 2D 좌표 시스템으로 각 점이 r
과 \(\theta\\)
로 결정된다. r
은 원점에서 원주까지 거리인 반지름이고 \(\theta\) 는
{: width=”600”}
삼각법을 사용한 아래 방정식으로 극좌표계 (r, \\(\theta\\) )
에서 데카르트 좌표계로 변환할 수 있다.
1 | float x = r * Math.cos(theta); |
아래 패턴은 모두 극좌표를 사용해 생성한 패턴이다.
데카르트 좌표는 사각 그리드 위에 배치하기 아주 좋은 선택이다. 만약 원 주변에 무언가를 배치하려면 극좌표이 우선 선택할 수 있다. 반지름 상수를 유지하기 때문에 각 점에 대한 각을 \(angle = 360^{\circ} * index / number of sides \) 같이 계산한다.
아래 자바스크립트는 위 아이디어를 구현하고 있다. 위 그림에서 점의 바깥 가장자리 원은 points(12, 200)
을 사용해 생성했다. 그 다음 점들은 points(12, 175, 15)
를 사용했다. CodePen splash 가 이것을 사용해 구성했다.
1 | function points(count, radius, offset = 0) { |
보통 다각형(폴리곤)은 등각인 다각형으로 모든 측면이 같은 길이에 같은 각이다. 이것은 표준 다각형의 모든 정점은 원 위에 균등하게 배치된 점인 것이다.
SVG 다각형을 생성하려면 points()
함수를 사용해 점의 목록을 생성한다. 그리고 점 사이를 연결한다. SVG에서
1 | /** |
예) http://winkervsbecks.github.io/gems
https://codepen.io/winkerVSbecks/pen/PmNJpJ
기본을 점을 (r,$$\theta$$)
로 선언할 때 이것은 원점 (0,0)에 상대적이다. 결국 원점을 점 위치로 이동한 것 과 동일하므로 정점에 상대적으로 다루는 곡선의 위치로 선언해 사용한다.
1 | const x = cx + r * Math.cos(theta); |
SVG 캔버스에서 어떤 위치에 가운데 위치한 다각형을 그리기 위해서 다각형 생성기를 수정한다.
1 | function polygon(noOfSides, circumradius, rotation, [cx = 0, cy = 0]) { |
예) https://codepen.io/winkerVSbecks/pen/wrZQQm
극좌표를 이용한 사례중 어떤 점을 중심으로 회전하는 것을 생각할 수 있다. 여기 (cx, cy)
점이 회전하는 곳이다.
일정한 간격, 시간, 위치에 따라 \(\theta\) 를 증가 혹은 감소 시키면 상대적 위치에서 점이 이동한다.
1 | x = cx + r * Math.cos(theta); |
예) https://codepen.io/Yakudoo/pen/aOEeXB
여기까지 개별 점 (위치)를 살펴보았다. 몇몇 점을 그룹지어 집합에 그룹지으 형상을 선언한다. 다각형 생성 함수를 사용해서 형상의 각 정점의 위치를 계산한다. 유사한 함수를 수학 방정식을 사용해 작성해서 복합 형상과 곡선을 생성할 수 있도록 한다.
2차원 곡선은 방정식 y = f(x)
형으로 묘사된다. 예를 들어 원의 방정식은 \(x^2 + y^2 = r^2\) 이다. 이것은 x와 상대적인 y 를 반복해서 자취(locus) 로 불리는 점의 집합을 생성할 수 있다. 각 점은 (x, f(x)) or (g(y), y) 형태를 가진다.
극좌표는 극좌표 곡선을 그릴 수 있다. 원의 극좌표 방정식은 r = 2 * cos(0) 이다. 극좌표 곡선 위에 점은 (r(0), 0) 형태를 갖는다.
1 | // examples of fn: |
https://codepen.io/winkerVSbecks/pen/pdVLPo
All the diagrams in this post were created using a language called eukleides. It is a fantastic tool for making geometric drawings. Just look at this declarative API 😍
1 | c = circle(point(3, 0), 3) |