EMDD.KtGeometry 1.0.0

dotnet add package EMDD.KtGeometry --version 1.0.0                
NuGet\Install-Package EMDD.KtGeometry -Version 1.0.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="EMDD.KtGeometry" Version="1.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add EMDD.KtGeometry --version 1.0.0                
#r "nuget: EMDD.KtGeometry, 1.0.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install EMDD.KtGeometry as a Cake Addin
#addin nuget:?package=EMDD.KtGeometry&version=1.0.0

// Install EMDD.KtGeometry as a Cake Tool
#tool nuget:?package=EMDD.KtGeometry&version=1.0.0                

NugetNugetGitHub Workflow Status  

EMDD.KtGeometry


a library implementation of geometrical objects

Requirements/Dependencies

.Net 5.0.102 sdk or greater

EMDD.KtCircularStack

Nuget Package Usage

https://www.nuget.org/packages/EMDD.KtGeometry/

<PackageReference Include="EMDD.KtGeometry" Version="1.*.*" />

Usage

  • this library can be used to represent geometrical objects such as lines and plane as class type.

Vectors

  • Vectors can be 2D or 3D through EMDD.KtGeometry.KtVectors.KtVector2D and EMDD.KtGeometry.KtVectors.KtVector3D respectively.

Points

  • Points can be 2D or 3D through EMDD.KtGeometry.KtPoints.KtPoint2D and EMDD.KtGeometry.KtPoints.KtPoint3D respectively.

Lines

  • Lines can be of type KtLine2D, KtRay2D, KtSegment2D, or KtLine3D
var line = new EMDD.KtGeometry.KtLines._2D.KtLine2D(2,3,-12, 3);

var startPoint = new EMDD.KtGeometry.KtPoints.KtPoint2D(2,3); 
var direction = new EMDD.KtGeometry.KtVectors.KtVector2D(-1,4);
var endPoint = new EMDD.KtGeometry.KtPoints.KtPoint2D(5,5); 

var ray = new EMDD.KtGeometry.KtLines._2D.KtRay2D(startPoint, direction);
var segment = new EMDD.KtGeometry.KtLines._2D.KtSegment2D(startPoint, endPoint);
  • Line methods includes line properties such as angle, intersepts and calculation of intersection points, distance from a point

KtPlane

  • plane object
var plane = new EMDD.KtGeometry.KtPlanes.KtPlane(2,3,-12, 3); //2x + 3y - 12z = 3
  • able to calculate intesection with plane and line

KtPolygon

  • polygons bound by edges
// a polygon contains a list of regions, where these regions can be +(addition/solid) or -(deductive/hollow)
var startPoint = new EMDD.KtGeometry.KtPoints.KtPoint2D(2,3); 
var rectRegion = EMDD.KtGeometry.KtPolygons.CreateSpecialRegionMethods.Rectangle(startPoint, 20, 40, true);

var plane = new EMDD.KtGeometry.KtPolygons.KtPolygon2D(rectRegion);
  • Polygon method includes:
    • Area calculation
    • Polygon clipping
    • Translation/rotation

Quaternions

  • representation of graphical rotation and orientation of objects
var quatern= new KtQuaternion(w, x, y,z);

todo

  • better documentation
Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
1.0.0 400 3/22/2021