steavy
steavy

Reputation: 1576

Is there Point3D?

Is there a built in type Point3 in .Net? Some kind of this

public class Point3D
{
    public double X { get; set; }
    public double Y { get; set; }
    public double Z { get; set; }
}

but built in. It is not hard to implement it myself, but..

Upvotes: 16

Views: 21335

Answers (3)

Soner Gönül
Soner Gönül

Reputation: 98810

System.Windows.Forms.DataVisualization.Charting has Point3D class.

Represents the coordinates of a three-dimensional (3D) data point. This class is used when performing custom drawing with 3D charts.

  • X     Gets or sets the X coordinate of a 3D point.
  • Y     Gets or sets the Y coordinate of a 3D point.
  • Z     Gets or sets the Z coordinate of a 3D point.

Also has Point3D structure.

Represents an x-, y-, and z-coordinate point in 3-D space.

Upvotes: 10

Jinjinov
Jinjinov

Reputation: 2683

System.Windows.Forms.DataVisualization.Charting has a class Point3D

  • float X, Y, Z
  • System.Windows.Forms.DataVisualization.dll (WinForms)
  • .NET Framework >= 4.0

System.Windows.Media.Media3D has a struct Point3D

  • double X, Y, Z
  • PresentationCore.dll (WPF)
  • .NET Framework >= 3.0
  • .NET Core >= 3.0

I know that Vector3D is not a Point3D, but if you just want a struct with X, Y, Z:

System.Windows.Media.Media3D has a struct Vector3D

  • double X, Y, Z
  • PresentationCore.dll (WPF)
  • .NET Framework >= 3.0
  • .NET Core >= 3.0

System.Numerics has a struct Vector3

  • float X, Y, Z
  • System.Numerics.dll
  • .NET Framework >= 4.6
  • .NET Core >= 1.0

Only System.Numerics.Vector3 does NOT depend on WinForms or WPF!

Upvotes: 15

David
David

Reputation: 16277

  • DirectX has a Microsoft.DirectX.Vector3 Structure, but will it be overkill for your application?
  • XNA has class Microsoft.XNA.Framework.Vector3
  • Unity3D has a Vector3 class for Representation of 3D vectors and points.
  • OpenTK also represents a 3D vector using three single-precision floating-point numbers.

Upvotes: 3

Related Questions