package PCI.ASQ.pca; import java.util.HashMap; import java.util.Iterator; import java.util.ArrayList; import java.util.Map; import PCI.ASQ.classification.FissileWithMatch; import PCI.ASQ.demension.AMV_MVS_VSQ_2D; import PCI.ASQ.demension.AMV_MVS_VSQ_3D; import PCI.ASQ.demension.FindHeart_AMV_MVS_VSQ; import PCI.ASQ.demension.FindMid_AMV_MVS_VSQ; import PCI.ASQ.demension.Line2D; import PCI.ASQ.demension.Line3D; //作者,著作权人: 罗瑶光,浏阳 public class Find_AMV_MVS_VSQ_GroupPascalHearts{ //通过坐标团的 精度匹配分割的内部坐标聚类团 进行 每个聚类团的 重心和中心距离 求解 获取有效的团稳定观测数据模型 //思想 帕斯卡,欧基里德,数据挖掘,贝叶斯,立体几何,流体力学,量化拓扑力学,离散数学,统计与概率论 20191227 //实现 罗瑶光 public static Map getPosition2DsGroupPascalHearts(ArrayList groups , double scale) { Map> pascalGroups= FissileWithMatch.fissilePosition2DWithMatch(groups, scale); Map pascalHearts= FindHeart_AMV_MVS_VSQ.getPosition2DGroupsHearts(pascalGroups); return pascalHearts; } public static Map getPosition3DsGroupPascalHearts(ArrayList groups , double scale) { Map> pascalGroups= FissileWithMatch.fissilePosition3DWithMatch(groups, scale); Map pascalHearts= FindHeart_AMV_MVS_VSQ.getPosition3DGroupsHearts(pascalGroups); return pascalHearts; } public static Map getPosition2DsGroupPascalMids(ArrayList groups , double scale) { Map> pascalGroups= FissileWithMatch.fissilePosition2DWithMatch(groups, scale); Map pascalMids= FindMid_AMV_MVS_VSQ.getPosition2DGroupsMids(pascalGroups); return pascalMids; } public static Map getPosition3DsGroupPascalMids(ArrayList groups , double scale) { Map> pascalGroups= FissileWithMatch.fissilePosition3DWithMatch(groups, scale); Map pascalMids= FindMid_AMV_MVS_VSQ.getPosition3DGroupsMids(pascalGroups); return pascalMids; } public static Map getPosition2DsGroupPascalDirection(Map pascalHearts , Map pascalMids) { Map pascalDirections= new HashMap<>(); Iterator iterator= pascalHearts.keySet().iterator(); while(iterator.hasNext()) { double key= iterator.next(); Line2D value= new Line2D(); value.I_Begin(pascalMids.get(key)); value.I_End(pascalHearts.get(key)); pascalDirections.put(key, value); } return pascalDirections; } public static Map getPosition3DsGroupPascalDirection(Map pascalHearts , Map pascalMids) { Map pascalDirections= new HashMap<>(); Iterator iterator= pascalHearts.keySet().iterator(); while(iterator.hasNext()) { double key= iterator.next(); Line3D value= new Line3D(); value.I_Begin(pascalMids.get(key)); value.I_End(pascalHearts.get(key)); pascalDirections.put(key, value); } return pascalDirections; } public static Map getPosition3DsGroupPascalDirection(ArrayList groups , double scale){ return getPosition3DsGroupPascalDirection(getPosition3DsGroupPascalHearts(groups, scale) ,getPosition3DsGroupPascalMids(groups, scale)); } public static Map getPosition2DsGroupPascalDirection(ArrayList groups , double scale){ return getPosition2DsGroupPascalDirection(getPosition2DsGroupPascalHearts(groups, scale) ,getPosition2DsGroupPascalMids(groups, scale)); } }