<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    浪跡天涯
    web報(bào)表設(shè)計(jì)器....
    posts - 61,comments - 71,trackbacks - 0
    ???? /**
    ?????*?畫帶箭頭的線
    ?????*?
    */

    ????
    public ? void ?paintk(GC?g,? int ?x1,? int ?y1,? int ?x2,? int ?y2)? {

    ????????
    double ?H? = ? 10 ;? // 箭頭高度???
    ???????? double ?L? = ? 7 ; // 底邊的一半??
    ???????? int ?x3? = ? 0 ;
    ????????
    int ?y3? = ? 0 ;
    ????????
    int ?x4? = ? 0 ;
    ????????
    int ?y4? = ? 0 ;
    ????????
    double ?awrad? = ?Math.atan(L? / ?H);? // 箭頭角度???
    ???????? double ?arraow_len? = ?Math.sqrt(L? * ?L? + ?H? * ?H); // 箭頭的長度???
    ???????? double []?arrXY_1? = ?rotateVec(x2? - ?x1,?y2? - ?y1,?awrad,? true ,?arraow_len);
    ????????
    double []?arrXY_2? = ?rotateVec(x2? - ?x1,?y2? - ?y1,? - awrad,? true ,?arraow_len);
    ????????
    double ?x_3? = ?x2? - ?arrXY_1[ 0 ];? // (x3,y3)是第一端點(diǎn)???
    ???????? double ?y_3? = ?y2? - ?arrXY_1[ 1 ];
    ????????
    double ?x_4? = ?x2? - ?arrXY_2[ 0 ]; // (x4,y4)是第二端點(diǎn)???
    ???????? double ?y_4? = ?y2? - ?arrXY_2[ 1 ];

    ????????Double?X3?
    = ? new ?Double(x_3);
    ????????x3?
    = ?X3.intValue();
    ????????Double?Y3?
    = ? new ?Double(y_3);
    ????????y3?
    = ?Y3.intValue();
    ????????Double?X4?
    = ? new ?Double(x_4);
    ????????x4?
    = ?X4.intValue();
    ????????Double?Y4?
    = ? new ?Double(y_4);
    ????????y4?
    = ?Y4.intValue();
    ????????
    // g.setColor(SWT.COLOR_WHITE);
    ????????
    // 畫線
    ????????g.drawLine(x1,?y1,?x2,?y2);
    ????????
    // 畫箭頭的一半
    ????????g.drawLine(x2,?y2,?x3,?y3);
    ????????
    // 畫箭頭的另一半
    ????????g.drawLine(x2,?y2,?x4,?y4);

    ????}

    ????
    ????
    /**
    ?????*取得箭頭的繪畫范圍
    ?????
    */


    ????
    public ? double []?rotateVec( int ?px,? int ?py,? double ?ang,? boolean ?isChLen,
    ????????????
    double ?newLen)? {

    ????????
    double ?mathstr[]? = ? new ? double [ 2 ];
    ????????
    // 矢量旋轉(zhuǎn)函數(shù),參數(shù)含義分別是x分量、y分量、旋轉(zhuǎn)角、是否改變長度、新長度???
    ???????? double ?vx? = ?px? * ?Math.cos(ang)? - ?py? * ?Math.sin(ang);
    ????????
    double ?vy? = ?px? * ?Math.sin(ang)? + ?py? * ?Math.cos(ang);
    ????????
    if ?(isChLen)? {
    ????????????
    double ?d? = ?Math.sqrt(vx? * ?vx? + ?vy? * ?vy);
    ????????????vx?
    = ?vx? / ?d? * ?newLen;
    ????????????vy?
    = ?vy? / ?d? * ?newLen;
    ????????????mathstr[
    0 ]? = ?vx;
    ????????????mathstr[
    1 ]? = ?vy;
    ????????}

    ????????
    return ?mathstr;
    ????}
    posted on 2007-09-21 09:39 JJCEA 閱讀(5306) 評論(4)  編輯  收藏 所屬分類: swt日記

    FeedBack:
    # re: java畫帶箭頭的線
    2007-09-21 10:06 | 千里冰封
    呵呵,有點(diǎn)意思:)  回復(fù)  更多評論
      
    # re: java畫帶箭頭的線
    2007-09-24 16:08 | anxite
    public void paintk(GC g, int x1, int y1, int x2, int y2)
    GC g是什么?急用,謝謝!  回復(fù)  更多評論
      
    # re: java畫帶箭頭的線
    2007-09-24 18:09 | 我的java生涯
    swt提供了GC來畫圖的
    if (gc == null || gc.isDisposed()) {
    gc = new GC(canvas);
    }  回復(fù)  更多評論
      
    # re: java畫帶箭頭的方法
    2008-02-02 22:44 | 安安
    請問這個(gè)有全部的原始碼嗎,可否提供參考  回復(fù)  更多評論
      

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: h视频在线免费观看| 日韩精品免费一线在线观看 | 亚洲三级在线免费观看| 无码区日韩特区永久免费系列 | 午夜一区二区免费视频| 久久精品国产亚洲av天美18| 免费一级毛片正在播放| 国产精品免费福利久久| 国产成人精品日本亚洲语音| 亚洲成人免费网站| 亚洲开心婷婷中文字幕| 免费观看亚洲人成网站| 好先生在线观看免费播放| 嫩草影院在线播放www免费观看| 精品国产日韩亚洲一区在线| 亚洲午夜在线播放| 亚洲黄色在线观看视频| 亚洲国产精品嫩草影院在线观看| 亚洲国产精品一区二区第四页| 无人在线观看免费高清视频| 亚洲免费视频播放| 久久一区二区三区免费播放| 中文在线免费视频| 亚洲成AV人片在线观看| 久久久无码精品亚洲日韩软件 | 亚洲精品国精品久久99热| 日产乱码一卡二卡三免费| 成人免费视频网站www| 热re99久久6国产精品免费| 日韩精品无码免费专区午夜 | 在线观看日本免费a∨视频| 91久久成人免费| 1000部夫妻午夜免费| 18禁美女黄网站色大片免费观看 | 亚洲国产精品人人做人人爱| 免费看少妇作爱视频| 韩国欧洲一级毛片免费| 国产精品免费视频网站| 四虎必出精品亚洲高清| 一二三四免费观看在线视频中文版 | 亚洲欧美一区二区三区日产|