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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? demo12_9.cpp

?? 一本外國人寫的關于3D游戲編程的書的源碼
?? CPP
字號:
// DEMO12_9.CPP - Fuzzy Lingustic Variable manifold demo 
// note, I used a little C++ for fun, so you straight C guys pay
// attention

// INCLUDES ///////////////////////////////////////////////////////////////

#define WIN32_LEAN_AND_MEAN  // make sure certain headers are included correctly

#include <windows.h>         // include the standard windows stuff
#include <windowsx.h>        // include the 32 bit stuff
#include <conio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <stdio.h>
#include <math.h>
#include <io.h>
#include <fcntl.h>
#include <iostream.h>

// DEFINES ///////////////////////////////////////////////////////////////


// TYPES //////////////////////////////////////////////////////////////////


// CLASSES ///////////////////////////////////////////////////////////////

// this holds a single fuzzy linguistic variable
class CFLV 
      {
      private:

      char name[80];         // name of FLV  
      float min_range;       // start value of triangle
      float max_range;       // end value of triangle

      public:
      
      // constructors
      CFLV(char *nameflv, float min, float max) { strcpy(name, nameflv); min_range = min; max_range = max; }
      CFLV()  {min_range = 0; max_range = 0; }

      // destructor
      ~CFLV() {}

      // method to set range
      void CSetRange(float min, float max) { min_range = min; max_range = max; }

      // data access member
      char *GetName() {return(name);}

      // method to compute degree of membershiop
      float DegreeOfMembership(float xi)
            {
            // this method computes the degree of membership for the give input
            // if any and returns the value
   
            float degree_of_membership = 0.0,
                  slope                = 0.0;

           // first test if the input is in range
           if (xi >= min_range && xi <= max_range)
              {
              // compute intersection with left edge or right
              // always assume height of triangle is 1.0
              float center_point = (max_range + min_range)/2;

             // compare xi to center
             if (xi <= center_point)
                {
                // compute intersection on left edge
                // dy/dx = 1.0/(center - left)
                slope = 1.0/(center_point - min_range);
                degree_of_membership = (xi - min_range) * slope;

                } // end if
             else
                {
                // compute intersection on right edge
                // dy/dx = 1.0/(center - right)
                slope = 1.0/(center_point - max_range);
                degree_of_membership = (xi - max_range) * slope;
                } // end else

             } // end if
          else // not in range
             degree_of_membership = 0.0;

            // return value
            return(degree_of_membership);

            } // end DegreeOfMembership
      }; // end class CFLV

// create a pointer type of class
typedef CFLV *CFLV_PTR;

// this holds the manifold
class CFuzzyManifold
      {
      private:
 
      float domain_min;    // the range of the domain
      float domain_max;

      int num_flvs;        // number of fuzzy linguistic variables

      CFLV_PTR flvs[16];   // pointer to array of flvs, hold up to 16

      public: 

      // constructors
      CFuzzyManifold() { domain_min = 0; domain_max = 0; num_flvs = 0; }
      
      CFuzzyManifold(float min, float max) { domain_min = min; domain_max = max; }

      // destructor
      ~CFuzzyManifold() { for (int index=0; index < num_flvs; free(flvs[index++])); }

      // data access members
      float GetMin() {return(domain_min);}
      float GetMax() {return(domain_max);}
      
      // used to set the domain
      void SetDomain(float min, float max) { domain_min = min; domain_max = max; }

      // this method is used to enter in an FLV
      void EnterFLV(char *name, float min, float max)
          {
          // create a new flv
          flvs[num_flvs++] = new CFLV(name, min, max);

          } // end EnterFLV

      // this tests the membership of the input against all flvs
      // and prints out the results
      void PrintMemberships(float xi)
           {
           cout << "\nMemberships are:";           

           float sum = 0; // used to normalize data
 
           // for each category, that is FLV in manifold test the degree of membership
           for (int index=0; index < num_flvs; index++)
               { 
               cout << "\nDegree of membership for '" <<  flvs[index]->GetName() << "' ";
               cout << "is " << flvs[index]->DegreeOfMembership(xi);
       
               // add dom to sum
               sum+=flvs[index]->DegreeOfMembership(xi);
               } // end for index  

           cout << "\nand the normalized memberships are:";
           for (index=0; index < num_flvs; index++)
               { 
               cout << "\nNormalized Degree of membership for '" <<  flvs[index]->GetName() << "' ";
               cout << "is " << flvs[index]->DegreeOfMembership(xi)/sum;
               } // end for index  

            cout << "\n";
           }  // end PrintMemberships
     
      }; // end class CFuzzyManifold

typedef CFuzzyManifold *CFuzzyManifold_PTR;

// PROTOTYPES ////////////////////////////////////////////////////////////



// GLOBALS //////////////////////////////////////////////////////////////



// FUNCTIONS ////////////////////////////////////////////////////////////



// MAIN /////////////////////////////////////////////////////////////////

void main()
{

float min,  // used to input ranges
      max,
      xi;   // used for inputs

char name[80];  // used for string names

int num_flvs = 0;  // track number of flvs

CFuzzyManifold manifold; // the manifold

// begin code

// show sequence/instructions
cout << "\nFUZZiCON - Fuzzy Manifold Construction Kit\n";
cout << "\nStep 1: Enter the domain range of input variable.";
cout << "\nStep 2: Enter in the number of FLVs.";
cout << "\nStep 3: Enter data for each of the FLVs.\n";

cout << "\nBegin Fuzzy Manifold Construction...\n";


// get domain range
cout << "\nStep 1: Domain Range input.";
cout << "\nEnter Domain Range Minimum of Fuzzy Input Variable?";
cin >> min;

cout << "Enter Domain Range Maximum of Fuzzy Input Variable?";
cin >> max;

// set the domain of the manifold
manifold.SetDomain(min,max);

// enter number of flvs
cout << "\nStep 2: Number of FLVs";
cout << "\nEnter the number of Fuzzy Linguistic Variables in your fuzzy manifold?";
cin >> num_flvs;

cout << "\nStep 3: FLV data entry loop";

// get each of the flvs
for (int index=0; index < num_flvs; index++)
    {
    cout << "\nEnter Name of Fuzzy Linguistic Variable #" << index+1 << "?";
    cin >> name;

    cout << "\nEnter Minimum of Fuzzy Linguistic Variable #" << index+1 << "?";
    cin >> min;

    cout << "Enter Maximum of Fuzzy Linguistic Variable #" << index+1 << "?";    
    cin >> max;

    // create the flv in the manifold
    manifold.EnterFLV(name, min, max);

    } // end for index

cout << "\nFuzzy Manifold is ready to take input values \nand compute the degree of membership(s)!\n";

// input membership loop
while(1)
     {
     cout << "\nEnter input value to test in range " << manifold.GetMin() << " to " << manifold.GetMax() << "?";
     cin >> xi;

     // test membership in each flv
     manifold.PrintMemberships(xi);

     } // end while

} // end main

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久一区二区视频| 在线不卡a资源高清| 日韩av午夜在线观看| 亚洲一区在线视频| 午夜免费久久看| 天天综合天天做天天综合| 亚洲国产视频a| 日韩精品五月天| 午夜精品视频在线观看| 亚洲成人福利片| 天天色综合天天| 久久99精品久久久| 国内成人精品2018免费看| 精品一区二区三区香蕉蜜桃| 狠狠色丁香婷婷综合久久片| 国产一区二区精品久久91| 国产91丝袜在线播放0| 99久久99久久久精品齐齐| 欧美在线免费观看亚洲| 欧美精选在线播放| 精品少妇一区二区三区| 国产欧美va欧美不卡在线 | 激情综合五月婷婷| 国产成人亚洲综合a∨婷婷| www.爱久久.com| 欧美网站大全在线观看| 精品少妇一区二区| 亚洲欧美一区二区久久| 日本视频中文字幕一区二区三区| 极品少妇一区二区| 色综合色综合色综合色综合色综合 | 成人午夜私人影院| 欧美亚洲一区二区在线| 精品剧情在线观看| 欧美高清在线一区二区| 日日摸夜夜添夜夜添亚洲女人| 国产一区二区三区视频在线播放| 91美女在线观看| 日韩视频在线一区二区| 亚洲欧洲一区二区三区| 日韩中文字幕区一区有砖一区 | 欧美国产一区在线| 日韩激情中文字幕| 91免费观看视频在线| 精品乱人伦一区二区三区| 亚洲女人****多毛耸耸8| 国内外精品视频| 欧美性猛交xxxxxx富婆| 国产欧美日韩视频在线观看| 亚洲成人免费在线| 亚洲福中文字幕伊人影院| 奇米影视一区二区三区| 波多野结衣在线aⅴ中文字幕不卡| 欧美性猛片xxxx免费看久爱| 国产视频亚洲色图| 热久久一区二区| 欧美亚洲一区三区| 亚洲欧美中日韩| 国产99久久精品| 欧美成人激情免费网| 亚洲va欧美va人人爽午夜 | 91精品国产综合久久久久久漫画| 中文字幕日本不卡| 国产精品99久久久久| 91精品福利在线一区二区三区 | 国产在线精品免费| 欧美精品久久99久久在免费线| 亚洲欧美一区二区在线观看| 精品一区二区三区在线观看| 91精品国产品国语在线不卡| 亚洲6080在线| 91成人在线免费观看| 亚洲伦在线观看| 99久久99久久综合| 亚洲男人都懂的| 色噜噜狠狠色综合中国| 亚洲精品高清在线观看| 91久久精品午夜一区二区| 亚洲欧美日韩国产综合| 99麻豆久久久国产精品免费优播| 国产亚洲欧美在线| www.日韩精品| 亚洲精品国久久99热| 欧美在线999| 亚洲最大的成人av| 欧美日韩国产另类不卡| 日韩成人一区二区| 久久你懂得1024| 丁香天五香天堂综合| 亚洲欧美日韩人成在线播放| 欧美综合一区二区三区| 日韩精品福利网| 久久亚洲欧美国产精品乐播| 国产精品99精品久久免费| 国产精品麻豆欧美日韩ww| 色综合久久综合网97色综合 | 亚洲高清在线精品| wwwwww.欧美系列| 欧美日精品一区视频| 一区二区三区91| 久久精品国内一区二区三区| 欧美日本韩国一区二区三区视频| 国产嫩草影院久久久久| 亚洲成a人v欧美综合天堂下载| 欧美mv和日韩mv的网站| 日韩一区二区三| 欧美精品丝袜中出| 在线观看免费成人| 91福利视频在线| av成人免费在线观看| 国产成人av自拍| 懂色av一区二区夜夜嗨| 国产精品一区二区x88av| 久久国产综合精品| 久久精品国产精品亚洲精品| 性久久久久久久久久久久| 日韩久久久精品| 国产91丝袜在线播放0| 精品中文字幕一区二区| 午夜亚洲福利老司机| 夜夜亚洲天天久久| 亚洲国产欧美在线| 一区二区三区精品| 天天色 色综合| 日韩高清不卡一区二区三区| 天天综合天天做天天综合| 偷拍一区二区三区| 日本成人超碰在线观看| 男男视频亚洲欧美| 国产美女在线观看一区| 国产成人综合亚洲网站| 国产不卡免费视频| 91在线播放网址| 欧美三级三级三级| 精品国产一区a| 国产日韩成人精品| 一区二区激情小说| 日韩av电影免费观看高清完整版在线观看 | 日本成人在线网站| 亚洲一区二区高清| 国产jizzjizz一区二区| 成人精品一区二区三区四区| 99国产精品久久久久久久久久| 日本福利一区二区| 欧美一区二区三区在线观看视频| 欧美精品一区二区三区视频| 国产精品国产三级国产有无不卡 | 韩国v欧美v日本v亚洲v| 成人亚洲一区二区一| 欧美日韩免费观看一区三区| 精品美女在线播放| 亚洲色欲色欲www| 久久爱另类一区二区小说| 成人激情视频网站| 欧美美女喷水视频| 国产精品毛片高清在线完整版 | 欧美亚男人的天堂| 精品国产欧美一区二区| 亚洲伦理在线免费看| 精品中文字幕一区二区小辣椒| 波多野结衣一区二区三区 | 日韩写真欧美这视频| av爱爱亚洲一区| 欧美日韩精品三区| 国产亚洲一区二区三区四区| 亚洲小说欧美激情另类| 国产伦精品一区二区三区视频青涩| 99久久精品国产导航| 欧美电视剧在线观看完整版| 18涩涩午夜精品.www| 久久99深爱久久99精品| 在线看一区二区| 国产女人aaa级久久久级 | 欧美日韩激情一区二区| 国产精品久久久久久亚洲伦| 青青草国产精品亚洲专区无| 色综合久久久久网| 国产欧美一区二区三区鸳鸯浴| 香蕉久久夜色精品国产使用方法| 成人一区二区在线观看| 日韩免费在线观看| 婷婷丁香久久五月婷婷| 色噜噜久久综合| 中文字幕成人在线观看| 中文字幕精品—区二区四季| 久久成人麻豆午夜电影| 亚洲一二三四区| av不卡免费在线观看| 久久久久久电影| 捆绑调教美女网站视频一区| 欧美午夜精品理论片a级按摩| 中文字幕一区二区三区av| 国产一区二区不卡在线| 日韩视频一区二区| 日本少妇一区二区| 欧美一区二区播放| 日韩成人午夜精品| 日韩女同互慰一区二区| 日本成人在线不卡视频| 日韩视频在线你懂得|