2010-02-02 2 views
0

그래서 저는 http://processingjs.org/으로 장난하고 있습니다.동그라미에서 튀어 나온 그려진 선들

줄이 튀어 나온 원을 그리고 싶습니다. 이 선들은 각각 원의 접선에 직각이어야합니다.

processing.js에서이 작업을 수행하는 방법을 반드시 알아야 할 필요는 없지만 삼각법을 실제로 기억하지 못하므로이 선을 그리는 데 필요한 수학에 대한 설명이 도움이 될 것입니다. 그러나 당신은 processing.js에서 그것을하는 법을 알고 있습니다, 그것도 멋있을 것입니다.

감사합니다.

답변

2

선이 접선에 수직 인 경우 확장 된 경우 선의 중심을 통과합니다. 원이 반지름이 r 인 중심점 (a, b)에 각도 t가 나오게하려면 시작점은 x1 = a + r cos t, y1 = b + r sin t 당신은 선이 원주에서 시작하여 당신의 질문이 암시하는 것처럼 보이기를 원했습니다. 그리고 선이 길이 z가되기를 원한다면, 종점은 x2 = x1 + z cos t, y2 = y1입니다. + Z 죄 t 당신은 처리 명령을

line(x1,y1,x2,y2) 

편집을 사용할 수 있습니다 : 내 t은 x 축에서 시계 방향으로 측정합니다. 반 시계 방향 (수학에서 정상)으로 원한다면 위의 두 위치에서 sin t를 -sin t로 대체 할 수 있습니다.

+0

감사합니다. 확인하기 위해서, 선이 튀어 나오게하는 원주로부터의 각도가됩니까? – icco

+0

문제 없습니다. 귀하의 의견에 대답 : 아니. 원주에서 각도는 항상 직각입니다 (요청한대로). 각도 t는 선이 x 축과 이루는 각도입니다. 그래서 똑바로 내려 가고 싶다면 원래 작성된대로 (시계 방향으로 t) pi/2 (즉, 90도 : 처리는 라디안 사용)를 사용합니다. – Ramashalanka

+0

죄송합니다. 제 의견을 잘못 인용 한 것입니다. 저는 이것을 구현했으며 당신의 대답은 제가 원했던 것입니다. 감사! – icco

0

원의 경우 접선에 수직 인 원의 중심을 통과합니다. 원의 중심을 지나는 모든 선은 원과 교차하는 지점에서 접선에 수직입니다.

0

이상적으로 원에 대한 무한한 탄젠트가있을 수 있으므로 원에서 무한 선이 나올 수 있습니다.

질문을 올바르게 이해했다면 다음 내용이 도움이 될 수 있습니다.

pick random points lying on a circle 수 있으며 동그라미의 중심에 연결합니다. 선이 실제로 원에서 벗어나려면 원래 원보다 약간 큰 반경의 원을 conscier하지만 동일한 중심 좌표가 있어야합니다. 그런 다음이 외부 원의 둘레에있는 임의의 점을 선택하고 중심에 연결합니다.

환호

1

난 당신이 접선 잊고 당신이에서 돌출 할 수있는 라인을 원하는 방향으로 원의 중심에서 선을 그립니다 좋습니다. 원의 가장자리에서 시작되도록 선의 반지름을 오프셋 할 수 있습니다.