亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? cluster.cc

?? 模糊聚類分析的源程序!
?? CC
?? 第 1 頁 / 共 4 頁
字號:
int FCM_Clustering::Berechne_Dist (DVektor & Dist, DVektor & Datum,			       DVektorArray & Cluster){  int Result = 0, i;  for (i = 0; i < Cluster.Lese_Groesse (); i++) {    Dist[i] = Die_Norm.d_quadr (Datum, Cluster[i]);    if (Dist[i] == 0)      Result++;			/* Wieviele sind 0 ? */  }  return (Result);};void FCM_Clustering::Berechne_possib_U (DVektorArray & Daten,				   DVektorArray & Cluster, DMatrix & U){  int i, j;  for (i = 0; i < Cluster.Lese_Groesse (); i++) {	/* alle Cluster */    for (j = 0; j < Daten.Lese_Groesse (); j++) {      U[i][j] = 1.0 / (1.0 + pow (Die_Norm.d_quadr (Daten[j], Cluster[i]) / eta[i],			      1.0 / (M - 1.0)));    }  }};void FCM_Clustering::Mache_Possibilistisch (DVektorArray & Daten,				       DVektorArray & Cluster){  int l;  DMatrix U[2];  char Test = FALSE;  U[0] = Zugehoerigkeit;  U[1].DMatrix (U[0].Lese_Dim_m (), U[0].Lese_Dim_n (), NULL);  l = 0;  if (eta.Lese_Dim () == 0)	/* Am Anfang */    eta = Berechne_eta (Daten, Cluster, U[l]);  if (Possib_Zaehler <= 2) {    while ((Test == FALSE) && (Iterationen < Max_Iterationen)) {      Iterationen++;      /*    v_i's berechnen    */      Cluster = Berechne_v (U[l], Daten);      l = (l + 1) % 2;/*************************/      /*    U_neu berechnen    *//*************************/      Berechne_possib_U (Daten, Cluster, U[l]);      if (Die_Norm.d (U[0], U[1]) < Delta_U) {	Test = TRUE;	Possib_Zaehler++;	if (Possib_Zaehler <= 2)	  eta = Berechne_eta (Daten, Cluster, U[l]);	else {	  Fertig = TRUE;	}      }    };  }				/* if(Possib_Zaehler <= 2) */  Zugehoerigkeit = U[l];};void FCM_Clustering::Berechne_Form (DVektorArray & Daten,			       DVektorArray & Cluster){  int DatenNr;  double Max;  Radien.Setze_Dim (Cluster.Lese_Groesse ());  Radien.NullVektor ();  for (DatenNr = 0; DatenNr < Daten.Lese_Groesse (); DatenNr++) {	/* alle Daten */    Max = Cluster[Zuordnung[DatenNr]].Abstand (Daten[DatenNr],					       Die_sind_relevant);    if (Max > Radien[Zuordnung[DatenNr]])      Radien[Zuordnung[DatenNr]] = Max;  }};/**********************************************************//**********************************************************/GK_Clustering::GK_Clustering (Guete_Typ Guete, int Soll_Iterationen,	       char Possib){  sprintf (Name, "%s", "GK");};GK_Clustering::~GK_Clustering (){};Cluster_Typ GK_Clustering::Lese_Typ (){  return (GK);};DMatrixArray GK_Clustering::Lese_parallel_Form (IVektor & Dimensionen,				   DVektorArray & Daten)return Result (Cluster.Lese_Groesse (), Dimensionen.Lese_Dim (),	       Dimensionen.Lese_Dim (), NULL);{  int ClusterNr;  if ((Dimensionen.Lese_Dim () == 2) &&      (Dimensionen[0] != Dimensionen[1])) {    for (ClusterNr = 0; ClusterNr < Cluster.Lese_Groesse (); ClusterNr++) {      Result[ClusterNr][0][0] = Laengen[ClusterNr][Dimensionen[0]];      Result[ClusterNr][1][1] = Laengen[ClusterNr][Dimensionen[1]];    }  }/************** Jetzt 3D *******************/  else {			/* (Dimensionen.Lese_Dim == 3) */    if ((Dimensionen[0] != Dimensionen[1]) &&	(Dimensionen[1] != Dimensionen[2]) &&	(Dimensionen[0] != Dimensionen[2])) {      for (ClusterNr = 0; ClusterNr < Cluster.Lese_Groesse (); ClusterNr++) {	Result[ClusterNr][0][0] = Laengen[ClusterNr][Dimensionen[0]];	Result[ClusterNr][1][1] = Laengen[ClusterNr][Dimensionen[1]];	Result[ClusterNr][2][2] = Laengen[ClusterNr][Dimensionen[2]];      }    }  }};DMatrixArray GK_Clustering::Lese_Form (IVektor & Dim,			  DVektorArray & Daten)return Result (Cluster.Lese_Groesse (), Dim.Lese_Dim (),	       Dim.Lese_Dim (), NULL);{  int ClusterNr, DatenNr, DimNr, i;  double Winkel, a, b, Nullstellen[2], Faktor[2], Verhaeltnis, Max;/************* 2D-Fall *********************/  if ((Dim.Lese_Dim () == 2) && (Dim[0] != Dim[1]) &&      Die_sind_relevant[Dim[0]] &&      Die_sind_relevant[Dim[1]]) {    DMatrix KS (2, 2, NULL), KS2 (2, 2, NULL);    DVektor Rotiert (2, 0, NULL);    char Welche_drinnen;    for (ClusterNr = 0; ClusterNr < Cluster.Lese_Groesse (); ClusterNr++) {      Welche_drinnen = FALSE;      for (i = 0; i < Zuordnung.Lese_Dim (); i++) {	if (Zuordnung[i] == ClusterNr) {	  Welche_drinnen = TRUE;	  break;	}      }      if (Welche_drinnen) {	if (Covar[ClusterNr][Dim[0]][Dim[0]] == Covar[ClusterNr][Dim[1]][Dim[1]]) {	/*Sonderfall */	  Winkel = 0;	  Result[ClusterNr][0][0] = 1.0;	/* x -   */	  Result[ClusterNr][1][0] = 0.0;	/* Achse */	  Result[ClusterNr][0][1] = 0.0;	/* y -   */	  Result[ClusterNr][1][1] = 1.0;	/* Achse */	} else {	  Winkel = (atan (2 * Covar[ClusterNr][Dim[0]][Dim[1]] /			  (Covar[ClusterNr][Dim[0]][Dim[0]] - Covar[ClusterNr][Dim[1]][Dim[1]])) / 2);	  if (Winkel < 0)	    Winkel += M_PI_2;	  Result[ClusterNr][0][0] = cos (Winkel);	  Result[ClusterNr][1][0] = sin (Winkel);	  Result[ClusterNr][0][1] = -Result[ClusterNr][1][0];	  Result[ClusterNr][1][1] = Result[ClusterNr][0][0];	}	/* Die Achsenverhaeltnisse der Ellipsen feststellen */	a = -(Covar[ClusterNr][Dim[0]][Dim[0]] + Covar[ClusterNr][Dim[1]][Dim[1]]);	b = (Covar[ClusterNr][Dim[0]][Dim[0]] * Covar[ClusterNr][Dim[1]][Dim[1]] -	Covar[ClusterNr][Dim[0]][Dim[1]] * Covar[ClusterNr][Dim[0]][Dim[1]]);	Nullstellen[0] = -sqrt (a * a / 4 - b) - a / 2.0;	Nullstellen[1] = sqrt (a * a / 4 - b) - a / 2.0;	/* lange zu kurzer Seite */	Verhaeltnis = sqrt (fabs (Nullstellen[1] / Nullstellen[0]));	/* >= 1 */	/* Jetzt den Faktor herausfinden */	KS = Result[ClusterNr].Gauss_Inverse ();	KS2 = KS;	KS.Zeile_Multiplizieren (0, 1.0 / Verhaeltnis);	KS2.Zeile_Multiplizieren (1, 1.0 / Verhaeltnis);	Faktor[0] = Faktor[1] = 0.0;	for (DatenNr = 0; DatenNr < Daten.Lese_Groesse (); DatenNr++) {	  if (ClusterNr == Zuordnung[DatenNr]) {	    Rotiert[0] = KS[0][0] * (Daten[DatenNr][Dim[0]] - Cluster[ClusterNr][Dim[0]]) +	      KS[0][1] * (Daten[DatenNr][Dim[1]] - Cluster[ClusterNr][Dim[1]]);	    Rotiert[1] = KS[1][0] * (Daten[DatenNr][Dim[0]] - Cluster[ClusterNr][Dim[0]]) +	      KS[1][1] * (Daten[DatenNr][Dim[1]] - Cluster[ClusterNr][Dim[1]]);	    Max = Rotiert * Rotiert;	    if (Max > Faktor[0])	      Faktor[0] = Max;	    Rotiert[0] = KS2[0][0] * (Daten[DatenNr][Dim[0]] - Cluster[ClusterNr][Dim[0]]) +	      KS2[0][1] * (Daten[DatenNr][Dim[1]] - Cluster[ClusterNr][Dim[1]]);	    Rotiert[1] = KS2[1][0] * (Daten[DatenNr][Dim[0]] - Cluster[ClusterNr][Dim[0]]) +	      KS2[1][1] * (Daten[DatenNr][Dim[1]] - Cluster[ClusterNr][Dim[1]]);	    Max = Rotiert * Rotiert;	    if (Max > Faktor[1])	      Faktor[1] = Max;	  }	}	/* Jetzt noch in die Form eintragen */	if (Faktor[0] < Faktor[1]) {	/* Dann nicht tauschen */	  Result[ClusterNr].Spalte_Multiplizieren (					 0, Verhaeltnis * sqrt (Faktor[0]));	  Result[ClusterNr].Spalte_Multiplizieren (1, sqrt (Faktor[0]));	} else {	  Result[ClusterNr].Spalte_Multiplizieren (					 1, Verhaeltnis * sqrt (Faktor[1]));	  Result[ClusterNr].Spalte_Multiplizieren (0, sqrt (Faktor[1]));	}      }    }  }/************** Jetzt 3D *******************/  else if (Dim.Lese_Dim () == 3) {    if ((Dim[0] != Dim[1]) && (Dim[1] != Dim[2]) && (Dim[0] != Dim[2])) {      DMatrix KS (3, 3, NULL);      DVektorArray Rotiert (3, Daten.Lese_Groesse (), NULL);      double Achse[3];      char Welche_drinnen;      /* Zunaechst die Verhaletnisse der Achsen herausfinden */      for (ClusterNr = 0; ClusterNr < Cluster.Lese_Groesse (); ClusterNr++) {	Welche_drinnen = FALSE;	for (i = 0; i < Zuordnung.Lese_Dim (); i++) {	  if (Zuordnung[i] == ClusterNr) {	    Welche_drinnen = TRUE;	    break;	  }	}	if (Welche_drinnen) {	  Achse[0] = 0.0;	  Achse[1] = 0.0;	  Achse[2] = 0.0;	  Result[ClusterNr] = (Covar[ClusterNr].Projiziere (Dim)).Eigenmatrix ();	  KS = Result[ClusterNr].Gauss_Inverse ();	  for (DatenNr = 0; DatenNr < Daten.Lese_Groesse (); DatenNr++) {	    if (Zuordnung[DatenNr] == ClusterNr) {	      for (DimNr = 0; DimNr < 3; DimNr++) {		Rotiert[DatenNr][DimNr] =		  KS[DimNr][0] * (Daten[DatenNr][Dim[0]] - Cluster[ClusterNr][Dim[0]]) +		  KS[DimNr][1] * (Daten[DatenNr][Dim[1]] - Cluster[ClusterNr][Dim[1]]) +		  KS[DimNr][2] * (Daten[DatenNr][Dim[2]] - Cluster[ClusterNr][Dim[2]]);		Achse[DimNr] += Zugehoerigkeit[ClusterNr][DatenNr] *		  Rotiert[DatenNr][DimNr] * Rotiert[DatenNr][DimNr];	      }	    }	  }			/* for(DatenNr=0 ; DatenNr < Daten.Lese_Groesse() ; DatenNr++) */	  /* Jetzt stehen die Achsenverhaeltnisse der Ellipsen fest */	  /* Jetzt den Faktor herausfinden, indem jeder Punkt getestet wird */	  Faktor[0] = 0.0;	  for (DatenNr = 0; DatenNr < Daten.Lese_Groesse (); DatenNr++) {	    if (Zuordnung[DatenNr] == ClusterNr) {	      Max = 0.0;	      for (DimNr = 0; DimNr < 3; DimNr++)		Max += Rotiert[DatenNr][DimNr] * Rotiert[DatenNr][DimNr] /		  Achse[DimNr];	      if (Max > Faktor[0])		Faktor[0] = Max;	    }	  }	  Result[ClusterNr].Spalte_Multiplizieren (0, sqrt (Achse[0] * Faktor[0]));	  Result[ClusterNr].Spalte_Multiplizieren (1, sqrt (Achse[1] * Faktor[0]));	  Result[ClusterNr].Spalte_Multiplizieren (2, sqrt (Achse[2] * Faktor[0]));	}      }    }  }};void GK_Clustering::Mein_Speichern (FILE * File){  AMatrizen.Speichern (File);  if (Art == OPTIMAL)    ABuffer.Speichern (File);};int GK_Clustering::Mein_Laden (FILE * File){  if (!AMatrizen.Laden (File))    return (0);  if (Art == OPTIMAL) {    if (!ABuffer.Laden (File))      return (0);  }  return (1);};DVektorArray GK_Clustering::Mein_Clustern (DVektorArray & Daten,			      DVektorArray & Vorgabe_Protos)return Result (Daten.Lese_Dim (), Vorgabe_Protos.Lese_Groesse (), NULL);{  int i, l, Clusteranzahl = Vorgabe_Protos.Lese_Groesse ();  DMatrix U[2];  /* Initialisierungen */  if (Zugehoerigkeit.Lese_Dim_m () != Vorgabe_Protos.Lese_Groesse ()) {    AMatrizen.Setze_Dim (Daten.Lese_Dim (), Daten.Lese_Dim ());    AMatrizen.Setze_Groesse (Clusteranzahl);    if (rho.Lese_Dim () != Clusteranzahl) {	/* Dann eben alle auf 1 setzen */      rho.Setze_Dim (Clusteranzahl);      for (i = 0; i < Clusteranzahl; i++) {	rho[i] = 1;	AMatrizen[i].Einheitsmatrix ();      }    }    U[0] = DMatrix (Clusteranzahl, Daten.Lese_Groesse (), NULL);    Berechne_U (Daten, Vorgabe_Protos, U[0]);  } else    U[0] = Zugehoerigkeit;  U[1] = DMatrix (Clusteranzahl, Daten.Lese_Groesse (), NULL);/********************/  /* Schleifen-Anfang *//********************/  l = 0;  while ((ClusterFertig != TRUE) && (Iterationen < Max_Iterationen)) {    Iterationen++;/***********************/    /* II. v_i's berechnen *//***********************/    Result = Berechne_v (U[l], Daten);/************************/    /* III. A[] bestimmen  *//************************/    Berechne_Ai (Daten, U[l], Result);    if (Lese_Fehlerstatus () != KEINFEHLER) {      ClusterFertig = TRUE;      Reset_Fehlerstatus ();      Result. ~ DVektorArray ();      return (Result);    }/***********************/    /* IV. U_neu bestimmen *//***********************/    l = (l + 1) % 2;    Berechne_U (Daten, Result, U[l]);/*************************/    /* IV. ||U[l-1]-U[l]||   *//*************************/    if (Die_Norm.d (U[0], U[1]) <= Delta_U) {      ClusterFertig = TRUE;    }  };  Zugehoerigkeit = U[l];};int GK_Clustering::Berechne_Dist (DVektor & Dist, DVektor & Datum,			      DVektorArray & Cluster){  int Result = 0, i;  for (i = 0; i < Cluster.Lese_Groesse (); i++) {    Dist[i] = Die_A_Norm.d_quadr (AMatrizen[i], Datum, Cluster[i]);    if (Dist[i] == 0)      Result++;			/* Wieviele sind 0 ? */  }  return (Result);};void GK_Clustering::Berechne_possib_U (DVektorArray & Daten,				  DVektorArray & Cluster, DMatrix & U){  int i, j;  for (i = 0; i < Cluster.Lese_Groesse (); i++) {	/* alle Cluster */    for (j = 0; j < Daten.Lese_Groesse (); j++) {      U.Setze_i_j (i, j, 1.0 / (1.0 + pow (Die_A_Norm.d_quadr (AMatrizen[i],					     Daten[j], Cluster[i]) / eta[i],				       1.0 / (M - 1.0))));    }  }};void GK_Clustering::Mache_Possibilistisch (DVektorArray & Daten,				      DVektorArray & Cluster){  int l;  DMatrix U[2];  char Test = FALSE;  U[0] = Zugehoerigkeit;  U[1].DMatrix (U[0].Lese_Dim_m (), U[0].Lese_Dim_n (), NULL);  l = 0;  if (eta.Lese_Dim () == 0.0) {	/* Am Anfang */    Berechne_Ai (Daten, U[l], Cluster);    eta = Berechne_eta (Daten, Cluster, U[l]);  }  if (Possib_Zaehler <= 2) {    while ((Test == FALSE) && (Iterationen < Max_Iterationen)) {      Iterationen++;      /*    v_i's berechnen    */      Cluster = Berechne_v (U[l], Daten);      Berechne_Ai (Daten, U[l], Cluster);      l = (l + 1) % 2;/*************************/      /*    U_neu berechnen    *//*************************/      Berechne_possib_U (Daten, Cluster, U[l]);      if (Die_Norm.d (U[0], U[1]) < Delta_U) {	Test = TRUE;	Possib_Zaehler++;	if (Possib_Zaehler <= 2) {	  Berechne_Ai (Daten, U[l], Cluster);	  eta = Berechne_eta (Daten, Cluster, U[l]);	} else {	  Fertig = TRUE;	}      }    };  }				/* if(Possib_Zaehler <= 2) */  Zugehoerigkeit = U[l];};void GK_Clustering::Berechne_Ai (DVektorArray & Daten, DMatrix & U,			    DVektorArray & Cluster){  int i;  double Buffer;  Berechne_Covarianz (Daten, U, AMatrizen, Cluster);  Reset_Fehlerstatus ();  for (i = 0; i < Cluster.Lese_Groesse (); i++) {    Buffer = pow (rho[i] * AMatrizen[i].Determinante (), 1.0 / Daten.Lese_Dim ());    AMatrizen[i] = AMatrizen[i].Gauss_Inverse ();    if (Lese_Fehlerstatus () != KEINFEHLER)      break;    AMatrizen[i] *= Buffer;  }				/* for(i=0 ; i < Cluster.Lese_Groesse() ; i++) */}DVektor GK_Clustering::Berechne_eta (DVektorArray & Daten,			     DVektorArray & Cluster, DMatrix & U)return Result (Cluster.Lese_Groesse (), 0, NULL);{  int i, k;  double Potenz, Ni, Buffer;  for (i = 0; i < Cluster.Lese_Groesse (); i++) {    Buffer = 0;    Ni = 0;    for (k = 0; k < Daten.Lese_Groesse (); k++) {      Potenz = pow (U[i][k], M);      Buffer += Potenz * Die_A_Norm.d_quadr (AMatrizen[i], Daten[k], Cluster[i]);      Ni += Potenz;    }    Result[i] = (K / Ni) * Buffer;  }}void GK_Clustering::parallel_Form_Berechnen (DVektorArray & Daten,					DVektorArray & Cluster){  int ClusterNr, Dim, DatenNr;  double Max;  DVektorArray Achsen (Daten.Lese_Dim (), Cluster.Lese_Groesse (), NULL);  DVektor Faktor (Cluster.Lese_Groesse (), 0, NULL);  Laengen.Setze_Dim (Daten.Lese_Dim ());  Laengen.Setze_Groesse (Cluster.Lese_Groesse ());  for (DatenNr = 0; DatenNr < Daten.Lese_Groesse (); DatenNr++) {    for (Dim = 0; Dim < Daten.Lese_Dim (); Dim++)      Achsen[Zuordnung[DatenNr]][Dim] +=	(Daten[DatenNr][Dim] - Cluster[Zuordnung[DatenNr]][Dim]) *	(Daten[DatenNr][Dim] - Cluster[Zuordnung[DatenNr]][Dim]);  }				/* for(DatenNr=0 ; DatenNr < Daten.Lese_Groesse() ; DatenNr++) */  /* Jetzt stehen die Achsenverhaeltnisse der Ellipsen fest */  /* Jetzt den Faktor herausfinden, indem jeder Punkt getestet wird */  for (DatenNr = 0; DatenNr < Daten.Lese_Groesse (); DatenNr++) {    Max = 0;    for (Dim = 0; Dim < Daten.Lese_Dim (); Dim++) {      if (Achsen[Zuordnung[DatenNr]][Dim] != 0)	Max += (Daten[DatenNr][Dim] - Cluster[Zuordnung[DatenNr]][Dim]) *	  (Daten[DatenNr][Dim] - Cluster[Zuordnung[DatenNr]][Dim]) /	  Achsen[Zuordnung[DatenNr]][Dim];    }    if (Max > Faktor[Zuordnung[DatenNr]])      Faktor[Zuordnung[DatenNr]] = Max;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本特黄久久久高潮| 久久午夜电影网| 成人黄色在线视频| 国产精品一区二区久久精品爱涩| 亚洲在线视频网站| 亚洲国产日韩精品| 亚洲成av人片一区二区| 日韩国产欧美三级| 久久成人免费日本黄色| 国产毛片一区二区| 成人美女视频在线观看| 99re亚洲国产精品| 欧美日韩免费观看一区三区| 9i看片成人免费高清| 一道本成人在线| 欧美三日本三级三级在线播放| 欧美中文字幕一区二区三区亚洲| 在线观看免费亚洲| 91精品国产美女浴室洗澡无遮挡| 欧美精品在线视频| 色综合久久天天| 一区二区在线免费| 日本sm残虐另类| 国产精品77777| 色婷婷av久久久久久久| 制服丝袜av成人在线看| 久久综合资源网| 亚洲免费观看高清在线观看| 亚洲一线二线三线久久久| 日韩成人dvd| 粉嫩欧美一区二区三区高清影视| 欧美综合亚洲图片综合区| 日韩欧美高清dvd碟片| 国产日韩欧美综合在线| 一区二区三区日本| 六月丁香综合在线视频| 91在线小视频| 日韩美女视频在线| 亚洲四区在线观看| 美脚の诱脚舐め脚责91| 91天堂素人约啪| 精品国产成人系列| 亚洲国产综合在线| 成人短视频下载| 日韩三级视频中文字幕| 亚洲激情网站免费观看| 国产精品一品二品| 555夜色666亚洲国产免| 亚洲天堂2014| 国产高清在线观看免费不卡| 777午夜精品免费视频| 国产精品久久久久久亚洲伦 | |精品福利一区二区三区| 亚洲午夜电影网| 国产91富婆露脸刺激对白| 91精品国产入口| 亚洲一卡二卡三卡四卡无卡久久| 国产成人精品免费一区二区| 欧美一区二区久久| 亚洲第一狼人社区| 91福利视频久久久久| 国产欧美精品区一区二区三区| 日本特黄久久久高潮| 欧美精品久久99久久在免费线 | 欧美一区二区三区视频免费播放| 亚洲欧洲三级电影| 成人av在线影院| 国产欧美一二三区| 国产麻豆日韩欧美久久| 日韩一级二级三级| 青青草国产成人99久久| 欧美精品 日韩| 日韩专区中文字幕一区二区| 欧美午夜不卡在线观看免费| 伊人色综合久久天天人手人婷| 国产精品羞羞答答xxdd| 国产亚洲欧美在线| 丰满亚洲少妇av| 国产欧美精品国产国产专区| 成人黄色av电影| 欧洲国内综合视频| 亚洲一区二区三区四区五区黄 | 一区二区三区蜜桃| 日韩成人dvd| 欧美一级一区二区| 久久爱www久久做| 精品国产乱码久久久久久牛牛| 奇米一区二区三区| 久久综合久色欧美综合狠狠| 久久99精品国产麻豆婷婷 | 久久久久久麻豆| 国产成人综合亚洲网站| 国产精品久久久久三级| 在线亚洲高清视频| 日韩精品久久久久久| 久久亚洲精品小早川怜子| 成人午夜免费电影| 亚洲精品成人少妇| 日韩一区二区在线看片| 国产原创一区二区| 国产精品久久久久久福利一牛影视| 91视视频在线直接观看在线看网页在线看| 一区二区三区在线视频免费| 欧美日韩一级片在线观看| 久久99国产乱子伦精品免费| 国产欧美日韩视频在线观看| 色悠久久久久综合欧美99| 亚洲成人黄色小说| 久久精品人人做人人爽97| 亚洲国产另类av| 日韩精品一区二区三区视频在线观看 | 97国产一区二区| 午夜不卡在线视频| 国产区在线观看成人精品| 色综合天天性综合| 精品综合免费视频观看| 亚洲精品视频在线观看免费| 日韩精品一区二区三区视频播放| 91麻豆国产在线观看| 精品国产精品网麻豆系列| 成人黄色在线视频| 欧美一区午夜精品| 色噜噜狠狠色综合欧洲selulu| 日韩激情av在线| 中文字幕字幕中文在线中不卡视频| 欧美一区欧美二区| 日本韩国一区二区| 成人亚洲一区二区一| 免费观看久久久4p| 一区二区成人在线观看| 欧美精彩视频一区二区三区| 欧美一个色资源| 欧美专区在线观看一区| 国产精品久久久久久久岛一牛影视| 欧美一卡二卡在线观看| 91福利在线看| 不卡区在线中文字幕| 国产精品456| 麻豆91免费观看| 婷婷开心久久网| 亚洲电影激情视频网站| 亚洲欧美一区二区在线观看| 久久久国产综合精品女国产盗摄| 91精品免费在线| 欧美色网站导航| 在线观看www91| 成人av先锋影音| 国产精品中文有码| 精品国产一区二区亚洲人成毛片 | 欧美性色黄大片手机版| 91视频在线观看免费| 成人av先锋影音| 97精品久久久久中文字幕| 99久久久久久| 色哟哟精品一区| 色综合亚洲欧洲| 91啦中文在线观看| 在线免费视频一区二区| 97精品视频在线观看自产线路二| 亚洲一区二区三区在线播放| 亚洲一区二区视频| 亚洲国产精品久久人人爱蜜臀| 亚洲国产日韩av| 蜜臀精品一区二区三区在线观看| 日韩—二三区免费观看av| 蜜桃久久久久久| 国产精品影音先锋| 成人精品鲁一区一区二区| 丁香网亚洲国际| 色婷婷精品久久二区二区蜜臂av| 91免费观看国产| 欧美性猛交xxxx黑人交| 91精品国产乱码| 在线观看免费一区| 国模套图日韩精品一区二区| 国产福利一区在线观看| av不卡一区二区三区| 欧美日韩一级片在线观看| 日韩精品一区二区在线观看| 中文字幕成人在线观看| 亚洲特黄一级片| 麻豆91免费观看| 成年人午夜久久久| 在线播放国产精品二区一二区四区| 日韩一区二区三区精品视频| 久久精品视频在线免费观看| 尤物在线观看一区| 久久激五月天综合精品| 成人av先锋影音| 日韩欧美www| 亚洲精品乱码久久久久久| 日本v片在线高清不卡在线观看| 国产激情91久久精品导航 | 欧美色视频一区| 欧美精品一区二区在线播放 | 91精品国产高清一区二区三区 | 久久综合九色综合欧美98| 18欧美乱大交hd1984| 日韩国产精品91| 成人av在线网|