Parallel Collision Detection via Group Allocation and Noise-Added Binary Trees

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing binary tree construction method for collision determination in simulations is inefficient for parallel processing due to uneven object distributions across layers, leading to suboptimal performance as the number of objects increases.

Innovation Solution

A simulation apparatus and method that allocates object pairs into groups to prevent parallel calculations between groups with common objects, using a complete binary tree structure optimized through node replacement and noise addition to minimize positional relationship errors, ensuring efficient parallel processing by maintaining consistent object relationships across time points.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If binary tree construction is executed by parallel processing, then processing efficiency is improved, but uneven object distribution across layers prevents efficient parallel execution

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidparallel execution efficiency
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent applies preliminary action by performing noise addition to object positions before binary tree construction. This preprocessing step randomizes the positional data, ensuring that subsequent parallel processing across different layers will have more uniform workloads. By preparing the data in advance with positional noise, the system prevents the uneven distribution problem that would otherwise occur during parallel tree construction.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the positional parameters of objects by adding noise to their coordinates. This parameter modification transforms the original positional data into a version that, when used for binary tree construction, distributes objects more evenly across different layers. The noise addition alters the spatial relationships just enough to achieve balanced parallel processing without significantly affecting the simulation accuracy.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If collision determination is done in round-robin for all objects, then completeness is improved, but calculation amount increases enormously

Engineering Contradiction:
Improvecollision determination completenessVSAvoidcalculation amount
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent applies segmentation by dividing the collision determination process into two stages: first using binary tree construction to identify potential collision pairs (segmenting the full N×N comparison into manageable subsets), then performing detailed collision checks only on these identified pairs. This segmentation dramatically reduces the total number of calculations while maintaining completeness, as the binary tree structure ensures all potentially colliding objects are captured in the pair lists.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts only the relevant collision pairs from the complete set of object comparisons. Instead of checking all possible object pairs, the binary tree construction extracts and identifies specifically those pairs that are spatially close and potentially colliding. This extraction process filters out the vast majority of non-colliding pairs, reducing calculation amount while preserving collision determination completeness.

Inventive Principle:
Principle #2Taking out (Extraction)

3Measurement precision

If binary tree construction recursively divides regions until each includes one object, then collision determination accuracy is improved, but processing load increases with object number

Engineering Contradiction:
Improvepositional relationship accuracyVSAvoidprocessing load
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent applies preliminary action by adding noise to object positions before constructing the binary tree. This preprocessing step ensures that the recursive division process encounters more uniformly distributed objects, preventing clustering effects that would increase processing load. The noise addition prepares the data structure in advance to handle the recursive division more efficiently, maintaining accuracy while reducing the computational burden of deep tree construction.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies partial action by not requiring the binary tree to be constructed to the full depth where every leaf contains exactly one object. Instead, the tree construction stops at a practical depth where regions contain a manageable number of objects, and collision pairs are identified from this partially constructed tree. This partial construction maintains sufficient positional relationship accuracy for collision detection while avoiding the excessive processing load of complete single-object-per-leaf trees.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10089420B2Simulation apparatus, controlling method, program and information storage medium for the simulation apparatus
Publication Date: 2018.10.02 SONY INTERACTIVE ENTERTAINMENT LLC
  • US10089420B2 patent drawing
  • US10089420B2 patent drawing
  • US10089420B2 patent drawing

AI summary

A simulation apparatus which simulates a position of each of plural objects, which move in a virtual space together with time, at each of plural time points of calculation. The apparatus includes: an object pair information acquisition unit acquiring plural pieces of information of object pairs each including, as components thereof, two objects which contact with each other at each of the plural time points of calculation; an allocation unit allocating, at each of the plural time points of calculation, each of the plural object pairs to one of plural groups such that two or more object pairs which include a common object do not belong to the same group; and a calculation unit calculating, at each of the plural time points of calculation, an influence of contact of two objects included in each of the plural object pairs upon positions of the two objects.