OpenGJKSharp 0.0.5
dotnet add package OpenGJKSharp --version 0.0.5
NuGet\Install-Package OpenGJKSharp -Version 0.0.5
<PackageReference Include="OpenGJKSharp" Version="0.0.5" />
<PackageVersion Include="OpenGJKSharp" Version="0.0.5" />
<PackageReference Include="OpenGJKSharp" />
paket add OpenGJKSharp --version 0.0.5
#r "nuget: OpenGJKSharp, 0.0.5"
#:package OpenGJKSharp@0.0.5
#addin nuget:?package=OpenGJKSharp&version=0.0.5
#tool nuget:?package=OpenGJKSharp&version=0.0.5
OpenGJKSharp
OpenGJKSharp is a C# native implementation of the GJK (Gilbert-Johnson-Keerthi) algorithm, designed for efficient collision detection between convex polyhedra in 3D space. This project is inspired by the original openGJK (written in C) and reimagined for the .NET ecosystem.
Installation
You can install OpenGJKSharp
via NuGet:
dotnet add package OpenGJKSharp --version 0.0.5
Or using the Package Manager:
Install-Package OpenGJKSharp -Version 0.0.5
Usage
Here is an example of detecting a collision between two overlapping cubes:
using OpenGJKSharp;
// Cube 1
var a = new Vector3[]
{
new(0, 0, 0),
new(1, 0, 0),
new(0, 1, 0),
new(1, 1, 0),
new(0, 0, 1),
new(1, 0, 1),
new(0, 1, 1),
new(1, 1, 1),
};
// Cube 2
var b = new Vector3[]
{
new(0.5f, 0.5f, 0),
new(1.5f, 0.5f, 0),
new(0.5f, 1.5f, 0),
new(1.5f, 1.5f, 0),
new(0.5f, 0.5f, 1),
new(1.5f, 0.5f, 1),
new(0.5f, 1.5f, 1),
new(1.5f, 1.5f, 1),
};
bool hasCollision = OpenGJKSharp.HasCollision(a, b);
Console.WriteLine($"Collision detected: {hasCollision}"); // Outputs: true
The following image illustrates the collision between the two cubes:
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
0.0.5 | 223 | 3/8/2025 |