<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Kimkijeung.com &#187; math</title>
	<atom:link href="http://kimkijeung.com/tag/math/feed/" rel="self" type="application/rss+xml" />
	<link>http://kimkijeung.com</link>
	<description>Interactive development,flash,Actionscript,Unity</description>
	<lastBuildDate>Sun, 24 Apr 2011 18:59:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
		<item>
		<title>Area of a triangle via the cross product</title>
		<link>http://kimkijeung.com/2007/04/29/area-of-a-triangle-via-the-cross-product/</link>
		<comments>http://kimkijeung.com/2007/04/29/area-of-a-triangle-via-the-cross-product/#comments</comments>
		<pubDate>Sun, 29 Apr 2007 09:53:29 +0000</pubDate>
		<dc:creator>vkimone</dc:creator>
				<category><![CDATA[Math & Physics]]></category>
		<category><![CDATA[cross product]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[vector]]></category>

		<guid isPermaLink="false">http://vkimone.inblog.kr/?p=447</guid>
		<description><![CDATA[막상 3D 상의 임의의 세 점으로 구성된 삼각형의 넓이를 구하려고 하면 좀처럼 마땅한 방법이 떠오르지 않는다. 여기에 비교적 간단한 방법으로 공간상의 삼각형 넓이를 구하는 방법을 소개한다 공간상의 두 벡터 P,Q 가 주어졌을때, 외적(cross product) 은 다음의 식을 만족한다. 위식의 우변을 잘 살펴보면 외적 PxQ 의 크기가 P와 Q에 의해 만들어지는 평행사변형의 넓이와 같음을 알수 있다. [...]]]></description>
			<content:encoded><![CDATA[<p>막상 3D 상의 임의의 세 점으로 구성된 삼각형의 넓이를 구하려고 하면 좀처럼 마땅한 방법이 떠오르지 않는다. 여기에 비교적 간단한 방법으로 공간상의 삼각형 넓이를 구하는 방법을 소개한다</p>
<p>공간상의 두 벡터 P,Q 가 주어졌을때, 외적(cross product) 은 다음의 식을 만족한다.</p>
<p><img class="alignnone size-full wp-image-448" title="1195641316" src="http://kimkijeung.com/blog/wp-content/uploads/2009/12/1195641316.jpg" alt="1195641316" /></p>
<p>위식의 우변을 잘 살펴보면 외적 PxQ 의 크기가 P와 Q에 의해 만들어지는 평행사변형의 넓이와 같음을 알수 있다. 이를 이용하면 꼭지점이 P,Q,R 인 임의의 삼각형의 넓이A를 다음과 같은 식에 의해 계산할 수 있다.</p>
<p><img class="alignnone size-full wp-image-449" title="1358145576" src="http://kimkijeung.com/blog/wp-content/uploads/2009/12/1358145576.jpg" alt="1358145576" width="377" height="137" /></p>
<p>예를 들어 P(4, 2, -1), Q(-1, 4, 2), R(2, 1, -4) 같이 세점으로 구성된 삼각형 넓이를 구해보면,<br />
<strong><br />
PQ</strong> = [-1 - 4]<strong>i</strong> + [4- 2]<strong>j</strong> + [2- (-1)]<strong>k</strong> = -5<strong>i</strong> +2<strong>j</strong> + 3<strong>k</strong>.<strong> </strong></p>
<p><strong> </strong></p>
<p><strong>PR</strong> = [2 - 4]<strong>i</strong> + [1 - 2]<strong>j</strong> + [-4 - (-1)]<strong>k</strong> = -2<strong>i</strong> &#8211; <strong>j</strong> &#8211; 3<strong>k</strong>.</p>
<p><strong>PQ</strong> X <strong>PR =</strong> &lt;2*(-3)-3*(-1) , 3*(-2)-(-5)*(-3) , (-5)*(-1)-2*(-2)&gt;<br />
=  &lt;-3,-21,-1&gt;</p>
<p>A=1/2 * sqrt( (-3)*(-3) + (-21)*(-21) + (-1)*(-1) ) = 10.618</p>
]]></content:encoded>
			<wfw:commentRss>http://kimkijeung.com/2007/04/29/area-of-a-triangle-via-the-cross-product/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bezier Curve Example</title>
		<link>http://kimkijeung.com/2006/06/09/184/</link>
		<comments>http://kimkijeung.com/2006/06/09/184/#comments</comments>
		<pubDate>Fri, 09 Jun 2006 05:47:59 +0000</pubDate>
		<dc:creator>vkimone</dc:creator>
				<category><![CDATA[Math & Physics]]></category>
		<category><![CDATA[bezier curve]]></category>
		<category><![CDATA[math]]></category>

		<guid isPermaLink="false">http://vkimone.inblog.kr/?p=184</guid>
		<description><![CDATA[조절점이 3개일 경우 일반 베지에 곡선의 일반식 B(u) = P0 * ( 1 &#8211; u ) 2 + P1 * 2 * u ( 1 &#8211; u ) + P2 u2 을 이용하면 단순히 베지에 곡선을 그리는 것으로 끝나는 것이 아니라 각 포인트를 추적할 수 있다. 플래시에서 제공하는 curveTo 메서드도 물론 위 공식에 의한 계산으로 [...]]]></description>
			<content:encoded><![CDATA[<p><strong>조절점이 3개일 경우 일반 베지에 곡선의 일반식</strong></p>
<p><strong>B</strong>(u) = P<sub>0</sub> * ( 1 &#8211; u ) <sup>2</sup> + P<sub>1</sub> * 2 * u ( 1 &#8211; u ) + P<sub>2</sub> u<sup>2</sup></p>
<p>을 이용하면 단순히 베지에 곡선을 그리는 것으로 끝나는 것이 아니라 각 포인트를 추적할 수 있다.</p>
<p>플래시에서 제공하는 curveTo 메서드도 물론 위 공식에 의한 계산으로 곡선을 그리는 것이지만 그리는것 이상의 것은 할 수 없었다.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> bezierPoint<span style="color: #66cc66;">&#40;</span>mc:<span style="color: #0066CC;">MovieClip</span>,t:<span style="color: #0066CC;">Number</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">var</span> x = <span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">1</span> - t <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">*</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">1</span> - t <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">*</span> mc.<span style="color: #006600;">p1</span>.<span style="color: #0066CC;">_x</span> + <span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">*</span> t <span style="color: #66cc66;">*</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">1</span> - t <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">*</span> mc.<span style="color: #006600;">p2</span>.<span style="color: #0066CC;">_x</span> + t <span style="color: #66cc66;">*</span> t <span style="color: #66cc66;">*</span> mc.<span style="color: #006600;">p3</span>.<span style="color: #0066CC;">_x</span>;
  <span style="color: #000000; font-weight: bold;">var</span> y = <span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">1</span> - t <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">*</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">1</span> - t <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">*</span> mc.<span style="color: #006600;">p1</span>.<span style="color: #0066CC;">_y</span> + <span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">*</span> t <span style="color: #66cc66;">*</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">1</span> - t <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">*</span> mc.<span style="color: #006600;">p2</span>.<span style="color: #0066CC;">_y</span> + t <span style="color: #66cc66;">*</span> t <span style="color: #66cc66;">*</span> mc.<span style="color: #006600;">p3</span>.<span style="color: #0066CC;">_y</span>;
  mc.<span style="color: #006600;">point_mc</span>.<span style="color: #0066CC;">_x</span>=x;
  mc.<span style="color: #006600;">point_mc</span>.<span style="color: #0066CC;">_y</span>=y;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>control point 와 anchor point  를 지정해 곡선을 그리고 더 나아가 그린 곡선위의 포인트를 계산에 의해 추적이 가능하다. 즉, 스크립트로 모션이 가능하다.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="550" height="400" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="menu" value="false" /><param name="src" value="http://vkimone.inblog.kr/blog/wp-content/uploads/2006/06/bezier.swf" /><embed type="application/x-shockwave-flash" width="550" height="400" src="http://vkimone.inblog.kr/blog/wp-content/uploads/2006/06/bezier.swf" menu="false"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://kimkijeung.com/2006/06/09/184/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bezier curves</title>
		<link>http://kimkijeung.com/2006/06/09/bezier-curves/</link>
		<comments>http://kimkijeung.com/2006/06/09/bezier-curves/#comments</comments>
		<pubDate>Fri, 09 Jun 2006 04:39:58 +0000</pubDate>
		<dc:creator>vkimone</dc:creator>
				<category><![CDATA[Math & Physics]]></category>
		<category><![CDATA[bezier curve]]></category>
		<category><![CDATA[math]]></category>

		<guid isPermaLink="false">http://localhost:8888/blog/?p=162</guid>
		<description><![CDATA[[퍼온글] 3차원 공간에 있는 N+1개의 조절점(control point) pk (k=0,1,&#8230;,N)를 생각해봅시다. 베지어 parametric 곡선 공식은 다음과 같습니다. B(u)는 서로 다른 위치에 있는(discrete) N개의 조절점에 의해 얻어지는 곡선을 구하기 위한 연속함수입니다. u=0이면 첫번째 조절점(k=0)에, u=1이면 마지막 조절점(k=N)에 도달합니다. 아래는 N=4, 즉 조절점이 4개인 경우의 곡선 모습입니다. 역자 주 : 첫번째 조절점이 시작점, 마지막 조절점이 끝점이라고 생각하시면 쉽겠죠? [...]]]></description>
			<content:encoded><![CDATA[<p align="justify">[퍼온글]</p>
<p align="justify">3차원 공간에 있는 N+1개의 조절점(control point) p<sub>k</sub> (k=0,1,&#8230;,N)를 생각해봅시다. 베지어 parametric 곡선 공식은 다음과 같습니다.</p>
<p><img src="http://eunchul.com/Algorithms/BezierCurves/images/bezier1.gif" alt="" width="308" height="50" /></p>
<p align="justify"><strong>B</strong>(u)는 서로 다른 위치에 있는(discrete) N개의 조절점에 의해 얻어지는 곡선을 구하기 위한 연속함수입니다. u=0이면 첫번째 조절점(k=0)에, u=1이면 마지막 조절점(k=N)에 도달합니다. 아래는 N=4, 즉 조절점이 4개인 경우의 곡선 모습입니다.</p>
<p>역자 주 : 첫번째 조절점이 시작점, 마지막 조절점이 끝점이라고 생각하시면 쉽겠죠? ^_^</p>
<p>그리고, N개의 조절점이 아니라 N+1의 조절점이라고 해야 하는 듯.</p>
<p>나중에 나오지만, 조절점의 위치가 모두 각각 다를 필요는 없습니다.</p>
<p><img src="http://eunchul.com/Algorithms/BezierCurves/images/bezier2.gif" alt="" width="330" height="106" /></p>
<h3>주의점:</h3>
<ul>
<li>
<p align="justify">이 베지어 곡선은, 조절점 중 처음과 끝 점을 빼고는 보통 어느 조절점과도 만나지 않습니다. 공식을 사용하면 <strong>B</strong>(0) = P<sub>0</sub> 이고 <strong>B</strong>(1) = P<sub>N</sub> 이 되겠지요.</p>
</li>
<li>
<p align="justify">곡선은, 항상 조절점으로 이루어진 다각형 안에 들어가게 됩니다. 곡선이 조절점들 사이에서 크게 벗어나거나 하는 일은 없습니다.</p>
</li>
<li>
<p align="justify">조절점이 P<sub>0</sub> 하나뿐이라면, 즉 N=0 이라면 모든 u에 대해 <strong>B</strong>(u) = P<sub>0</sub> 입니다. (역자 주 : u는 0이상 1 이하의 실수)</p>
</li>
<li>
<p align="justify">조절점이 P<sub>0</sub> , P<sub>1</sub> 두개뿐이라면, 즉 N=1이라면 이 공식은 두 점 사이를 잇는 선분을 만들어냅니다.</p>
<p><img src="http://eunchul.com/Algorithms/BezierCurves/images/bezier3.gif" alt="" width="332" height="49" /></li>
<li>
<p align="justify">
<p><img src="http://eunchul.com/Algorithms/BezierCurves/images/bezier4.gif" alt="" width="142" height="31" /></p>
<p>라는 부분은 blending 함수라고 하는데, 이 부분에서 조절점들을 blend해서 곡선을 생성하기 때문입니다.</li>
<li>
<p align="justify">blending 함수는 조절점의 갯수보다 차수가 하나 낮은 다항함수입니다. 예를 들어, 3개의 조절점이 있다면 베지어 곡선은 포물선을 그리고, 4개의 조절점으로는 3차곡선을 얻게 됩니다.</p>
</li>
<li>
<p align="justify">첫번째 조절점의 위치와 마지막 조절점의 위치가 같을 경우 폐곡선이 생깁니다. 이때 처음의 두 조절점 사이의 접선(tangent)과 끝의 두 조절점의 접선이 같을 경우, first order continuity가 가능합니다. (역자 주 : P<sub>0</sub> &#8211; P<sub>1</sub> 간의 기울기와 P<sub>N-1</sub> &#8211; P<sub>N</sub> 간의 기울기가 같을 경우..라고 보시면 되겠습니다. first order continuity는, 두 곡선의 (1계)도함수가 같은, 즉 접선의 기울기가 서로 같은 상태를 의미합니다.)</p>
</li>
<li>
<p align="justify">비슷한 위치에 여러 조절점이 있을 경우, 그쪽으로 베지어 곡선을 &#8220;당기는&#8221; 정도가 증가합니다.</p>
<p><img src="http://eunchul.com/Algorithms/BezierCurves/images/bezier6.gif" alt="" width="359" height="112" /></li>
<li>
<p align="justify">조절점의 갯수가 많아지면, 좀더 높은 차수의 식과, 많은 횟수의 팩토리얼 값을 계산해야 합니다. 그래서 보통 긴 곡선을 만들 때는, 그 곡선을 다시 여러 곡선으로 작게 쪼개는 방법을 씁니다. 이렇게 하면, 전체적인 모습에 변화를 주지 않고도 곡선의 부분적인 형태를 쉽게 바꿀 수 있는 효과도 얻게 됩니다. 물론 곡선이 첫번째 조절점에서 시작해서 마지막 조절점에서 끝나기 때문에, (나눠진) 곡선 조각들을 이어붙이기는 쉽습니다. 또한 베지어 곡선에서는 마지막 점에서의 접선이 마지막 두 조절점을 이은 선과 같기 때문에, (나누어진 곡선들의) 첫번째 조절점의 기울기도 맞출 수 있습니다.</p>
<p>Second order continuity는 보통 불가능합니다. (역자 주 : Second order continuity는, 이계도함수의 값이 같을 때의 상태입니다. 즉, 곡선의 변화율이 같다는 뜻입니다.)</p>
<p><img src="http://eunchul.com/Algorithms/BezierCurves/images/bezier7.gif" alt="" width="354" height="136" /></li>
<li>
<p align="justify">조절점이 2개인 특수한 경우(직선)을 제외하고는, 한 베지어 곡선에 평행한 다른 베지어 곡선을 유도(derive)해내는 것은 불가능한 것으로 알려져 있습니다.</p>
</li>
<li>
<p align="justify">베지어 곡선으로 원을 완벽하게 표현할 수는 없습니다.</p>
</li>
<li>
<p align="justify">coincident parallel curves나 직선인 베지어 곡선의 경우를 제외하고는, 한 베지어 곡선에 평행한 베지어 곡선을 만드는 것은 불가능합니다.</p>
</li>
<li>
<p align="justify">조절점이 3개일 경우는 공식이 다음과 같이 정리됩니다 :</p>
<p><strong>B</strong>(u) = P<sub>0</sub> * ( 1 &#8211; u ) <sup>2</sup> + P<sub>1</sub> * 2 * u ( 1 &#8211; u ) + P<sub>2</sub> u<sup>2</sup></li>
<li>
<p align="justify">조절점이 4개일 경우는 공식이 다음과 같이 정리됩니다 :</p>
<p><strong>B</strong>(u) = P<sub>0</sub> * ( 1 &#8211; u )<sup>3</sup> + P<sub>1</sub> * 3 * u * ( 1 &#8211; u )<sup>2</sup> + P<sub>2</sub> * 3 * u<sup>2</sup> * ( 1 &#8211; u ) + P<sub>3</sub> * u<sup>3</sup></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://kimkijeung.com/2006/06/09/bezier-curves/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

