From 41013d6581e49b694f78b24ccc9b118a4b7894f5 Mon Sep 17 00:00:00 2001 From: BlackAngle233 <45509412+BlackAngle233@users.noreply.github.com> Date: Tue, 10 Nov 2020 14:31:56 +0800 Subject: [PATCH] 11.10 update --- MRTK test/Assets/Prefabs/Ellipse.prefab | 333 ----------------- MRTK test/Assets/Prefabs/GameObject.prefab | 94 ----- MRTK test/Assets/Prefabs/Spline.prefab | 346 ------------------ MRTK test/Assets/Scenes/SampleScene.unity | 171 +++++---- MRTK test/Assets/Scripts/Calculator2D.cs | 284 ++++++++++++++ MRTK test/Assets/Scripts/Calculator3D.cs | 289 +++++++++++++++ .../Assets/Scripts/Functions/Customized.cs | 74 ++++ MRTK test/Assets/Scripts/Functions/Ellipse.cs | 60 +++ .../Assets/Scripts/Functions/Exponential.cs | 57 +++ .../Assets/Scripts/Functions/Hyperbola.cs | 84 +++++ .../Assets/Scripts/Functions/InverseTri.cs | 123 +++++++ .../Assets/Scripts/Functions/Logarithmic.cs | 56 +++ MRTK test/Assets/Scripts/Functions/Spline.cs | 65 ++++ MRTK test/Assets/Scripts/Functions/ThreeD.cs | 77 ++++ .../Assets/Scripts/Functions/Trigonometric.cs | 99 +++++ .../Assets/Scripts/NormalFunctionTest.cs | 5 +- doc/10.27/10.27.md | 1 + doc/11.10/11.10.md | 10 + doc/11.3/11.3.md | 14 + 19 files changed, 1392 insertions(+), 850 deletions(-) delete mode 100644 MRTK test/Assets/Prefabs/Ellipse.prefab delete mode 100644 MRTK test/Assets/Prefabs/GameObject.prefab delete mode 100644 MRTK test/Assets/Prefabs/Spline.prefab create mode 100644 MRTK test/Assets/Scripts/Calculator2D.cs create mode 100644 MRTK test/Assets/Scripts/Calculator3D.cs create mode 100644 MRTK test/Assets/Scripts/Functions/Customized.cs create mode 100644 MRTK test/Assets/Scripts/Functions/Ellipse.cs create mode 100644 MRTK test/Assets/Scripts/Functions/Exponential.cs create mode 100644 MRTK test/Assets/Scripts/Functions/Hyperbola.cs create mode 100644 MRTK test/Assets/Scripts/Functions/InverseTri.cs create mode 100644 MRTK test/Assets/Scripts/Functions/Logarithmic.cs create mode 100644 MRTK test/Assets/Scripts/Functions/Spline.cs create mode 100644 MRTK test/Assets/Scripts/Functions/ThreeD.cs create mode 100644 MRTK test/Assets/Scripts/Functions/Trigonometric.cs create mode 100644 doc/11.10/11.10.md create mode 100644 doc/11.3/11.3.md diff --git a/MRTK test/Assets/Prefabs/Ellipse.prefab b/MRTK test/Assets/Prefabs/Ellipse.prefab deleted file mode 100644 index 3f83526f..00000000 --- a/MRTK test/Assets/Prefabs/Ellipse.prefab +++ /dev/null @@ -1,333 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &1483626023200906509 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1483626023200906506} - - component: {fileID: 1483626023200906505} - - component: {fileID: 1483626023200906504} - - component: {fileID: 1483626023200906507} - m_Layer: 0 - m_Name: Ellipse - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1483626023200906506 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1483626023200906509} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -1.053, y: 0, z: 0.944} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1483626023200906505 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1483626023200906509} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 094a6569e4454601b5928e64472d5228, type: 3} - m_Name: - m_EditorClassIdentifier: - lineStartClamp: 0.0001 - lineEndClamp: 0.9999 - customLineTransform: {fileID: 0} - loops: 1 - transformMode: 0 - rotationMode: 1 - flipUpVector: 0 - originOffset: {x: 0, y: 0, z: 0} - manualUpVectorBlend: 0 - manualUpVectors: - - {x: 0, y: 1, z: 0} - - {x: 0, y: 1, z: 0} - - {x: 0, y: 1, z: 0} - velocitySearchRange: 0.02 - distorters: [] - distortionEnabled: 1 - distortionMode: 0 - distortionStrength: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - uniformDistortionStrength: 1 - resolution: 36 - radius: {x: 0.5, y: 0.25} ---- !u!120 &1483626023200906504 -LineRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1483626023200906509} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 0 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_RayTracingMode: 0 - m_RenderingLayerMask: 4294967295 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: ddc1013c5e7bc0841bf61884ea0f39cd, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_Positions: - - {x: -0.5530001, y: -0.4128429, z: 1.587} - - {x: -0.5632943, y: -0.36253142, z: 1.587} - - {x: -0.593629, y: -0.3142853, z: 1.587} - - {x: -0.642763, y: -0.27007896, z: 1.587} - - {x: -0.7086855, y: -0.23172152, z: 1.587} - - {x: -0.78869855, y: -0.20078266, z: 1.587} - - {x: -0.8795279, y: -0.17852853, z: 1.587} - - {x: -0.97745633, y: -0.16586988, z: 1.587} - - {x: -1.0784763, y: -0.16332471, z: 1.587} - - {x: -1.1784538, y: -0.17099722, z: 1.587} - - {x: -1.2732971, y: -0.18857338, z: 1.587} - - {x: -1.3591251, y: -0.21533398, z: 1.587} - - {x: -1.4324253, y: -0.25018376, z: 1.587} - - {x: -1.4901979, y: -0.29169664, z: 1.587} - - {x: -1.5300786, y: -0.33817366, z: 1.587} - - {x: -1.5504357, y: -0.38771296, z: 1.587} - - {x: -1.5504357, y: -0.43828705, z: 1.587} - - {x: -1.5300786, y: -0.48782626, z: 1.587} - - {x: -1.4901979, y: -0.53430325, z: 1.587} - - {x: -1.4324253, y: -0.5758162, z: 1.587} - - {x: -1.3591251, y: -0.610666, z: 1.587} - - {x: -1.2732972, y: -0.63742656, z: 1.587} - - {x: -1.1784538, y: -0.6550027, z: 1.587} - - {x: -1.0784763, y: -0.66267526, z: 1.587} - - {x: -0.97745633, y: -0.6601301, z: 1.587} - - {x: -0.87952805, y: -0.6474715, z: 1.587} - - {x: -0.7886987, y: -0.6252173, z: 1.587} - - {x: -0.7086854, y: -0.5942784, z: 1.587} - - {x: -0.6427631, y: -0.555921, z: 1.587} - - {x: -0.59362906, y: -0.5117147, z: 1.587} - - {x: -0.5632943, y: -0.46346855, z: 1.587} - - {x: -0.5530001, y: -0.41315708, z: 1.587} - m_Parameters: - serializedVersion: 3 - widthMultiplier: 0.18 - widthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - colorGradient: - serializedVersion: 2 - key0: {r: 0.0047169924, g: 0.56144017, b: 1, a: 1} - key1: {r: 0.0047169924, g: 0.56144017, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - numCornerVertices: 8 - numCapVertices: 8 - alignment: 0 - textureMode: 0 - shadowBias: 0 - generateLightingData: 0 - m_UseWorldSpace: 1 - m_Loop: 1 ---- !u!114 &1483626023200906507 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1483626023200906509} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1287d4d138a242f794bcfc01354d3ae2, type: 3} - m_Name: - m_EditorClassIdentifier: - lineDataSource: {fileID: 1483626023200906505} - lineColor: - serializedVersion: 2 - key0: {r: 0.0047169924, g: 0.56144017, b: 1, a: 1} - key1: {r: 0.0047169924, g: 0.56144017, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - lineWidth: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - widthMultiplier: 0.18 - colorOffset: 0 - widthOffset: 0 - stepMode: 0 - lineStepCount: 32 - pointDistributionMode: 1 - customPointDistributionLength: 0.1 - customPointDistributionCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - lineMaterial: {fileID: 2100000, guid: ddc1013c5e7bc0841bf61884ea0f39cd, type: 2} - roundedEdges: 1 - roundedCaps: 1 - fadeLineBrightnessOnEnable: 1 - fadeLinePercentage: 0.55 - fadeLineAnimationTime: 0.65 - lineRenderer: {fileID: 1483626023200906504} - tileMaterialByWorldLength: 0 - tileMaterialScale: 1 diff --git a/MRTK test/Assets/Prefabs/GameObject.prefab b/MRTK test/Assets/Prefabs/GameObject.prefab deleted file mode 100644 index 869bc02a..00000000 --- a/MRTK test/Assets/Prefabs/GameObject.prefab +++ /dev/null @@ -1,94 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &7066675710225985741 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7066675710225985728} - - component: {fileID: 7066675710225985731} - - component: {fileID: 7066675710225985730} - - component: {fileID: 7066675710225985729} - m_Layer: 0 - m_Name: GameObject - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7066675710225985728 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7066675710225985741} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &7066675710225985731 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7066675710225985741} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 0} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 ---- !u!33 &7066675710225985730 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7066675710225985741} - m_Mesh: {fileID: 0} ---- !u!114 &7066675710225985729 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7066675710225985741} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: c6bf611f908edb54cb58db1ada6b1124, type: 3} - m_Name: - m_EditorClassIdentifier: diff --git a/MRTK test/Assets/Prefabs/Spline.prefab b/MRTK test/Assets/Prefabs/Spline.prefab deleted file mode 100644 index 027156c3..00000000 --- a/MRTK test/Assets/Prefabs/Spline.prefab +++ /dev/null @@ -1,346 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &3367021541490072152 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3367021541490072102} - - component: {fileID: 3367021541490072153} - - component: {fileID: 3367021541490072100} - - component: {fileID: 3367021541490072103} - m_Layer: 0 - m_Name: Spline - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3367021541490072102 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3367021541490072152} - m_LocalRotation: {x: 0, y: 1, z: 0, w: 0} - m_LocalPosition: {x: -2, y: 0, z: 0.965} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} ---- !u!114 &3367021541490072153 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3367021541490072152} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4196b75e9e3b4d0c95239473ccc333b8, type: 3} - m_Name: - m_EditorClassIdentifier: - lineStartClamp: 0.0001 - lineEndClamp: 0.9999 - customLineTransform: {fileID: 0} - loops: 0 - transformMode: 0 - rotationMode: 1 - flipUpVector: 0 - originOffset: {x: 0, y: 0, z: 0} - manualUpVectorBlend: 0 - manualUpVectors: - - {x: 0, y: 1, z: 0} - - {x: 0, y: 1, z: 0} - velocitySearchRange: 0.02 - distorters: [] - distortionEnabled: 1 - distortionMode: 0 - distortionStrength: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - uniformDistortionStrength: 1 - controlPoints: - - position: {x: 0, y: 0, z: 0} - rotation: {x: 0, y: 0, z: 0, w: 1} - - position: {x: 0.5928917, y: 0.0418154, z: 0.0034427047} - rotation: {x: 0, y: 0, z: 0, w: 1} - - position: {x: 0.47503617, y: 0.3083095, z: 0.5011646} - rotation: {x: 0, y: 0, z: 0, w: 1} - - position: {x: 0, y: 0.5, z: 0.5} - rotation: {x: 0, y: 0, z: 0, w: 1} - - position: {x: -0.44839406, y: 0.6809397, z: 0.49890068} - rotation: {x: 0, y: 0, z: 0, w: 1} - - position: {x: -0.49537897, y: 0.78584373, z: 0.007106304} - rotation: {x: 0, y: 0, z: 0, w: 1} - - position: {x: 0, y: 1, z: 0} - rotation: {x: 0, y: 0, z: 0, w: 1} - alignAllControlPoints: 1 ---- !u!120 &3367021541490072100 -LineRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3367021541490072152} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 0 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_RayTracingMode: 0 - m_RenderingLayerMask: 4294967295 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: ddc1013c5e7bc0841bf61884ea0f39cd, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_Positions: - - {x: -2.0003557, y: -0.41297486, z: 1.6079979} - - {x: -2.106255, y: -0.40214247, z: 1.6013929} - - {x: -2.1949825, y: -0.38618496, z: 1.5840528} - - {x: -2.2671075, y: -0.36558452, z: 1.5575771} - - {x: -2.323199, y: -0.34082347, z: 1.5235649} - - {x: -2.3638265, y: -0.31238395, z: 1.4836156} - - {x: -2.3895595, y: -0.2807483, z: 1.4393282} - - {x: -2.400967, y: -0.24639878, z: 1.3923023} - - {x: -2.3986185, y: -0.20981754, z: 1.3441367} - - {x: -2.3830833, y: -0.17148685, z: 1.2964311} - - {x: -2.3549309, y: -0.13188899, z: 1.2507844} - - {x: -2.3147306, y: -0.09150618, z: 1.208796} - - {x: -2.2630515, y: -0.05082071, z: 1.1720653} - - {x: -2.200463, y: -0.010314673, z: 1.1421912} - - {x: -2.1275346, y: 0.029529482, z: 1.1207733} - - {x: -2.0448356, y: 0.068229645, z: 1.1094108} - - {x: -1.9578731, y: 0.10427576, z: 1.1096048} - - {x: -1.8812482, y: 0.13755274, z: 1.1212165} - - {x: -1.8149846, y: 0.16937917, z: 1.1427219} - - {x: -1.7593092, y: 0.2000534, z: 1.1725506} - - {x: -1.7144489, y: 0.2298736, z: 1.2091317} - - {x: -1.6806309, y: 0.25913835, z: 1.2508949} - - {x: -1.6580819, y: 0.2881459, z: 1.2962692} - - {x: -1.6470289, y: 0.31719482, z: 1.3436844} - - {x: -1.6476992, y: 0.34658313, z: 1.3915696} - - {x: -1.6603196, y: 0.37660939, z: 1.4383541} - - {x: -1.6851168, y: 0.4075719, z: 1.4824675} - - {x: -1.7223182, y: 0.4397692, z: 1.5223393} - - {x: -1.7721504, y: 0.47349942, z: 1.5563985} - - {x: -1.8348407, y: 0.5090609, z: 1.5830748} - - {x: -1.9106157, y: 0.54675215, z: 1.6007974} - - {x: -1.9997029, y: 0.58687156, z: 1.6079956} - m_Parameters: - serializedVersion: 3 - widthMultiplier: 0.42 - widthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 2.1987011 - outSlope: 2.1987011 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0.16707118 - - serializedVersion: 3 - time: 1 - value: 0.006248474 - inSlope: -1.8448529 - outSlope: -1.8448529 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.18141192 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - colorGradient: - serializedVersion: 2 - key0: {r: 0.6292379, g: 0.37166253, b: 0.9056604, a: 1} - key1: {r: 1, g: 0, b: 0, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - numCornerVertices: 8 - numCapVertices: 8 - alignment: 0 - textureMode: 0 - shadowBias: 0 - generateLightingData: 0 - m_UseWorldSpace: 1 - m_Loop: 0 ---- !u!114 &3367021541490072103 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3367021541490072152} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1287d4d138a242f794bcfc01354d3ae2, type: 3} - m_Name: - m_EditorClassIdentifier: - lineDataSource: {fileID: 3367021541490072153} - lineColor: - serializedVersion: 2 - key0: {r: 0.6292379, g: 0.37166253, b: 0.9056604, a: 1} - key1: {r: 1, g: 0, b: 0, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - lineWidth: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 2.1987011 - outSlope: 2.1987011 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0.16707118 - - serializedVersion: 3 - time: 1 - value: 0.006248474 - inSlope: -1.8448529 - outSlope: -1.8448529 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.18141192 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - widthMultiplier: 0.42 - colorOffset: 0 - widthOffset: 0 - stepMode: 0 - lineStepCount: 32 - pointDistributionMode: 1 - customPointDistributionLength: 0.1 - customPointDistributionCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - lineMaterial: {fileID: 2100000, guid: ddc1013c5e7bc0841bf61884ea0f39cd, type: 2} - roundedEdges: 1 - roundedCaps: 1 - fadeLineBrightnessOnEnable: 1 - fadeLinePercentage: 0.55 - fadeLineAnimationTime: 0.65 - lineRenderer: {fileID: 3367021541490072100} - tileMaterialByWorldLength: 0 - tileMaterialScale: 1 diff --git a/MRTK test/Assets/Scenes/SampleScene.unity b/MRTK test/Assets/Scenes/SampleScene.unity index 16b7301e..839f70fc 100644 --- a/MRTK test/Assets/Scenes/SampleScene.unity +++ b/MRTK test/Assets/Scenes/SampleScene.unity @@ -121,6 +121,103 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} +--- !u!1 &384968185 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 384968189} + - component: {fileID: 384968188} + - component: {fileID: 384968187} + - component: {fileID: 384968186} + m_Layer: 0 + m_Name: GameObject + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &384968186 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 384968185} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a6c90b73b6862d24b9b9bd76ad26b47b, type: 3} + m_Name: + m_EditorClassIdentifier: + formula: x + y + minX: -1 + maxX: 1 + minY: -1 + maxY: 1 +--- !u!33 &384968187 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 384968185} + m_Mesh: {fileID: 4300018, guid: a37785fa4a4129246a58f79132a1b6c6, type: 3} +--- !u!23 &384968188 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 384968185} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!4 &384968189 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 384968185} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 9.43} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &595124460 GameObject: m_ObjectHideFlags: 0 @@ -431,77 +528,3 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1001 &1782433715 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 7066675710225985728, guid: 6de4f243439a6ea4597b0d1d34e14ef9, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7066675710225985728, guid: 6de4f243439a6ea4597b0d1d34e14ef9, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7066675710225985728, guid: 6de4f243439a6ea4597b0d1d34e14ef9, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7066675710225985728, guid: 6de4f243439a6ea4597b0d1d34e14ef9, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7066675710225985728, guid: 6de4f243439a6ea4597b0d1d34e14ef9, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7066675710225985728, guid: 6de4f243439a6ea4597b0d1d34e14ef9, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7066675710225985728, guid: 6de4f243439a6ea4597b0d1d34e14ef9, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7066675710225985728, guid: 6de4f243439a6ea4597b0d1d34e14ef9, - type: 3} - propertyPath: m_RootOrder - value: 3 - objectReference: {fileID: 0} - - target: {fileID: 7066675710225985728, guid: 6de4f243439a6ea4597b0d1d34e14ef9, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7066675710225985728, guid: 6de4f243439a6ea4597b0d1d34e14ef9, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7066675710225985728, guid: 6de4f243439a6ea4597b0d1d34e14ef9, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7066675710225985730, guid: 6de4f243439a6ea4597b0d1d34e14ef9, - type: 3} - propertyPath: m_Mesh - value: - objectReference: {fileID: 4300018, guid: a37785fa4a4129246a58f79132a1b6c6, type: 3} - - target: {fileID: 7066675710225985741, guid: 6de4f243439a6ea4597b0d1d34e14ef9, - type: 3} - propertyPath: m_Name - value: GameObject - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 6de4f243439a6ea4597b0d1d34e14ef9, type: 3} diff --git a/MRTK test/Assets/Scripts/Calculator2D.cs b/MRTK test/Assets/Scripts/Calculator2D.cs new file mode 100644 index 00000000..ed9d67f1 --- /dev/null +++ b/MRTK test/Assets/Scripts/Calculator2D.cs @@ -0,0 +1,284 @@ +锘縰sing System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Calculator2D +{ + public static float x; + + public float getNum(string s, ref int index) + { + bool end = false; + string num = ""; + + while(!end && index < s.Length) + { + if ((s[index] >= '0' && s[index] <= '9') || s[index] == '.') + { + num += s[index]; + index++; + } + else + break; + } + index--; + return float.Parse(num); + } + //'('-0, '+-'-1,'*/'-2,'sct^l'-3 + private bool calculateStack(int prior, ref Stack<float> numstack, ref Stack<char> opstack) + { + while(opstack.Count > 0) + { + char operater = opstack.Peek(); + float num1; + float num2; + switch (operater) + { + case '+': + if (prior == 1 || prior == 2) + return true; + opstack.Pop(); + num1 = numstack.Peek(); + numstack.Pop(); + num2 = numstack.Peek(); + numstack.Pop(); + numstack.Push(num2 + num1); + break; + case '-': + if (prior == 1 || prior == 2) + return true; + opstack.Pop(); + num1 = numstack.Peek(); + numstack.Pop(); + num2 = numstack.Peek(); + numstack.Pop(); + numstack.Push(num2 - num1); + break; + case '*': + if (prior == 2) + return true; + opstack.Pop(); + num1 = numstack.Peek(); + numstack.Pop(); + num2 = numstack.Peek(); + numstack.Pop(); + numstack.Push(num2 * num1); + break; + case '/': + if (prior == 2) + return true; + opstack.Pop(); + num1 = numstack.Peek(); + numstack.Pop(); + if (num1 == 0) + return false; + num2 = numstack.Peek(); + numstack.Pop(); + numstack.Push(num2 / num1); + break; + case '(': + if(prior == 0) + opstack.Pop(); + return true; + case 's': + opstack.Pop(); + num1 = numstack.Peek(); + numstack.Pop(); + numstack.Push(Mathf.Sin(num1)); + break; + case 'c': + opstack.Pop(); + num1 = numstack.Peek(); + numstack.Pop(); + numstack.Push(Mathf.Cos(num1)); + break; + case 't': + opstack.Pop(); + num1 = numstack.Peek(); + numstack.Pop(); + numstack.Push(Mathf.Tan(num1)); + break; + case '^': + opstack.Pop(); + num1 = numstack.Peek(); + numstack.Pop(); + num2 = numstack.Peek(); + numstack.Pop(); + numstack.Push(Mathf.Pow(num2, num1)); + break; + case 'l': + opstack.Pop(); + num1 = numstack.Peek(); + numstack.Pop(); + if(num1 <= 0) + return false; + num2 = numstack.Peek(); + numstack.Pop(); + if(num2 <=0 || num2 == 1) + return false; + numstack.Push(Mathf.Log(num1, num2)); + break; + default: + break; + } + } + return true; + } + + public bool calculate2D(string s, float xIn, out float yOut) + { + x = xIn; + yOut = 0; + Stack<char> opstack = new Stack<char>(); + Stack<float> numstack = new Stack<float>(); + int length = s.Length; + int index; + char peek; + + for (index = 0; index < length; ++index) + { + if(s[index] == '+' || s[index] == '-') + { + if(index == 0) + { + s = "0" + s; + length++; + } + else + { + if(s[index - 1] == '(') + { + s.Insert(index - 1, "0"); + length++; + } + } + } + } + + index = 0; + + while (index < length) + { + Debug.Log(s[index]); + switch (s[index]) + { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + numstack.Push(getNum(s, ref index)); + break; + case 'x': + numstack.Push(x); + break; + case '(': + opstack.Push('('); + break; + case ')': + if(!calculateStack(0, ref numstack, ref opstack)) + return false; + break; + case '+': + if(opstack.Count != 0) + { + peek = opstack.Peek(); + if (peek != '+' && peek != '-') + { + if (!calculateStack(1, ref numstack, ref opstack)) + return false; + } + } + opstack.Push('+'); + break; + case '-': + if (opstack.Count != 0) + { + peek = opstack.Peek(); + if (peek != '+' && peek != '-') + { + if (!calculateStack(1, ref numstack, ref opstack)) + return false; + } + } + opstack.Push('-'); + break; + case '*': + if (opstack.Count != 0) + { + peek = opstack.Peek(); + if (peek != '+' && peek != '-' && peek != '*' && peek != '/') + { + if (!calculateStack(2, ref numstack, ref opstack)) + return false; + } + } + opstack.Push('*'); + break; + case '/': + if (opstack.Count != 0) + { + peek = opstack.Peek(); + if (peek != '+' && peek != '-' && peek != '*' && peek != '/') + { + if (!calculateStack(2, ref numstack, ref opstack)) + return false; + } + } + opstack.Push('/'); + break; + case 's': + if (s[index + 1] == 'i' && s[index + 2] == 'n' && s[index + 3] == '(') + { + opstack.Push('s'); + opstack.Push('('); + index += 3; + } + break; + case 'c': + if (s[index + 1] == 'o' && s[index + 2] == 's' && s[index + 3] == '(') + { + opstack.Push('c'); + opstack.Push('('); + index += 3; + } + break; + case 't': + if (s[index + 1] == 'a' && s[index + 2] == 'n' && s[index + 3] == '(') + { + opstack.Push('t'); + opstack.Push('('); + index += 3; + } + break; + case '^': + opstack.Push('^'); + break; + case 'l': + if (s[index + 1] == 'o' && s[index + 2] == 'g' && s[index + 3] == '(') + { + opstack.Push('l'); + opstack.Push('('); + index += 3; + } + break; + default: + break; + } + index++; + } + while(opstack.Count > 0) + { + calculateStack(3, ref numstack, ref opstack); + } + yOut = numstack.Peek(); + return true; + } + +} diff --git a/MRTK test/Assets/Scripts/Calculator3D.cs b/MRTK test/Assets/Scripts/Calculator3D.cs new file mode 100644 index 00000000..a47acb09 --- /dev/null +++ b/MRTK test/Assets/Scripts/Calculator3D.cs @@ -0,0 +1,289 @@ +锘縰sing System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Calculator3D +{ + public static float x; + public static float y; + + public float getNum(string s, ref int index) + { + bool end = false; + string num = ""; + + while (!end && index < s.Length) + { + if ((s[index] >= '0' && s[index] <= '9') || s[index] == '.') + { + num += s[index]; + index++; + } + else + break; + } + index--; + return float.Parse(num); + } + //'('-0, '+-'-1,'*/'-2,'sct^l'-3 + private bool calculateStack(int prior, ref Stack<float> numstack, ref Stack<char> opstack) + { + while (opstack.Count > 0) + { + char operater = opstack.Peek(); + float num1; + float num2; + switch (operater) + { + case '+': + if (prior == 1 || prior == 2) + return true; + opstack.Pop(); + num1 = numstack.Peek(); + numstack.Pop(); + num2 = numstack.Peek(); + numstack.Pop(); + numstack.Push(num2 + num1); + break; + case '-': + if (prior == 1 || prior == 2) + return true; + opstack.Pop(); + num1 = numstack.Peek(); + numstack.Pop(); + num2 = numstack.Peek(); + numstack.Pop(); + numstack.Push(num2 - num1); + break; + case '*': + if (prior == 2) + return true; + opstack.Pop(); + num1 = numstack.Peek(); + numstack.Pop(); + num2 = numstack.Peek(); + numstack.Pop(); + numstack.Push(num2 * num1); + break; + case '/': + if (prior == 2) + return true; + opstack.Pop(); + num1 = numstack.Peek(); + numstack.Pop(); + if (num1 == 0) + return false; + num2 = numstack.Peek(); + numstack.Pop(); + numstack.Push(num2 / num1); + break; + case '(': + if (prior == 0) + opstack.Pop(); + return true; + case 's': + opstack.Pop(); + num1 = numstack.Peek(); + numstack.Pop(); + numstack.Push(Mathf.Sin(num1)); + break; + case 'c': + opstack.Pop(); + num1 = numstack.Peek(); + numstack.Pop(); + numstack.Push(Mathf.Cos(num1)); + break; + case 't': + opstack.Pop(); + num1 = numstack.Peek(); + numstack.Pop(); + numstack.Push(Mathf.Tan(num1)); + break; + case '^': + opstack.Pop(); + num1 = numstack.Peek(); + numstack.Pop(); + num2 = numstack.Peek(); + numstack.Pop(); + numstack.Push(Mathf.Pow(num2, num1)); + break; + case 'l': + opstack.Pop(); + num1 = numstack.Peek(); + numstack.Pop(); + if (num1 <= 0) + return false; + num2 = numstack.Peek(); + numstack.Pop(); + if (num2 <= 0 || num2 == 1) + return false; + numstack.Push(Mathf.Log(num1, num2)); + break; + default: + break; + } + } + return true; + } + + public bool calculate3D(string s, float xIn, float yIn, out float zOut) + { + x = xIn; + y = yIn; + zOut = 0; + Stack<char> opstack = new Stack<char>(); + Stack<float> numstack = new Stack<float>(); + int length = s.Length; + int index; + char peek; + + for (index = 0; index < length; ++index) + { + if (s[index] == '+' || s[index] == '-') + { + if (index == 0) + { + s = "0" + s; + length++; + } + else + { + if (s[index - 1] == '(') + { + s.Insert(index - 1, "0"); + length++; + } + } + } + } + + index = 0; + + while (index < length) + { + switch (s[index]) + { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + numstack.Push(getNum(s, ref index)); + break; + case 'x': + numstack.Push(x); + break; + case 'y': + numstack.Push(y); + break; + case '(': + opstack.Push('('); + break; + case ')': + if (!calculateStack(0, ref numstack, ref opstack)) + return false; + break; + case '+': + if (opstack.Count != 0) + { + peek = opstack.Peek(); + if (peek != '+' && peek != '-') + { + if (!calculateStack(1, ref numstack, ref opstack)) + return false; + } + } + opstack.Push('+'); + break; + case '-': + if (opstack.Count != 0) + { + peek = opstack.Peek(); + if (peek != '+' && peek != '-') + { + if (!calculateStack(1, ref numstack, ref opstack)) + return false; + } + } + opstack.Push('-'); + break; + case '*': + if (opstack.Count != 0) + { + peek = opstack.Peek(); + if (peek != '+' && peek != '-' && peek != '*' && peek != '/') + { + if (!calculateStack(2, ref numstack, ref opstack)) + return false; + } + } + opstack.Push('*'); + break; + case '/': + if (opstack.Count != 0) + { + peek = opstack.Peek(); + if (peek != '+' && peek != '-' && peek != '*' && peek != '/') + { + if (!calculateStack(2, ref numstack, ref opstack)) + return false; + } + } + opstack.Push('/'); + break; + case 's': + if (s[index + 1] == 'i' && s[index + 2] == 'n' && s[index + 3] == '(') + { + opstack.Push('s'); + opstack.Push('('); + index += 3; + } + break; + case 'c': + if (s[index + 1] == 'o' && s[index + 2] == 's' && s[index + 3] == '(') + { + opstack.Push('c'); + opstack.Push('('); + index += 3; + } + break; + case 't': + if (s[index + 1] == 'a' && s[index + 2] == 'n' && s[index + 3] == '(') + { + opstack.Push('t'); + opstack.Push('('); + index += 3; + } + break; + case '^': + opstack.Push('^'); + break; + case 'l': + if (s[index + 1] == 'o' && s[index + 2] == 'g' && s[index + 3] == '(') + { + opstack.Push('l'); + opstack.Push('('); + index += 3; + } + break; + default: + break; + } + index++; + } + while (opstack.Count > 0) + { + calculateStack(3, ref numstack, ref opstack); + } + zOut = numstack.Peek(); + //Debug.Log(x.ToString() + "," + y.ToString() + "=" + zOut.ToString()); + return true; + } + +} diff --git a/MRTK test/Assets/Scripts/Functions/Customized.cs b/MRTK test/Assets/Scripts/Functions/Customized.cs new file mode 100644 index 00000000..ca6acb47 --- /dev/null +++ b/MRTK test/Assets/Scripts/Functions/Customized.cs @@ -0,0 +1,74 @@ +锘縰sing System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Customized : MonoBehaviour +{ + Mesh mesh; + + Calculator2D calculator2D; + + public string formula; + + public int minX; + public int maxX; + // Start is called before the first frame update + void Start() + { + mesh = new Mesh + { + name = "Customized" + }; + calculator2D = new Calculator2D(); + } + + // Update is called once per frame + void Update() + { + + } + + public void DrawCustomized() + { + mesh.Clear(); + + bool isContinue = false; + + Vector3[] vectors = new Vector3[100 * (maxX - minX) + 1]; + int[] triangle = new int[100 * (maxX - minX) * 2]; + int k = 0; + float step = 0.01f; + for (float i = minX; i <= maxX + 0.01f; i += step) + { + float y = 0; + if(calculator2D.calculate2D(formula, i ,out y)) + { + vectors[k] = new Vector3(i, y, 0); + if (isContinue) + { + triangle[2 * (k - 1)] = k - 1; + triangle[2 * (k - 1) + 1] = k; + } + else + { + triangle[2 * (k - 1)] = k; + triangle[2 * (k - 1) + 1] = k; + } + isContinue = true; + } + else + { + if (k != 0) + vectors[k] = vectors[k - 1]; + else + vectors[k] = new Vector3(0, 0, -1000); + isContinue = false; + } + k++; + } + mesh.vertices = vectors; + mesh.SetIndices(triangle, MeshTopology.Lines, 0); + + GetComponent<MeshFilter>().mesh = mesh; + } +} diff --git a/MRTK test/Assets/Scripts/Functions/Ellipse.cs b/MRTK test/Assets/Scripts/Functions/Ellipse.cs new file mode 100644 index 00000000..b37aa8da --- /dev/null +++ b/MRTK test/Assets/Scripts/Functions/Ellipse.cs @@ -0,0 +1,60 @@ +锘縰sing System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Ellipse : MonoBehaviour +{ + Mesh mesh; + public Vector3 center; + public float a; + public float b; + // Start is called before the first frame update + void Start() + { + mesh = new Mesh + { + name = "Ellipse" + }; + } + + // Update is called once per frame + void Update() + { + + } + + public void DrawEllipse() + { + mesh.Clear(); + + Vector3[] vectors = new Vector3[200]; + int k = 0; + float step = a / 50; + for (float i = -a; i <= a; i += step) + { + float y = 1 - i * i / (a * a); + y *= (b * b); + y = Mathf.Sqrt(y); + vectors[k] = new Vector3(i, y, 0); + if (y != 0) + { + vectors[200 - k] = new Vector3(i, -y, 0); + } + k++; + } + mesh.vertices = vectors; + + int[] triangle = new int[400]; + for (int i = 0; i < vectors.Length - 1; ++i) + { + triangle[2 * i] = i; + triangle[2 * i + 1] = i + 1; + } + triangle[398] = 199; + triangle[399] = 0; + + mesh.SetIndices(triangle, MeshTopology.Lines, 0); + + GetComponent<MeshFilter>().mesh = mesh; + } +} diff --git a/MRTK test/Assets/Scripts/Functions/Exponential.cs b/MRTK test/Assets/Scripts/Functions/Exponential.cs new file mode 100644 index 00000000..a59ce72e --- /dev/null +++ b/MRTK test/Assets/Scripts/Functions/Exponential.cs @@ -0,0 +1,57 @@ +锘縰sing System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Exponential : MonoBehaviour +{ + Mesh mesh; + + public int minX; + public int maxX; + + public float factor; + public float c; + // Start is called before the first frame update + void Start() + { + mesh = new Mesh + { + name = "Exponential" + }; + } + + // Update is called once per frame + void Update() + { + + } + + public void DrawExponential() + { + mesh.Clear(); + + float step = 0.01f; + Vector3[] vectors = new Vector3[100 * (maxX - minX) + 1]; + int k = 0; + for (float i = minX; i <= maxX; i = i + step) + { + float y = Mathf.Pow(c, i); + y *= factor; + vectors[k] = new Vector3(i, y, 0); + k++; + } + vectors[100 * (maxX - minX)] = new Vector3(maxX, Mathf.Pow(c, maxX) * factor, 0); + mesh.vertices = vectors; + + int[] triangle = new int[100 * (maxX - minX) * 2]; + for (int i = 0; i < vectors.Length - 1; ++i) + { + triangle[2 * i] = i; + triangle[2 * i + 1] = i + 1; + } + + mesh.SetIndices(triangle, MeshTopology.Lines, 0); + + GetComponent<MeshFilter>().mesh = mesh; + } +} diff --git a/MRTK test/Assets/Scripts/Functions/Hyperbola.cs b/MRTK test/Assets/Scripts/Functions/Hyperbola.cs new file mode 100644 index 00000000..5a39912f --- /dev/null +++ b/MRTK test/Assets/Scripts/Functions/Hyperbola.cs @@ -0,0 +1,84 @@ +锘縰sing System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Hyperbola : MonoBehaviour +{ + Mesh mesh; + public Vector3 center; + public float a; + public float b; + // Start is called before the first frame update + void Start() + { + mesh = new Mesh + { + name = "Hyperbola" + }; + } + + // Update is called once per frame + void Update() + { + + } + + public void DrawHyperbola() + { + mesh.Clear(); + + Vector3[] vectors = new Vector3[202]; + int k = 0; + float step = a / 100; + float x = -a; + while (k < 51) + { + float y = x * x / (a * a) - 1; + y *= (b * b); + y = Mathf.Sqrt(y); + vectors[50 + k] = new Vector3(x, y, 0); + if (y != 0) + { + vectors[50 - k] = new Vector3(x, -y, 0); + } + x -= step; + step *= 1.1f; + k++; + } + + x = a; + step = a / 100; + k = 0; + while (k < 51) + { + float y = x * x / (a * a) - 1; + y *= (b * b); + y = Mathf.Sqrt(y); + vectors[151 + k] = new Vector3(x, y, 0); + if (y != 0) + { + vectors[151 - k] = new Vector3(x, -y, 0); + } + x += step; + step *= 1.1f; + k++; + } + mesh.vertices = vectors; + + int[] triangle = new int[400]; + for (int i = 0; i < 100; ++i) + { + triangle[2 * i] = i; + triangle[2 * i + 1] = i + 1; + } + for (int i = 100; i < 200; ++i) + { + triangle[2 * i] = i + 1; + triangle[2 * i + 1] = i + 2; + } + + mesh.SetIndices(triangle, MeshTopology.Lines, 0); + + GetComponent<MeshFilter>().mesh = mesh; + } +} diff --git a/MRTK test/Assets/Scripts/Functions/InverseTri.cs b/MRTK test/Assets/Scripts/Functions/InverseTri.cs new file mode 100644 index 00000000..b603227e --- /dev/null +++ b/MRTK test/Assets/Scripts/Functions/InverseTri.cs @@ -0,0 +1,123 @@ +锘縰sing System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class InverseTri : MonoBehaviour +{ + Mesh mesh; + + public int minX; + public int maxX; + public enum InverseTriTpye + { + Arcsin, + Arccos, + Arctan + } + + public InverseTriTpye inverseTriTpye; + // Start is called before the first frame update + void Start() + { + mesh = new Mesh + { + name = "InverseTri" + }; + } + + // Update is called once per frame + void Update() + { + + } + + public void DrawInverseTri() + { + mesh.Clear(); + + if(inverseTriTpye != InverseTriTpye.Arctan) + { + float step = 0.01f; + Vector3[] vectors = new Vector3[100 * 2 + 1]; + int k = 0; + for (float i = -1; i <= 1; i = i + step) + { + float y = i; + switch (inverseTriTpye) + { + case InverseTriTpye.Arcsin: + y = Mathf.Asin(y); + break; + case InverseTriTpye.Arccos: + y = Mathf.Acos(y); + break; + default: + break; + } + vectors[k] = new Vector3(i, y, 0); + k++; + } + switch (inverseTriTpye) + { + case InverseTriTpye.Arcsin: + vectors[100 * 2] = new Vector3(1, Mathf.Asin(1), 0); + break; + case InverseTriTpye.Arccos: + vectors[100 * 2] = new Vector3(1, Mathf.Acos(1), 0); + break; + default: + break; + } + mesh.vertices = vectors; + + int[] triangle = new int[100 * 2 * 2]; + for (int i = 0; i < vectors.Length - 1; ++i) + { + if (vectors[i].y * vectors[i + 1].y >= 0) + { + triangle[2 * i] = i; + triangle[2 * i + 1] = i + 1; + } + else + { + triangle[2 * i] = i; + triangle[2 * i + 1] = i; + } + } + mesh.SetIndices(triangle, MeshTopology.Lines, 0); + } + else + { + float step = 0.01f; + Vector3[] vectors = new Vector3[100 * (maxX - minX) + 1]; + int k = 0; + for (float i = -1; i <= 1; i = i + step) + { + float y = i; + y = Mathf.Atan(y); + vectors[k] = new Vector3(i, y, 0); + k++; + } + vectors[100 * (maxX - minX)] = new Vector3(maxX, Mathf.Atan(maxX), 0); + mesh.vertices = vectors; + + int[] triangle = new int[100 * (maxX - minX) * 2]; + for (int i = 0; i < vectors.Length - 1; ++i) + { + if (vectors[i].y * vectors[i + 1].y >= 0) + { + triangle[2 * i] = i; + triangle[2 * i + 1] = i + 1; + } + else + { + triangle[2 * i] = i; + triangle[2 * i + 1] = i; + } + } + mesh.SetIndices(triangle, MeshTopology.Lines, 0); + } + + GetComponent<MeshFilter>().mesh = mesh; + } +} diff --git a/MRTK test/Assets/Scripts/Functions/Logarithmic.cs b/MRTK test/Assets/Scripts/Functions/Logarithmic.cs new file mode 100644 index 00000000..0de48cf8 --- /dev/null +++ b/MRTK test/Assets/Scripts/Functions/Logarithmic.cs @@ -0,0 +1,56 @@ +锘縰sing System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Logarithmic : MonoBehaviour +{ + Mesh mesh; + + public int maxX; + public float factor; + public float a; + // Start is called before the first frame update + void Start() + { + mesh = new Mesh + { + name = "Logarithmic" + }; + } + + // Update is called once per frame + void Update() + { + + } + + public void DrawLogarithmic() + { + mesh.Clear(); + + float step = 0.01f; + Vector3[] vectors = new Vector3[100 * maxX]; + int k = 0; + float down = Mathf.Log(a); + for (float i = step; i <= maxX; i = i + step) + { + float y = Mathf.Log(i) / down; + y *= factor; + vectors[k] = new Vector3(i, y, 0); + k++; + } + vectors[100 * maxX - 1] = new Vector3(maxX, Mathf.Log(maxX) / down * factor, 0); + mesh.vertices = vectors; + + int[] triangle = new int[100 * maxX * 2 - 2]; + for (int i = 0; i < vectors.Length - 1; ++i) + { + triangle[2 * i] = i; + triangle[2 * i + 1] = i + 1; + } + + mesh.SetIndices(triangle, MeshTopology.Lines, 0); + + GetComponent<MeshFilter>().mesh = mesh; + } +} diff --git a/MRTK test/Assets/Scripts/Functions/Spline.cs b/MRTK test/Assets/Scripts/Functions/Spline.cs new file mode 100644 index 00000000..8434cd4f --- /dev/null +++ b/MRTK test/Assets/Scripts/Functions/Spline.cs @@ -0,0 +1,65 @@ +锘縰sing System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Spline : MonoBehaviour +{ + Mesh mesh; + + public int minX; + public int maxX; + + public List<float> factors; + // Start is called before the first frame update + void Start() + { + mesh = new Mesh + { + name = "Spline" + }; + factors = new List<float>(); + factors.Add(1); + factors.Add(0); + factors.Add(1); + } + + // Update is called once per frame + void Update() + { + + } + + public void DrawSpline() + { + mesh.Clear(); + + Vector3[] vectors = new Vector3[100 * (maxX - minX) + 1]; + int k = 0; + float step = 0.01f; + for (float i = minX; i <= maxX; i+=step) + { + float y = 0; + for (int j = factors.Count - 1; j > 0; --j) + { + y += factors[j]; + y *= i; + } + y += factors[0]; + vectors[k] = new Vector3(i, y, 0); + k++; + } + mesh.vertices = vectors; + + int[] triangle = new int[100 * (maxX - minX) * 2]; + for (int i = 0; i < vectors.Length - 1; ++i) + { + triangle[2 * i] = i; + triangle[2 * i + 1] = i + 1; + } + + mesh.SetIndices(triangle, MeshTopology.Lines, 0); + + GetComponent<MeshFilter>().mesh = mesh; + } + +} diff --git a/MRTK test/Assets/Scripts/Functions/ThreeD.cs b/MRTK test/Assets/Scripts/Functions/ThreeD.cs new file mode 100644 index 00000000..5ca0c6dd --- /dev/null +++ b/MRTK test/Assets/Scripts/Functions/ThreeD.cs @@ -0,0 +1,77 @@ +锘縰sing System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class ThreeD : MonoBehaviour +{ + Mesh mesh; + + Calculator3D calculator3D; + + public string formula; + + public int minX; + public int maxX; + public int minY; + public int maxY; + // Start is called before the first frame update + void Start() + { + mesh = new Mesh + { + name = "ThreeD" + }; + calculator3D = new Calculator3D(); + DrawCustomized(); + } + + // Update is called once per frame + public void DrawCustomized() + { + mesh.Clear(); + + Vector3[] vectors = new Vector3[(10 * (maxX - minX) + 1) * (10 * (maxY - minY) + 1)]; + int[] triangle = new int[100 * (maxX - minX) * (maxY - minY) * 2 * 3]; + int k = 0; + float step = 0.1f; + for(float i = minX; i <= maxX + 0.01f; i += step) + { + for(float j = minY; j <= maxY + 0.01f; j += step) + { + float z = 0; + if(calculator3D.calculate3D(formula, i, j, out z)) + { + vectors[k] = new Vector3(i, j, z); + } + else + { + vectors[k] = vectors[k - 1]; + } + ++k; + } + } + + int lineCount = 10 * (maxY - minY) + 1; + int line = 0; + for(int i = 0; i < lineCount - 1; ++i) + { + i *= lineCount; + for(int j = 0; j < lineCount - 1; ++j) + { + triangle[6 * (i + j - line)] = (i + j); + triangle[6 * (i + j - line) + 1] = (i + j) + 1; + triangle[6 * (i + j - line) + 2] = (i + j) + lineCount; + triangle[6 * (i + j - line) + 3] = (i + j) + 1; ; + triangle[6 * (i + j - line) + 4] = (i + j) + lineCount + 1; + triangle[6 * (i + j - line) + 5] = (i + j) + lineCount; + } + i /= lineCount; + line++; + } + + mesh.vertices = vectors; + mesh.SetIndices(triangle, MeshTopology.Triangles, 0); + + GetComponent<MeshFilter>().mesh = mesh; + } +} diff --git a/MRTK test/Assets/Scripts/Functions/Trigonometric.cs b/MRTK test/Assets/Scripts/Functions/Trigonometric.cs new file mode 100644 index 00000000..f19314df --- /dev/null +++ b/MRTK test/Assets/Scripts/Functions/Trigonometric.cs @@ -0,0 +1,99 @@ +锘縰sing System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Trigonometric : MonoBehaviour +{ + Mesh mesh; + + public int minX; + public int maxX; + + public TriType triType; + public float a; + public float b; + public float factor; + public enum TriType + { + Sin, + Cos, + Tan + } + // Start is called before the first frame update + void Start() + { + mesh = new Mesh + { + name = "Trigonometric" + }; + } + + // Update is called once per frame + void Update() + { + + } + + public void DrawTrigonometric() + { + mesh.Clear(); + + float step = 0.01f; + Vector3[] vectors = new Vector3[100 * (maxX - minX) + 1]; + int k = 0; + for (float i = minX; i <= maxX; i = i + step) + { + float y = a * i + b; + switch (triType) + { + case TriType.Sin: + y = Mathf.Sin(y); + break; + case TriType.Cos: + y = Mathf.Cos(y); + break; + case TriType.Tan: + y = Mathf.Tan(y); + break; + default: + break; + } + y *= factor; + vectors[k] = new Vector3(i, y, 0); + k++; + } + switch (triType) + { + case TriType.Sin: + vectors[100 * (maxX - minX)] = new Vector3(maxX, Mathf.Sin(a * maxX + b) * factor, 0); + break; + case TriType.Cos: + vectors[100 * (maxX - minX)] = new Vector3(maxX, Mathf.Cos(a * maxX + b) * factor, 0); + break; + case TriType.Tan: + vectors[100 * (maxX - minX)] = new Vector3(maxX, Mathf.Tan(a * maxX + b) * factor, 0); + break; + default: + break; + } + mesh.vertices = vectors; + + int[] triangle = new int[100 * (maxX - minX) * 2]; + for (int i = 0; i < vectors.Length - 1; ++i) + { + if(vectors[i].y * vectors[i + 1].y >= 0) + { + triangle[2 * i] = i; + triangle[2 * i + 1] = i + 1; + } + else + { + triangle[2 * i] = i; + triangle[2 * i + 1] = i; + } + } + mesh.SetIndices(triangle, MeshTopology.Lines, 0); + + GetComponent<MeshFilter>().mesh = mesh; + } +} diff --git a/MRTK test/Assets/Scripts/NormalFunctionTest.cs b/MRTK test/Assets/Scripts/NormalFunctionTest.cs index 1f76f559..b5057cb2 100644 --- a/MRTK test/Assets/Scripts/NormalFunctionTest.cs +++ b/MRTK test/Assets/Scripts/NormalFunctionTest.cs @@ -53,9 +53,8 @@ public class NormalFunctionTest : MonoBehaviour //DrawHyperbola(new Vector3(0, 0, 0), 3, 2); //DrawExponential(2, 3); //DrawLogarithmic(2, 3); - DrawTrigonometric(TriType.Sin, 1, 0, 1); - - + //DrawTrigonometric(TriType.Sin, 1, 0, 1); + } // Update is called once per frame diff --git a/doc/10.27/10.27.md b/doc/10.27/10.27.md index f260e4cc..e1e469c8 100644 --- a/doc/10.27/10.27.md +++ b/doc/10.27/10.27.md @@ -13,6 +13,7 @@ * 灏� Windows 鍜� HoloLens2 杩炴帴鍦ㄥ悓涓€灞€鍩熺綉涓嬶紝鍙互鍦� HoloLens2 鐨勮缃腑鐪嬪埌鍏� IP锛岀洿鎺ュ湪鐢佃剳涓婅闂� * 璋冭瘯闇€瑕佸湪 HoloLens2 涓婁笅杞� Holographic Remoting Player 杞欢骞舵墦寮€锛屽啀鍦� Unity 涓� 鈥橶indow鈥�-鈥榅R鈥�-鈥楬olographic Emulation鈥� 涓緭鍏ュ叾 IP 骞跺皾璇曡繛鎺� * 灏濊瘯澶氭鍚庝緷鏃ц繛鎺ヤ笉涓�...... + * 10.29锛氭洿鏂颁簡 HoloLens2 鐨勫浐浠剁増鏈悗锛屾垚鍔熻繛鎺ヤ笂 * 鏍规嵁瀹樻柟鏂囨。锛岄渶瑕佷笅杞藉苟瀵煎叆 MRTK.Tutorials.PCHolograhicRemoting 鍖咃紝灏� HolographicRemoting 棰勫埗浣撴嫋鍏ュ満鏅腑锛屽啀浣跨敤 unity build 鍚庡湪 VS 涓繍琛� * VS 缂栬瘧鏈€氳繃锛屾殏鏃舵湭鎴愬姛 diff --git a/doc/11.10/11.10.md b/doc/11.10/11.10.md new file mode 100644 index 00000000..3a8f3340 --- /dev/null +++ b/doc/11.10/11.10.md @@ -0,0 +1,10 @@ +# 11.10 + +* 鏁寸悊涔嬪墠娴嬭瘯鐢ㄧ殑浠g爜锛屽皢鍩烘湰鍑芥暟鍓ョ鍒板悇鑷殑鑴氭湰涓� +* 瑙� Functions -> Spline / Ellipse / Hyperbola / Exponential / Logarithmic / Trigonometric / InverseTri +* 澧炲姞浜嗚嚜瀹氫箟鍑芥暟缁樺埗鐨勬敮鎸侊紝缁撳悎涔嬪墠鍋氱殑 Calculator 杩涜 Mesh 缁樺埗骞朵笖閫氳繃娴嬭瘯 +* 澧炲姞浜嗕笁缁磋嚜瀹氫箟鍑芥暟缁樺埗鐨勬敮鎸� + * 鐩墠鍙敮鎸佸浐瀹� X-Y 鑼冨洿鍐呯殑缁樺埗锛屾棤娉曡嚜瀹氫箟澶嶆潅鍖洪棿 +* 澧炲姞浜嗗嚱鏁版柇鐐圭殑鍒ゆ柇锛屼粠鑰屾敮鎸佺粯鍒朵笉瀹屽叏杩炵画鐨勫嚱鏁� + * 浣嗘槸鍦ㄤ笁缁村嚱鏁版儏鍐典腑锛屾儏鍐垫洿涓哄鏉傦紝鍥犺€岃繕鏈仛鐩稿簲鐨勫鐞� + * 鑰屼笖鍙傝€冧腑瀛︽暟瀛︼紝涓夌淮鍑芥暟浼间箮鍙細鐢ㄥ湪骞抽潰涔嬩笂锛屼笉浼氬嚭鐜板鏉傛儏鍐� diff --git a/doc/11.3/11.3.md b/doc/11.3/11.3.md new file mode 100644 index 00000000..0f95cb9f --- /dev/null +++ b/doc/11.3/11.3.md @@ -0,0 +1,14 @@ +# 11.3 + +## 10.29 + +* 涓� Microsoft 鏀寔杩涜鑱旂郴锛屾洿鏂颁簡 HoloLens2 鐨勫浐浠剁増鏈紝瑙e喅浜嗘湁鏃舵棤娉曞紑鏈轰互鍙婅繛鎺ヤ笉涓� Unity 鐨勯棶棰� +* 鍦� HoloLens2 涓婂皾璇曚簡 MRTK 涓殑瀹炰緥鍦烘櫙锛� + * 瀵逛簬鐗╀綋鐨勬嫋鎷界缉鏀撅紝缁忓父浼氬嚭鐜扮敱浜庢墜杩愬姩骞呭害澶ぇ瀵艰嚧绂诲紑璇嗗埆鑼冨洿锛屽洜鑰屽湪璁捐鏃跺簲璇ュ敖閲忛伩鍏嶅ぇ骞呭害鐨勬嫋鎷芥搷浣滐紝淇濇寔鐗╀綋鍦ㄧ敾闈腑蹇冭緝濂� + * HoloLens2 瀵圭偣鍑绘垨鏄彙鎷抽€変腑鐨勫垽瀹氱暐鏈夌‖鏍革紝闅句互杩涜绮剧‘閫夋嫨锛屽洜鑰岀墿浣撲氦浜掔殑鍒ゅ畾鑼冨洿涓嶈兘澶皬锛屽挨鍏舵槸閫夌偣涔嬬被鐨勬搷浣� + * 鐩告瘮涔嬩笅锛屽浜庤闊宠瘑鍒殑绮惧害灏辫緝楂橈紝鍙互鑰冭檻澶氬姞浣跨敤 + +## 10.30 + +* 鍙傝€冧箣鍓嶅闀垮仛鐨� mathx 鐨� Hololens 鐗堟湰锛堜絾鏄涪澶变簡寰堝绱犳潗鎵€浠ヤ笉鑳借繍琛岋紝鍙兘鐪嬬湅鑴氭湰锛� +* 娌跨敤鍏朵腑鐨� calculator 鐨勬兂娉曪紝浣垮紩鎿庢敮鎸佽嚜瀹氫箟鍑芥暟鐨勭粯鍒讹紝鍚屾椂渚濇棫淇濈暀鍩虹鍑芥暟鐨勭粯鍒跺姛鑳斤紙鑰冭檻鍒颁箣鍚庤繕闇€瑕佸畾鍒跺寲渚嬪瀵圭О杞达紝鐒︾偣绛夌壒娈婁俊鎭殑缁樺埗锛� -- GitLab