diff --git a/源代码/.vs/ProjectEvaluation/stgsharp.metadata.v5.1 b/源代码/.vs/ProjectEvaluation/stgsharp.metadata.v5.1
index 2792a768..dbc0d15b 100644
Binary files a/源代码/.vs/ProjectEvaluation/stgsharp.metadata.v5.1 and b/源代码/.vs/ProjectEvaluation/stgsharp.metadata.v5.1 differ
diff --git a/源代码/.vs/ProjectEvaluation/stgsharp.projects.v5.1 b/源代码/.vs/ProjectEvaluation/stgsharp.projects.v5.1
index 3e6dd096..6e865dd1 100644
Binary files a/源代码/.vs/ProjectEvaluation/stgsharp.projects.v5.1 and b/源代码/.vs/ProjectEvaluation/stgsharp.projects.v5.1 differ
diff --git a/源代码/.vs/StgSharp/DesignTimeBuild/.dtbcache.v2 b/源代码/.vs/StgSharp/DesignTimeBuild/.dtbcache.v2
index f1cc7805..5608fd45 100644
Binary files a/源代码/.vs/StgSharp/DesignTimeBuild/.dtbcache.v2 and b/源代码/.vs/StgSharp/DesignTimeBuild/.dtbcache.v2 differ
diff --git a/源代码/.vs/StgSharp/FileContentIndex/281267bd-19ef-4eed-ab2d-f26258ceb8da.vsidx b/源代码/.vs/StgSharp/FileContentIndex/281267bd-19ef-4eed-ab2d-f26258ceb8da.vsidx
deleted file mode 100644
index df2c604b..00000000
Binary files a/源代码/.vs/StgSharp/FileContentIndex/281267bd-19ef-4eed-ab2d-f26258ceb8da.vsidx and /dev/null differ
diff --git a/源代码/.vs/StgSharp/FileContentIndex/772ea82e-2cca-4ccd-95ec-d379d105eb3c.vsidx b/源代码/.vs/StgSharp/FileContentIndex/772ea82e-2cca-4ccd-95ec-d379d105eb3c.vsidx
deleted file mode 100644
index 9a1909a7..00000000
Binary files a/源代码/.vs/StgSharp/FileContentIndex/772ea82e-2cca-4ccd-95ec-d379d105eb3c.vsidx and /dev/null differ
diff --git a/源代码/.vs/StgSharp/FileContentIndex/c155612a-959a-47b2-a130-cc11410b0145.vsidx b/源代码/.vs/StgSharp/FileContentIndex/c155612a-959a-47b2-a130-cc11410b0145.vsidx
new file mode 100644
index 00000000..93be94f4
Binary files /dev/null and b/源代码/.vs/StgSharp/FileContentIndex/c155612a-959a-47b2-a130-cc11410b0145.vsidx differ
diff --git a/源代码/.vs/StgSharp/FileContentIndex/cc2d6458-9702-4d41-b948-e52b7bb39066.vsidx b/源代码/.vs/StgSharp/FileContentIndex/cc2d6458-9702-4d41-b948-e52b7bb39066.vsidx
deleted file mode 100644
index b6bfda94..00000000
Binary files a/源代码/.vs/StgSharp/FileContentIndex/cc2d6458-9702-4d41-b948-e52b7bb39066.vsidx and /dev/null differ
diff --git a/源代码/.vs/StgSharp/FileContentIndex/e1b78524-447f-4554-953e-4302fcbd569a.vsidx b/源代码/.vs/StgSharp/FileContentIndex/e1b78524-447f-4554-953e-4302fcbd569a.vsidx
deleted file mode 100644
index 5fc40860..00000000
Binary files a/源代码/.vs/StgSharp/FileContentIndex/e1b78524-447f-4554-953e-4302fcbd569a.vsidx and /dev/null differ
diff --git a/源代码/.vs/StgSharp/FileContentIndex/e7fb216e-c54c-4c91-8bb1-8cf1027a90c0.vsidx b/源代码/.vs/StgSharp/FileContentIndex/e7fb216e-c54c-4c91-8bb1-8cf1027a90c0.vsidx
new file mode 100644
index 00000000..1437c2de
Binary files /dev/null and b/源代码/.vs/StgSharp/FileContentIndex/e7fb216e-c54c-4c91-8bb1-8cf1027a90c0.vsidx differ
diff --git a/源代码/.vs/StgSharp/FileContentIndex/f720ebf3-8217-447c-8806-fee567b48181.vsidx b/源代码/.vs/StgSharp/FileContentIndex/f720ebf3-8217-447c-8806-fee567b48181.vsidx
new file mode 100644
index 00000000..1e0367cc
Binary files /dev/null and b/源代码/.vs/StgSharp/FileContentIndex/f720ebf3-8217-447c-8806-fee567b48181.vsidx differ
diff --git a/源代码/.vs/StgSharp/FileContentIndex/f74488ce-4718-4b87-ad0b-39ff61ff090b.vsidx b/源代码/.vs/StgSharp/FileContentIndex/f74488ce-4718-4b87-ad0b-39ff61ff090b.vsidx
new file mode 100644
index 00000000..0b85d902
Binary files /dev/null and b/源代码/.vs/StgSharp/FileContentIndex/f74488ce-4718-4b87-ad0b-39ff61ff090b.vsidx differ
diff --git a/源代码/.vs/StgSharp/v17/.futdcache.v2 b/源代码/.vs/StgSharp/v17/.futdcache.v2
index 1f9e5709..4d2e2dfa 100644
Binary files a/源代码/.vs/StgSharp/v17/.futdcache.v2 and b/源代码/.vs/StgSharp/v17/.futdcache.v2 differ
diff --git a/源代码/.vs/StgSharp/v17/.suo b/源代码/.vs/StgSharp/v17/.suo
index 28401779..c4f3383a 100644
Binary files a/源代码/.vs/StgSharp/v17/.suo and b/源代码/.vs/StgSharp/v17/.suo differ
diff --git a/源代码/StgSharp/Geometries/Arc.cs b/源代码/StgSharp/Geometries/Arc.cs
index 00856241..ec2516f8 100644
--- a/源代码/StgSharp/Geometries/Arc.cs
+++ b/源代码/StgSharp/Geometries/Arc.cs
@@ -1,8 +1,10 @@
using Steamworks;
+using StgSharp.Linear;
using StgSharp.Math;
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
using System.Text;
namespace StgSharp.Geometries
@@ -11,8 +13,8 @@ namespace StgSharp.Geometries
{
internal Point _basePoint;
internal Point _center;
- internal Point _radius;
- internal Point _angle;
+ internal Point _beginPoint;
+ internal Point _endPoint;
internal RenderMode _renderMode;
internal readonly uint bornTick;
@@ -26,13 +28,13 @@ namespace StgSharp.Geometries
bornTick = tickCounter._value;
}
- public override Point BasePoint => _basePoint;
+ public override Point RefOrigin => _basePoint;
public override Point RefPoint => _center;
- public override Point RefVec01 => _radius;
+ public override Point RefVec01 => _beginPoint;
- public override Point RefVec02 => _angle;
+ public override Point RefVec02 => _endPoint;
public override RenderMode renderMode => _renderMode;
@@ -45,12 +47,12 @@ namespace StgSharp.Geometries
internal sealed override void CalcVec02(vec3d vec, uint tick)
{
- _radius._position = vec + UpdateRadius(tick);
+ _beginPoint._position = vec + UpdateRadius(tick);
}
internal sealed override void CalcVec03(vec3d vec, uint tick)
{
- _angle._position = vec + UpdateAngle(tick);
+ _endPoint._position = vec + UpdateAngle(tick);
}
public virtual vec3d MoveCenter(uint tick) => default;
@@ -88,7 +90,11 @@ namespace StgSharp.Geometries
throw new NotImplementedException();
}
+ public override Line[] GetAllSides() => throw new NotImplementedException();
-
+ public override Plain GetPlain()
+ {
+ return new Plain(this._center,this._beginPoint,this._endPoint);
+ }
}
}
diff --git a/源代码/StgSharp/Geometries/Circle.cs b/源代码/StgSharp/Geometries/Circle.cs
index 4f6334aa..ecd2ef3b 100644
--- a/源代码/StgSharp/Geometries/Circle.cs
+++ b/源代码/StgSharp/Geometries/Circle.cs
@@ -15,7 +15,7 @@ namespace StgSharp.Geometries
internal RenderMode _renderMode;
internal readonly uint bornTick;
- public override Point BasePoint => _baseCenter;
+ public override Point RefOrigin => _baseCenter;
public override Point RefPoint => _center;
diff --git a/源代码/StgSharp/Geometries/ToUpperDimensionException.cs b/源代码/StgSharp/Geometries/GemoryException.cs
similarity index 51%
rename from 源代码/StgSharp/Geometries/ToUpperDimensionException.cs
rename to 源代码/StgSharp/Geometries/GemoryException.cs
index aaaabb03..a22c988f 100644
--- a/源代码/StgSharp/Geometries/ToUpperDimensionException.cs
+++ b/源代码/StgSharp/Geometries/GemoryException.cs
@@ -23,4 +23,26 @@ namespace StgSharp.Geometries
{
}
}
+
+ ///
+ /// 当几何体调用了过多的CalcVec方法时,产生UnusedVertexException异常
+ ///
+ public class UnusedVertexException : Exception
+ {
+ public UnusedVertexException()
+ {
+ }
+
+ public UnusedVertexException(string message) : base(message)
+ {
+ }
+
+ public UnusedVertexException(string message, Exception innerException) : base(message, innerException)
+ {
+ }
+
+ protected UnusedVertexException(SerializationInfo info, StreamingContext context) : base(info, context)
+ {
+ }
+ }
}
diff --git a/源代码/StgSharp/Geometries/IPlainGeometry.cs b/源代码/StgSharp/Geometries/IPlainGeometry.cs
index 2d7b3ed7..339b9515 100644
--- a/源代码/StgSharp/Geometries/IPlainGeometry.cs
+++ b/源代码/StgSharp/Geometries/IPlainGeometry.cs
@@ -6,11 +6,15 @@ using System.Text;
namespace StgSharp.Geometries
{
+
+ ///
+ /// 平面几何体。包含三角形,对称四边形,自由多边形等。最多可由16个点参数定义。
+ ///
public abstract class IPlainGeometry:INode
{
private readonly uint bornTick;
- public abstract Point BasePoint { get; }
+ public abstract Point RefOrigin { get; }
public abstract Point RefPoint{ get; }
public abstract Point RefVec01{ get; }
public abstract Point RefVec02{ get; }
@@ -31,6 +35,21 @@ namespace StgSharp.Geometries
internal abstract void CalcVec01(uint tick);
internal abstract void CalcVec02(vec3d vec, uint tick);
internal abstract void CalcVec03(vec3d vec, uint tick);
+ internal abstract void CalcVec04(vec3d vec, uint tick);
+ internal abstract void CalcVec05(vec3d vec, uint tick);
+ internal abstract void CalcVec06(vec3d vec, uint tick);
+ internal abstract void CalcVec07(vec3d vec, uint tick);
+ internal abstract void CalcVec08(vec3d vec, uint tick);
+ internal abstract void CalcVec09(vec3d vec, uint tick);
+ internal abstract void CalcVec10(vec3d vec, uint tick);
+ internal abstract void CalcVec11(vec3d vec, uint tick);
+ internal abstract void CalcVec12(vec3d vec, uint tick);
+ internal abstract void CalcVec13(vec3d vec, uint tick);
+ internal abstract void CalcVec14(vec3d vec, uint tick);
+ internal abstract void CalcVec15(vec3d vec, uint tick);
+ internal abstract void CalcVec16(vec3d vec, uint tick);
+
+
internal abstract void OnRender(uint tick);
public abstract RenderMode renderMode { get; }
diff --git a/源代码/StgSharp/Geometries/IPlainGeometryCombination.cs b/源代码/StgSharp/Geometries/IPlainGeometryCombination.cs
deleted file mode 100644
index 0232a965..00000000
--- a/源代码/StgSharp/Geometries/IPlainGeometryCombination.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace StgSharp.Geometries
-{
- public abstract class IPlainGeometryCombination:LinkedList
- {
- internal readonly uint _bornTick;
-
- internal abstract void toSimpleGeometry();
-
- public IPlainGeometryCombination(uint bornTime)
- {
- _bornTick = bornTime;
- }
-
- public IPlainGeometryCombination(Counter timer)
- {
- _bornTick = timer._value;
- }
-
- public IPlainGeometryCombination()
- {
-
- }
- }
-}
diff --git a/源代码/StgSharp/Geometries/Line.cs b/源代码/StgSharp/Geometries/Line.cs
index ebc4e91d..2e1a0352 100644
--- a/源代码/StgSharp/Geometries/Line.cs
+++ b/源代码/StgSharp/Geometries/Line.cs
@@ -1,6 +1,7 @@
using Steamworks;
using StgSharp;
using StgSharp.Control;
+using StgSharp.Linear;
using StgSharp.Math;
using System;
using System.Collections.Generic;
@@ -18,7 +19,7 @@ namespace StgSharp.Geometries
internal RenderMode _renderMode;
internal readonly uint bornTick;
- public override Point BasePoint => _basePoint;
+ public override Point RefOrigin => _basePoint;
public override Point RefPoint => _beginPoint;
@@ -98,5 +99,10 @@ namespace StgSharp.Geometries
{
throw new NotImplementedException();
}
+
+ public override Plain GetPlain()
+ {
+ throw new ToUpperDimensionException();
+ }
}
}
diff --git a/源代码/StgSharp/Geometries/Parallelogram.cs b/源代码/StgSharp/Geometries/Parallelogram.cs
index dd83286e..f9863768 100644
--- a/源代码/StgSharp/Geometries/Parallelogram.cs
+++ b/源代码/StgSharp/Geometries/Parallelogram.cs
@@ -1,4 +1,5 @@
using StgSharp.Control;
+using StgSharp.Linear;
using StgSharp.Math;
using System;
using System.Collections.Generic;
@@ -15,7 +16,7 @@ namespace StgSharp.Geometries
internal RenderMode _renderMode;
internal readonly uint bornTick;
- public override sealed Point BasePoint => _basePoint;
+ public override sealed Point RefOrigin => _basePoint;
public override sealed Point RefPoint => _center;
public override sealed Point RefVec01 => _vertex1;
@@ -123,6 +124,10 @@ namespace StgSharp.Geometries
return sides;
}
+ public override Plain GetPlain()
+ {
+ return new Plain(this._center, this._vertex1,this._vertex2);
+ }
protected vec3d GetVertex3(Counter tick)
{
diff --git a/源代码/StgSharp/Geometries/Point.cs b/源代码/StgSharp/Geometries/Point.cs
index f7b76d77..f6eee237 100644
--- a/源代码/StgSharp/Geometries/Point.cs
+++ b/源代码/StgSharp/Geometries/Point.cs
@@ -28,17 +28,17 @@ namespace StgSharp.Geometries
public bool IsInGeometry(IPlainGeometry geo)
{
-
+ throw new NotImplementedException();
}
public bool IsInGeometry(IPlainGeometryCombination geo)
{
-
+ throw new NotImplementedException();
}
- public bool IsInPlain(IPlainGeometry geo)
+ public bool IsOnPlain(IPlainGeometry geo)
{
-
+ return this._position * geo.GetPlain().plainParameter == 1;
}
}
diff --git a/源代码/StgSharp/Geometries/Polygon.cs b/源代码/StgSharp/Geometries/Polygon.cs
index f4c9b926..8c4a8725 100644
--- a/源代码/StgSharp/Geometries/Polygon.cs
+++ b/源代码/StgSharp/Geometries/Polygon.cs
@@ -1,48 +1,132 @@
-using System;
+using StgSharp.Linear;
+using StgSharp.Math;
+using System;
using System.Collections.Generic;
using System.Numerics;
using System.Text;
namespace StgSharp.Geometries
{
- public class Polygon : IPlainGeometryCombination
+ public class Polygon : IPlainGeometry
{
- internal Point[] pointsArray;
+ internal Point _refOrigin;
+ internal Point[] vertexArray ;
+ internal RenderMode _renderMode;
+ internal readonly int _vertexCount;
- public Polygon(uint bornTime) : base(bornTime)
+ public override Point RefOrigin => _refOrigin;
+
+ public override Point RefPoint => vertexArray[0];
+
+ public override Point RefVec01 => throw new NotImplementedException();
+
+ public override Point RefVec02 => throw new NotImplementedException();
+
+ public override RenderMode renderMode => throw new NotImplementedException();
+
+ internal override void CalcVec01(uint tick)
{
-
+ throw new NotImplementedException();
}
- public Polygon(int pointNum)
+ internal override void CalcVec02(vec3d vec, uint tick)
{
- pointsArray = new Point[pointNum];
- this.toSimpleGeometry();
+ throw new NotImplementedException();
}
- public Polygon(Point[] pointsArray)
+ internal override void CalcVec03(vec3d vec, uint tick)
{
- PointsArray = pointsArray;
- this.toSimpleGeometry();
+ throw new NotImplementedException();
}
- internal override void toSimpleGeometry()
+ internal override void CalcVec04(vec3d vec, uint tick)
{
- Point begin = pointsArray[0];
- for (int i = 1; i <= pointsArray.Length; i++)
- {
- Triangle a = new Triangle(this._bornTick);
- this.Add(a);
- }
-
+ throw new NotImplementedException();
}
- public Point[] PointsArray
+ internal override void CalcVec05(vec3d vec, uint tick)
{
- get { return pointsArray; }
- set { pointsArray = value; }
+ throw new NotImplementedException();
}
+ internal override void CalcVec06(vec3d vec, uint tick)
+ {
+ throw new NotImplementedException();
+ }
+ internal override void CalcVec07(vec3d vec, uint tick)
+ {
+ throw new NotImplementedException();
+ }
+
+ internal override void CalcVec08(vec3d vec, uint tick)
+ {
+ throw new NotImplementedException();
+ }
+
+ internal override void CalcVec09(vec3d vec, uint tick)
+ {
+ throw new NotImplementedException();
+ }
+
+ internal override void CalcVec10(vec3d vec, uint tick)
+ {
+ throw new NotImplementedException();
+ }
+
+ internal override void CalcVec11(vec3d vec, uint tick)
+ {
+ throw new NotImplementedException();
+ }
+
+ internal override void CalcVec12(vec3d vec, uint tick)
+ {
+ throw new NotImplementedException();
+ }
+
+ internal override void CalcVec13(vec3d vec, uint tick)
+ {
+ throw new NotImplementedException();
+ }
+
+ internal override void CalcVec14(vec3d vec, uint tick)
+ {
+ throw new NotImplementedException();
+ }
+
+ internal override void CalcVec15(vec3d vec, uint tick)
+ {
+ throw new NotImplementedException();
+ }
+
+ internal override void CalcVec16(vec3d vec, uint tick)
+ {
+ throw new NotImplementedException();
+ }
+
+ internal override void OnRender(uint tick)
+ {
+ throw new NotImplementedException();
+ }
+
+ public override float SetArrayX()
+ {
+ throw new NotImplementedException();
+ }
+
+ public override float SetArrayY()
+ {
+ throw new NotImplementedException();
+ }
+
+ public override Line[] GetAllSides()
+ {
+ throw new NotImplementedException();
+ }
+
+ public override Plain GetPlain()
+ {
+ throw new NotImplementedException();
+ }
}
}
diff --git a/源代码/StgSharp/Geometries/Rectangle.cs b/源代码/StgSharp/Geometries/Rectangle.cs
index c28864e1..35c9c397 100644
--- a/源代码/StgSharp/Geometries/Rectangle.cs
+++ b/源代码/StgSharp/Geometries/Rectangle.cs
@@ -16,7 +16,7 @@ namespace StgSharp.Geometries
internal RenderMode _renderMode;
internal readonly uint bornTick;
- public override sealed Point BasePoint => _basePoint;
+ public override sealed Point RefOrigin => _basePoint;
public override sealed Point RefPoint=>_center;
public override sealed Point RefVec01 => _vertex1;
@@ -148,7 +148,7 @@ namespace StgSharp.Geometries
public override Plain GetPlain()
{
- return new Plain(_vertex1._position, );
+ return new Plain(this._center, this._vertex1,this._vertex2);
}
protected vec3d GetVertex3(Counter tick)
diff --git a/源代码/StgSharp/Geometries/Triangle.cs b/源代码/StgSharp/Geometries/Triangle.cs
index 377fad44..0e8682ef 100644
--- a/源代码/StgSharp/Geometries/Triangle.cs
+++ b/源代码/StgSharp/Geometries/Triangle.cs
@@ -1,4 +1,5 @@
using StgSharp;
+using StgSharp.Linear;
using StgSharp.Math;
using System;
using System.Collections.Generic;
@@ -16,7 +17,7 @@ namespace StgSharp.Geometries
internal RenderMode _renderMode;
internal readonly uint bornTick;
- public override sealed Point BasePoint => _basePoint;
+ public override sealed Point RefOrigin => _basePoint;
public override sealed Point RefPoint=>_vertex1;
@@ -63,8 +64,8 @@ namespace StgSharp.Geometries
switch (_renderMode)
{
case RenderMode.BasePoint:
- CalcVec02(BasePoint._position,tick);
- CalcVec03(BasePoint._position,tick);
+ CalcVec02(RefOrigin._position,tick);
+ CalcVec03(RefOrigin._position,tick);
break;
case RenderMode.RefPoint:
CalcVec02(_vertex1._position,tick);
@@ -103,5 +104,11 @@ namespace StgSharp.Geometries
return sides;
}
+
+ public override Plain GetPlain()
+ {
+ return new Plain(this._vertex1,this._vertex2,this._vertex3);
+ }
+
}
}
diff --git a/源代码/StgSharp/Linear/Plain.cs b/源代码/StgSharp/Linear/Plain.cs
index 35e25c06..aeba1841 100644
--- a/源代码/StgSharp/Linear/Plain.cs
+++ b/源代码/StgSharp/Linear/Plain.cs
@@ -8,28 +8,28 @@ namespace StgSharp.Linear
{
public unsafe class Plain
{
+ internal vec3d origin;
internal vec3d vec1;
internal vec3d vec2;
- internal float a;
- internal float b;
- internal float c;
+ internal vec3d plainParameter;
internal readonly float d = -1 ;
- public Plain(vec3d origin, vec3d v1, vec3d v2)
+ public Plain(vec3d o, vec3d v1, vec3d v2)
{
- vec1 = v1 - v2 * (v1.Y/v2.Y); //计算平面在xz平面上的方向投影
- vec2 = v2 - vec1 * (v2.X/v1.X); //计算平面在yz平面上的方向投影
+ this.origin = o;
+ this.vec1 = v1 - v2 * (v1.Y/v2.Y); //计算平面在xz平面上的方向投影
+ this.vec2 = v2 - vec1 * (v2.X/v1.X); //计算平面在yz平面上的方向投影
- //|origin|-k1*|vec1|-k2*|vec2|计算c;
- c = origin.Z - vec1.Z * (origin.X / vec1.X) - vec2.Z * (origin.Y / vec2.Y);
- //根据c和对应的方向矢量计算a和b
- a = vec1.X * (vec1.Z / c);
- b = vec2.Y * (vec2.Z / c);
+ //|origin|-k1*|vec1|-k2*|vec2|计算plainParameter.Z;
+ plainParameter.Z = origin.Z - vec1.Z * (origin.X / vec1.X) - vec2.Z * (origin.Y / vec2.Y);
+ //根据plainParameter.Z和对应的方向矢量计算plainParameter.X和plainParameter.Y
+ plainParameter.X = vec1.X * (vec1.Z / plainParameter.Z);
+ plainParameter.Y = vec2.Y * (vec2.Z / plainParameter.Z);
- a = 1 / a;
- b = 1 / b;
- c = 1 / c;
+ plainParameter.X = 1 / plainParameter.X;
+ plainParameter.Y = 1 / plainParameter.Y;
+ plainParameter.Z = 1 / plainParameter.Z;
}
public Plain(Point p1, Point p2, Point p3)
@@ -42,15 +42,15 @@ namespace StgSharp.Linear
vec1 = v1 - v2 * (v1.Y / v2.Y); //计算平面在xz平面上的方向投影
vec2 = v2 - vec1 * (v2.X / v1.X); //计算平面在yz平面上的方向投影
- //|origin|-k1*|vec1|-k2*|vec2|计算c;
- c = origin.Z - vec1.Z * (origin.X / vec1.X) - vec2.Z * (origin.Y / vec2.Y);
- //根据c和对应的方向矢量计算a和b
- a = vec1.X * (vec1.Z / c);
- b = vec2.Y * (vec2.Z / c);
+ //|origin|-k1*|vec1|-k2*|vec2|计算plainParameter.Z;
+ plainParameter.Z = origin.Z - vec1.Z * (origin.X / vec1.X) - vec2.Z * (origin.Y / vec2.Y);
+ //根据plainParameter.Z和对应的方向矢量计算plainParameter.X和plainParameter.Y
+ plainParameter.X = vec1.X * (vec1.Z / plainParameter.Z);
+ plainParameter.Y = vec2.Y * (vec2.Z / plainParameter.Z);
- a = 1 / a;
- b = 1 / b;
- c = 1 / c;
+ plainParameter.X = 1 / plainParameter.X;
+ plainParameter.Y = 1 / plainParameter.Y;
+ plainParameter.Z = 1 / plainParameter.Z;
}
}
diff --git a/源代码/StgSharp/obj/Debug/netstandard2.1/StgSharp.csproj.CoreCompileInputs.cache b/源代码/StgSharp/obj/Debug/netstandard2.1/StgSharp.csproj.CoreCompileInputs.cache
index 4096f5f2..8dc5d867 100644
--- a/源代码/StgSharp/obj/Debug/netstandard2.1/StgSharp.csproj.CoreCompileInputs.cache
+++ b/源代码/StgSharp/obj/Debug/netstandard2.1/StgSharp.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-ce46d1bdaa8770ceaaf7ed3e62af2643adc523f6
+ff849decdf788400d580af0a2c6cad5f58d8e017