<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: LEE -</title>
    <description>The latest articles on Forem by LEE - (@lee__1e51a184f486d0c57da).</description>
    <link>https://forem.com/lee__1e51a184f486d0c57da</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3657981%2Fc8411d0d-1075-4650-9f41-bb3082257f0f.png</url>
      <title>Forem: LEE -</title>
      <link>https://forem.com/lee__1e51a184f486d0c57da</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/lee__1e51a184f486d0c57da"/>
    <language>en</language>
    <item>
      <title>Intersection-Aware Asset Placement using Computational Geometry and ML</title>
      <dc:creator>LEE -</dc:creator>
      <pubDate>Thu, 11 Dec 2025 23:50:05 +0000</pubDate>
      <link>https://forem.com/lee__1e51a184f486d0c57da/intersection-aware-asset-placement-using-computational-geometry-and-ml-ijp</link>
      <guid>https://forem.com/lee__1e51a184f486d0c57da/intersection-aware-asset-placement-using-computational-geometry-and-ml-ijp</guid>
      <description>&lt;p&gt;&lt;code&gt;&amp;lt;script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;v_{rot} = v \cos \theta + (k \times v) \sin \theta + k (k \cdot v) (1 - \cos \theta)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Intersection-Aware Asset Placement using Computational Geometry and ML
&lt;/h1&gt;

&lt;p&gt;Most existing engines and DCC tools still lack robust intersection-aware asset placement, even within modern PCG workflows. Manual placement with geometric perturbations remains time-consuming and inefficient. To address this, we introduce a system that combines &lt;strong&gt;computational geometry&lt;/strong&gt; with &lt;strong&gt;pipeline-engineering techniques&lt;/strong&gt; to support large-scale asset processing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Intersection Analysis and Packing
&lt;/h2&gt;

&lt;p&gt;Our approach incorporates &lt;strong&gt;UV-based and general packing strategies&lt;/strong&gt;, including &lt;strong&gt;Poisson disk sampling&lt;/strong&gt; and &lt;strong&gt;scale-aware classification&lt;/strong&gt;, expressed using computational geometry rather than conventional algorithmic heuristics.&lt;/p&gt;

&lt;p&gt;The Poisson disk sampling can be represented as:&lt;/p&gt;

&lt;p&gt;$$&lt;br&gt;
d(x_i, x_j) \ge r, \quad \forall i \neq j&lt;br&gt;
$$&lt;/p&gt;

&lt;p&gt;where $r$ is the minimum distance between samples.&lt;/p&gt;

&lt;p&gt;Scale-aware classification assigns assets to bins based on their bounding box sizes:&lt;/p&gt;

&lt;p&gt;$$&lt;br&gt;
\text{bin}(i) = \left\lfloor \frac{\text{size}_i}{\Delta} \right\rfloor&lt;br&gt;
$$&lt;/p&gt;

&lt;p&gt;where $\Delta$ is the scale interval.&lt;/p&gt;




&lt;h2&gt;
  
  
  Direction-Aware Placement
&lt;/h2&gt;

&lt;p&gt;To support semantic directional awareness, we apply &lt;strong&gt;Rodrigues’ rotation formula&lt;/strong&gt; to align an object’s primary directional vector $\mathbf{v}$ to a target normal $\mathbf{n}$:&lt;/p&gt;

&lt;p&gt;$$&lt;br&gt;
\mathbf{v}_{\text{rot}} = \mathbf{v} \cos \theta + (\mathbf{k} \times \mathbf{v}) \sin \theta + \mathbf{k} (\mathbf{k} \cdot \mathbf{v}) (1 - \cos \theta)&lt;br&gt;
$$&lt;/p&gt;

&lt;p&gt;where $\mathbf{k}$ is the unit rotation axis and $\theta$ is the angle between $\mathbf{v}$ and $\mathbf{n}$.&lt;/p&gt;

&lt;p&gt;Alternatively, rotations are represented with &lt;strong&gt;quaternions&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;$$&lt;br&gt;
\mathbf{v}' = \mathbf{q} \mathbf{v} \mathbf{q}^{-1}, \quad \mathbf{q} = w + xi + yj + zk&lt;br&gt;
$$&lt;/p&gt;

&lt;p&gt;Matrix transformations are applied using &lt;strong&gt;matrix inversion&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;$$&lt;br&gt;
\mathbf{T}^{-1} = (\mathbf{R} \mathbf{S})^{-1} = \mathbf{S}^{-1} \mathbf{R}^{-1}&lt;br&gt;
$$&lt;/p&gt;

&lt;p&gt;where $\mathbf{R}$ is the rotation component and $\mathbf{S}$ is scaling.&lt;/p&gt;




&lt;h2&gt;
  
  
  ML-Based Pipeline Automation
&lt;/h2&gt;

&lt;p&gt;We integrated &lt;strong&gt;MCP&lt;/strong&gt;, an ML-based API, to automate &lt;strong&gt;scaling and direction-aware initialization&lt;/strong&gt;, forming an AI-assisted geometry pipeline. This reduces manual intervention during dataset creation and ensures consistent placement across large-scale assets.&lt;/p&gt;




&lt;h2&gt;
  
  
  User Abstraction Layer
&lt;/h2&gt;

&lt;p&gt;A &lt;strong&gt;high-level abstraction layer&lt;/strong&gt; enables:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Batch import/export
&lt;/li&gt;
&lt;li&gt;Structured directory output
&lt;/li&gt;
&lt;li&gt;Automated PBR-compatible texture assignment
&lt;/li&gt;
&lt;li&gt;HLSL shader blending
&lt;/li&gt;
&lt;li&gt;Handling of inconsistent naming conventions
&lt;/li&gt;
&lt;li&gt;ARM/AO texture linking
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These features are &lt;strong&gt;not available in current engines or DCC plugins&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Automated Asset Retrieval
&lt;/h2&gt;

&lt;p&gt;We implemented an automated system using the &lt;strong&gt;FAB API&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Supports token-based bulk downloads by UID or keyword
&lt;/li&gt;
&lt;li&gt;Saves assets to specified directories via command line
&lt;/li&gt;
&lt;li&gt;Facilitates efficient dataset creation for 3D geometry research
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Note: FAB recently limited API access for uninitialized users, but authenticated workflows remain functional.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Future Work
&lt;/h2&gt;

&lt;p&gt;A preliminary version of this work is under development as a research paper. Future sections will include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Multi-DCC engine integration
&lt;/li&gt;
&lt;li&gt;Performance lookup tables
&lt;/li&gt;
&lt;li&gt;Analysis of boundary-case behaviors
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This aims to establish a &lt;strong&gt;generalizable and systematic methodology&lt;/strong&gt; for intersection-aware asset placement.&lt;/p&gt;




</description>
      <category>algorithms</category>
      <category>gamedev</category>
      <category>computerscience</category>
      <category>machinelearning</category>
    </item>
  </channel>
</rss>
