갈루아의 반서재

728x90

나선형 그리기 Drawing a Spiral


나선이란 반경이 점차 증가하는 원의 형태라고 보면 된다.


각점의 x, y 좌표는 다음과 같이 정의된다.

여기서 R 은 반경을 뜻한다.





아래 명령은 (0,0) 에서 시작하여 30번 회전하는 나선을 만든다.


1 라디안은 원둘레 위에서 반지름의 길이와 같은 길이를 갖는 호에 대응하는 중심각의 크기로 다음과 같다.

1 rad = 180°/π, 따라서 2π = 360°


theta = seq(0, 30*2*pi, by = 2*pi/72) 

위식에서 보듯이 각을 나타내는 theta 값은 0 에서 시작해서 2*pi/72 (360°/72 = 5°) 간격으로 30*2*pi  (30*360°, 30번 회전할 때까지)가 될때까지 증가한다.


R = theta/max(theta)

위 식에서 보듯이 반경은 theta 값이 커짐에 따라 점차 증가한다. 그래야 나선형이 되는 것이다.


> theta = seq(0, 30*2*pi, by = 2 * pi/72)  

> x = cos(theta)

> y = sin(theta)

> R = theta/max(theta)

> plot.new()

> plot.window(xlim = c(-1, 1), ylim = c(-1, 1), asp = 1)

> lines(x * R, y * R)


결과는 다음과 같다.




엑셀로 시뮬레이션해보면 다음과 같다(중략).

#theta=seq(0, 30*2*pi, by=2*pi/72)cos(theta)sin(theta)R=theta/max(theta)x=R*cos(theta)y=R*sin(theta)
001.00000.0000000
10.0872664630.99620.08720.0004629630.0004612014.03499E-05
20.1745329250.98480.17360.0009259260.0009118590.000160785
30.2617993880.96590.25880.0013888890.0013415640.000359471
40.349065850.93970.34200.0018518520.0017401720.000633371
50.4363323130.90630.42260.0023148150.0020979350.000978283
60.5235987760.86600.50000.0027777780.0024056260.001388889
70.6108652380.81920.57360.0032407410.0026546590.001858813
80.6981317010.76600.64280.0037037040.0028372020.002380695
90.7853981630.70710.70710.0041666670.0029462780.002946278
100.8726646260.64280.76600.004629630.0029758690.003546502
110.9599310890.57360.81920.0050925930.0029209910.004171608
121.0471975510.50000.86600.0055555560.0027777780.004811252
131.1344640140.42260.90630.0060185190.0025435360.00545463
141.2217304760.34200.93970.0064814810.0022167970.0060906
151.3089969390.25880.96590.0069444440.0017973540.006707818
161.3962634020.17360.98480.0074074070.0012862830.007294872
171.4835298640.08720.99620.007870370.0006859480.007840421
181.5707963270.00001.00000.0083333331.34631E-170.008333333
191.658062789-0.08720.99620.008796296-0.0007666480.008762824
201.745329252-0.17360.98480.009259259-0.0016078530.00911859
211.832595715-0.25880.96590.009722222-0.0025162960.009390946
221.919862177-0.34200.93970.010185185-0.0034835380.009570943
232.00712864-0.42260.90630.010648148-0.0045001020.0096505
242.094395102-0.50000.86600.011111111-0.0055555560.009622504
252.181661565-0.57360.81920.011574074-0.0066386160.009480926
262.268928028-0.64280.76600.012037037-0.0077372580.009220905
272.35619449-0.70710.70710.0125-0.0088388350.008838835
282.443460953-0.76600.64280.012962963-0.0099302060.008332432
292.530727415-0.81920.57360.013425926-0.0109978750.007700795
302.617993878-0.86600.50000.013888889-0.0120281310.006944444
312.705260341-0.90630.42260.014351852-0.0130071950.006065355
322.792526803-0.93970.34200.014814815-0.0139213720.005066965
332.879793266-0.96590.25880.015277778-0.01475720.00395418
342.967059728-0.98480.17360.015740741-0.0155016040.002733351
353.054326191-0.99620.08720.016203704-0.0161420440.001412246
363.141592654-1.00000.00000.016666667-0.0166666675.38523E-17
373.228859116-0.9962-0.08720.01712963-0.017064446-0.001492946
383.316125579-0.9848-0.17360.017592593-0.017325322-0.003054922
393.403392041-0.9659-0.25880.018055556-0.017440327-0.004673122
403.490658504-0.9397-0.34200.018518519-0.017401715-0.006333706
413.577924967-0.9063-0.42260.018981481-0.017203064-0.008021921
423.665191429-0.8660-0.50000.019444444-0.016839383-0.009722222
433.752457892-0.8192-0.57360.019907407-0.016307193-0.01141842
443.839724354-0.7660-0.64280.02037037-0.015604609-0.013093822
453.926990817-0.7071-0.70710.020833333-0.014731391-0.014731391
464.01425728-0.6428-0.76600.021296296-0.013688995-0.016313909
474.101523742-0.5736-0.81920.021759259-0.012480598-0.017824142
484.188790205-0.5000-0.86600.022222222-0.011111111-0.019245009
494.276056667-0.4226-0.90630.022685185-0.009587174-0.02055976
504.36332313-0.3420-0.93970.023148148-0.007917133-0.021752144


위의 데이터를 엑셀로 그려보면 다음과 같다.





728x90