当前位置: 首页>>代码示例>>C#>>正文


C# Gesture.GetValue方法代码示例

本文整理汇总了C#中Gesture.GetValue方法的典型用法代码示例。如果您正苦于以下问题:C# Gesture.GetValue方法的具体用法?C# Gesture.GetValue怎么用?C# Gesture.GetValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Gesture的用法示例。


在下文中一共展示了Gesture.GetValue方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: SampleSignal

        public Gesture SampleSignal(Gesture signal)
        {
            var sampledValues = new List<double[]>();
            var sampledSignal = new Gesture(sampledValues, signal.Label);

            for (var j = 0; j < SampleSteps; ++j) {
                sampledValues.Add(new double[3]);
                for (var i = 0; i < 3; ++i) {
                    var findex = 1.0 * (signal.Length - 1) * j / (SampleSteps - 1);
                    var res = findex - (int) findex;
                    sampledSignal.SetValue(j, i, (1-res) * signal.GetValue((int)findex, i) + ((int)findex + 1 < signal.Length - 1 ? res * signal.GetValue((int)findex + 1, i) : 0));
                }
            }

            return sampledSignal;
        }
开发者ID:rknoll,项目名称:presit,代码行数:16,代码来源:GridExtractor.cs

示例2: SampleSignal

        public Gesture SampleSignal(Gesture signal)
        {
            var sampledValues = new List<double[]>();
            var sampledSignal = new Gesture(sampledValues, signal.Label);

            var min = double.MaxValue;
            var max = double.MinValue;

            for (var i = 0; i < signal.Length; ++i) {
                for (var j = 0; j < 3; ++j) {
                    if (signal.GetValue(i, j) > max) max = signal.GetValue(i, j);
                    if (signal.GetValue(i, j) < min) min = signal.GetValue(i, j);
                }
            }

            for (var i = 0; i < signal.Length; ++i) {
                sampledValues.Add(new double[3]);
                for (var j = 0; j < 3; ++j) {
                    sampledSignal.SetValue(i, j, (signal.GetValue(i, j) - min) / (max - min));
                }
            }

            return sampledSignal;
        }
开发者ID:rknoll,项目名称:presit,代码行数:24,代码来源:NormExtractor.cs

示例3: CalcDistance

        public static double CalcDistance(Gesture a, Gesture b)
        {
            int signalDimensions = a.Values[0].Length;
            int signal1Length = a.Length;
            int signal2Length = b.Length;

            var distMatrix = new double[signal1Length, signal2Length];
            var costMatrix = new double[signal1Length, signal2Length];

            for (var i = 0; i < signal1Length; ++i) {
                for (var j = 0; j < signal2Length; ++j) {
                    var vec = new List<double>();
                    for (var k = 0; k < signalDimensions; ++k) {
                        vec.Add(a.GetValue(i, k) - b.GetValue(j, k));
                    }
                    distMatrix[i, j] = PNorm(vec, 2);
                }
            }

            for (var i = 0; i < signal1Length; ++i) {
                costMatrix[i, 0] = distMatrix[i, 0];
            }

            for (var j = 1; j < signal2Length; ++j) {
                for (var i = 0; i < signal1Length; ++i) {
                    if (i == 0) {
                        costMatrix[i, j] = costMatrix[i, j - 1] + distMatrix[i, j];
                    } else {
                        double cost;
                        var minCost = costMatrix[i - 1, j - 1] + distMatrix[i, j];
                        if ((cost = costMatrix[i - 1, j] + distMatrix[i, j]) < minCost) {
                            minCost = cost + OffsetPenalty;
                        }
                        if ((cost = costMatrix[i, j - 1] + distMatrix[i, j]) < minCost) {
                            minCost = cost + OffsetPenalty;
                        }
                        costMatrix[i, j] = minCost;
                    }
                }
            }

            return costMatrix[signal1Length - 1, signal2Length - 1];
        }
开发者ID:rknoll,项目名称:presit,代码行数:43,代码来源:DTWAlgorithm.cs


注:本文中的Gesture.GetValue方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。