• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 64,comments - 18,trackbacks - 0

            終于完成了A階段,下面可以進入B階段了,主要集中在程序的UI上,另外考慮如何提升速度。

            我的臨時文檔,看起來好亂,程序里的標識符也沒完全按文檔里的來,真是亂套了,明天好好修改修改。

             

             

            放入MyDefine.h,MyDefine.cpp文件

            1. 河的邊線

            Doc里放入:

            //num of ctrl pnt,nodal pnt,display style,

            //wave speed wave distance and wave num

            int ctrlNum,ndlNum,style,wSpeed,wDistance,wNum;

            //the pnt array represent ctrl pnts and nodal pnts.

            CArray <CPoint,CPoint&> c_PntsL,c_PntR,n_PntsL,n_PntsR;

            視圖類和文檔類都要引用MyDefine.h,用#ifndef

            以下內容放在視圖類里的OnCreate函數中,先為CView的派生類聲明一個圖元文件的數據成員HMETAFILE m_hMetaFile;

            CArray <CPoint,CPoint&> initL,initR;

            //預先輸入的控制點,自定義

            Int const Max=60;

            //CArray <CPointPartner,CPointPartner&> init_CPntPtr,final_CPntPtr;

            //CPointPartner作為TYPE有問題,還是用數組

            //改為:

            CPointPartner init_CPntPtr[Max],final_CPntPtr[Max];

            //最后的點對數組final_CPntPtr給CCurve類用

            While(i<Num)

            {

            CPointPartner temp_CPntPtr (initL[i],initR[i]);

            init_CPntPtr.Add(temp_CPntPtr);

            i++;

            }

            //鼠標點擊或預先指定控制點,即一些點對

            //以及處理后得到的點對

            CSpline spL (initL);

            CSpline spR (initR);

            //兩邊的樣條曲線

            CArray<CPoint,CPoint&> finalL,finalR;

            //處理后得到的樣條曲線上的點

            spL.GetPoints(finalL);

            spR.GetPoints(finalR);

            Count=finalL.GetSize();

            For(int i=0;i<count;i++)

            {

            CPointPartner Temp_finalP (finalL[i],finalR[i])

            Final_CPntPtr[i]=temp_finalP;//重載=運算符

            }

            //將樣條對象spL,spR里的點放入finalL和finalR,之后又放入點對數組final_CPntPtr;

            //共count個點對

            CMetaFileDC metaFileDC;

            metaFileDC.Create();

            這里畫出邊線(通過finalL和finalR

            m_hMetaFile=metaFileDC.Close();

            5.23晚19:30以上程序的調試已完成(未加鼠標控制)

            2. 一道道波紋(CCurve類)

            在視圖類中聲明數據:CArray<Points,Points&> mPntsCurve;

            在OnDraw里

            先確定水波位置:

            WavePL[i]和WavePR[i]

            For(int i=0,i<WaveN;i++)

            {

            CCurve tempCurve (final_CPntPtr[i]);

            tempCurve.ComputePnts(mPntsCurve);

            連這些點成線

            }

            詳細設計:

            Doc里定義兩個點,

            View里定義一個函數BOOL ComputePnts(CArray<CPoint,CPoint&>& m_Pnts,CPoint m_LPnt,CPoint m_RPnt)

            OnDraw里給兩個點賦值,調用ComputePnts,再繪圖

            MFC的聯系

            //用圖元文件保存邊線,中間的curve即時畫出來

            //要描繪的點,每兩點畫條線連接LineTO

            或者將點集的計算都放在文檔類中,給文檔類新建兩個函數

            數據的放置位置還得琢磨琢磨

            5.21 晚12:00此文檔完成

            Spline的計算在CDoc里,Curve的計算在CView

            5. 29 晚1:47 添加(明天再修改)

             

            5.30

            Q: Spline里的temp值使得數組越界問題

            A: 精度造成的,兩個float型變量t和T1[j1+1]都為0.90000,但t>T1[j1+1]為true,

            Tips

            1. 查找類型強制轉換以及精度丟失的知識

            2. 看林銳的《高質量C++編程》,注意這些細節。

            5.31

            已完成:位圖作為背景。

             

            Q:鼠標控制的問題

            posted on 2007-05-30 02:01 rebol 閱讀(256) 評論(0)  編輯 收藏 引用 所屬分類: Final work LOG
            久久精品国产精品亚洲精品| 久久中文字幕精品| 亚洲精品无码久久久| 精品人妻久久久久久888| 亚洲精品高清一二区久久| 久久久久99精品成人片试看| 久久久久国色AV免费观看| 狠狠色丁香婷婷久久综合不卡 | 精品久久久久久国产| 一级做a爰片久久毛片16| 久久婷婷五月综合国产尤物app| 日韩精品无码久久一区二区三| 久久久九九有精品国产| 久久综合狠狠综合久久综合88| 欧美午夜A∨大片久久| 久久综合一区二区无码| 色综合久久久久综合体桃花网| 日韩十八禁一区二区久久| 久久久久国产一区二区三区| 国产高潮久久免费观看| 久久精品成人免费国产片小草| 国产免费久久精品99久久| 国产高潮久久免费观看| 久久九九久精品国产| 热久久国产欧美一区二区精品| www亚洲欲色成人久久精品| 国产真实乱对白精彩久久| 久久久久18| 欧洲人妻丰满av无码久久不卡 | 久久A级毛片免费观看| 久久国产精品无码一区二区三区| A狠狠久久蜜臀婷色中文网| 国内精品久久国产大陆| 久久精品国产一区二区三区不卡| 久久久久噜噜噜亚洲熟女综合| 久久夜色精品国产亚洲| 国色天香久久久久久久小说| 99久久免费国产精精品| 久久无码一区二区三区少妇 | 亚洲国产精品无码成人片久久| 麻豆亚洲AV永久无码精品久久 |