Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[질문]곡선의 길이를 어떻게 구할까요?..

762 views
Skip to first unread message

Kim Sung-bom

unread,
Feb 8, 1999, 3:00:00 AM2/8/99
to qbism
qbism wrote:
>
> 음함수의 형태로 되어있는 곡선의 길이를 구하는 방법이
> 무엇이 있죠?...
>
> 예를 들어서...
> x^2 + y^2 = r^2
> 이것은 반지름 r인 원인데요... 구간 [a,b](|a|,|b| < r )에서의
> 곡선의 길이를 구하는 일반적인 방법이 있을거라 생각해요..
>
> 알고 계신분있으면 알려주면 고맙겠습니다...
>
> 그럼 재미난 통신 하시길..

일반적인 곡선이 (x,y)=(f(t),g(t)) (a<=t<=b)와 같은 매개변수형으로
주어질 때, 이 곡선의 길이를 구하는 식은 다음과 같습니다.

L = ∫(a→b) sqrt( f'(t)^2 + g'(t)^2 ) dt

원이라면 (x,y)=r(cos t,sin t) (-pi<=0<=pi)로 표시할 수 있으므로
위 공식을 이용하시면 되겠지요.

타원의 둘레도 위 공식으로 구하실 수 있습니다. 단 analytic한 방법
으로는 답을 구할 수 없고 numerical하게 계산하셔야 하겠지요.

--
김승범

qbism

unread,
Feb 8, 1999, 3:00:00 AM2/8/99
to

박진수

unread,
Feb 9, 1999, 3:00:00 AM2/9/99
to
우선 답변 감사합니다... 그런데
문제는 음함수의 형태가 매개변수로 주어지지 않았을경우에..

꼭.. 예를 들자면...
....
ln(x^2 + lny) = y^(1/2)..... (이게 말이 되나?....음 아무거나 생각하려니...)
이런식으로 복잡하게 되었다고 생각하면...
이걸 풀수 있는 방법이 뭐가 있죠?...

그리고 오토캐드 명령어중에 임의의 곡선의
길이를 구해주는 명령어가 있습니다...(스플라인은 임의의 곡선이 맞나...?....)
그와 비슷한 기능을 하는 걸 만들어 보고 싶은데...
(함수가 주어지면 그 곡선의 길이를 구해서 n등분을 하고
각 point 의 좌표를 구할수 있는 것....)
참고할만한 책좀 소개 해주셨으면 감사하겠습니다....

그럼 몸 건강하시길...

Kim Sung-bom <musi...@bawi.org> wrote in message
news:36BED899...@bawi.org...

Gyujin Han

unread,
Feb 9, 1999, 3:00:00 AM2/9/99
to

"박진수" wrote:
>
> 우선 답변 감사합니다... 그런데
> 문제는 음함수의 형태가 매개변수로 주어지지 않았을경우에..
>
> 꼭.. 예를 들자면...
> ....
> ln(x^2 + lny) = y^(1/2)..... (이게 말이 되나?....음 아무거나 생각하려니...)
> 이런식으로 복잡하게 되었다고 생각하면...
> 이걸 풀수 있는 방법이 뭐가 있죠?...

어디서부터 어디까지의 길이를 구하시려 하나요?

>
> 그리고 오토캐드 명령어중에 임의의 곡선의
> 길이를 구해주는 명령어가 있습니다...(스플라인은 임의의 곡선이 맞나...?....)
> 그와 비슷한 기능을 하는 걸 만들어 보고 싶은데...
> (함수가 주어지면 그 곡선의 길이를 구해서 n등분을 하고
> 각 point 의 좌표를 구할수 있는 것....)
> 참고할만한 책좀 소개 해주셨으면 감사하겠습니다....

대학 교양과정의 미적분학(Calculus)에 다루어질 내용이네요...
공학수학을 보시던지요...

기본적으로는 그 함수의 선분길이에 대한 미분 ds를 구해서 길이를 구하려는
구간에 대해 적분하면 되지요...


--
Gyujin Han <mailto:gyu...@cad.snu.ac.kr> UNITEL:은수아빠
Please notice that my e-mail address is changed.
This message is made of 100% recycled electrons.

qbism

unread,
Feb 9, 1999, 3:00:00 AM2/9/99
to

Gyujin Han <gyu...@cad.snu.ac.kr> wrote in message
news:36BFC548...@cad.snu.ac.kr...

>
>
>"박진수" wrote:
>>
>> 우선 답변 감사합니다... 그런데
>> 문제는 음함수의 형태가 매개변수로 주어지지 않았을경우에..
>>
>> 꼭.. 예를 들자면...
>> ....
>> ln(x^2 + lny) = y^(1/2)..... (이게 말이 되나?....음 아무거나
생각하려니...)
>> 이런식으로 복잡하게 되었다고 생각하면...
>> 이걸 풀수 있는 방법이 뭐가 있죠?...
>
>어디서부터 어디까지의 길이를 구하시려 하나요?
>

곡선내의 임의의 점에서 임의의 점까지.....의 길이를 구하는 일반적인 방법을
묻는 겁니다... (물론 구간내에 점근선이 없을경우)


>>
>> 그리고 오토캐드 명령어중에 임의의 곡선의
>> 길이를 구해주는 명령어가 있습니다...(스플라인은 임의의 곡선이
맞나...?....)
>> 그와 비슷한 기능을 하는 걸 만들어 보고 싶은데...
>> (함수가 주어지면 그 곡선의 길이를 구해서 n등분을 하고
>> 각 point 의 좌표를 구할수 있는 것....)
>> 참고할만한 책좀 소개 해주셨으면 감사하겠습니다....
>
>대학 교양과정의 미적분학(Calculus)에 다루어질 내용이네요...
>공학수학을 보시던지요...
>
>기본적으로는 그 함수의 선분길이에 대한 미분 ds를 구해서 길이를 구하려는
>구간에 대해 적분하면 되지요...

함수가 양함수일때는 ds = sqrt(1+(dy/dx)^2)dx 이런식으로 쉽게 구할수가
있습니다..
문제는 음함수일때인데... 음함수일때는 위 식처럼 쉽게 형태가 변하지 않을수도
있다라는 거죠..

그리고 곡선의 길이를 구하는 수치해석적인 방법이 있을거라 믿습니다.... 당연히
있겠죠?..
그걸 소개해달라는 거였습니다...
가급적이면 c++로 구현 가능하면 좋겠습니다...
그럼 이만...

pa...@paladin.kaist.ac.kr

unread,
Feb 10, 1999, 3:00:00 AM2/10/99
to
qbism <qb...@che.chonbuk.ac.kr> wrote:

> Gyujin Han <gyu...@cad.snu.ac.kr> wrote in message
> news:36BFC548...@cad.snu.ac.kr...

> 함수가 양함수일때는 ds = sqrt(1+(dy/dx)^2)dx 이런식으로 쉽게 구할수가
> 있습니다..
> 문제는 음함수일때인데... 음함수일때는 위 식처럼 쉽게 형태가 변하지 않을수도
> 있다라는 거죠..

양함수나 음함수난 dy/dx 만 계산할 수 있으면 구할 수 있겠죠.

물론 dy/dx 가 singular 해지면 문제가 되겠지만

복잡한 algorithm 보다는 point 들을 generation 해서 직선의 길이들을

더하는 방법이 나을듯 보입니다.

spline으로 표현된 곡선은 polynonimal 이므로 간단히 구할 수 있습니다.

> 그리고 곡선의 길이를 구하는 수치해석적인 방법이 있을거라 믿습니다.... 당연히
> 있겠죠?..

수치해석적 방법은 quadrature 를 이용한 적분밖에 없을듯 하군요.

implicit form 으로 표현된 곡선이나 곡면으로 CAD 나 그래픽을 하는것이

왜 불편한지는 Piegel(?)이 쓴 NURBS Book 에 잘 나와있습니다.

Gyujin Han

unread,
Feb 12, 1999, 3:00:00 AM2/12/99
to

pa...@paladin.kaist.ac.kr wrote:
>
> > 함수가 양함수일때는 ds = sqrt(1+(dy/dx)^2)dx 이런식으로 쉽게 구할수가
> > 있습니다..
> > 문제는 음함수일때인데... 음함수일때는 위 식처럼 쉽게 형태가 변하지 않을수도
> > 있다라는 거죠..
> 양함수나 음함수난 dy/dx 만 계산할 수 있으면 구할 수 있겠죠.
>
> 물론 dy/dx 가 singular 해지면 문제가 되겠지만
>
> 복잡한 algorithm 보다는 point 들을 generation 해서 직선의 길이들을
>
> 더하는 방법이 나을듯 보입니다.
>

직선으로 근사했을 때 그 곡선의 길이를 대체하여 표시할 수 있을 만한
점들을 sampling하는 문제 또한 장난이 아니겠군요. 원래의 문제 정의가
음함수라는 것 밖에 없었으니......

0 new messages