<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Ray Casting on Cigarettes &amp; Coffee</title><link>https://cignc.dev/tags/ray-casting/</link><description>Recent content in Ray Casting on Cigarettes &amp; Coffee</description><generator>Hugo</generator><language>ko-kr</language><lastBuildDate>Fri, 20 Mar 2026 17:14:45 +0900</lastBuildDate><atom:link href="https://cignc.dev/tags/ray-casting/index.xml" rel="self" type="application/rss+xml"/><item><title>🔦 Ray Casting</title><link>https://cignc.dev/posts/ray-casting/</link><pubDate>Fri, 20 Mar 2026 17:14:45 +0900</pubDate><guid>https://cignc.dev/posts/ray-casting/</guid><description>&lt;h2 id="1-광선"&gt;1. 광선&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;광선 위의 한 점에 대한 표현&lt;/p&gt;
$$
 r(t) = o + t d \text{(o는 원점, d는 방향벡터)}
 $$&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;방향벡터가 항상 단위 벡터임이 보장되지는 않지만, 관련 연산 대부분에서 방향벡터를 정규화하여 사용함&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="2-표면"&gt;2. 표면&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Ray - Object 교차의 기본이 되는 표면은 크게 음함수 표면과 명시적 표면으로 구분됨&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="명시적-표면"&gt;명시적 표면&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;한 변수를 다른 변수들의 함수로 직접 표현하는 방식&lt;/p&gt;
$$
 z = f(x, y)
 $$&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;예시: 포물선의 표면&lt;/p&gt;
$$
 z = x^2 + y^2
 $$&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;명시적 표면과 Ray 간 교차를 검사할 때, 함수에 \(x\), \(y\) 값을 대입해보고 그 값을 z값과 비교하여 표면에 있는 점인지, 표면을 지난 점인지, 표면에 닿지 못한 점인지 결정&lt;/p&gt;</description></item></channel></rss>