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

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

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

    浪跡天涯
    web報表設計器....
    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)是第一端點???
    ???????? double ?y_3? = ?y2? - ?arrXY_1[ 1 ];
    ????????
    double ?x_4? = ?x2? - ?arrXY_2[ 0 ]; // (x4,y4)是第二端點???
    ???????? 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 ];
    ????????
    // 矢量旋轉函數,參數含義分別是x分量、y分量、旋轉角、是否改變長度、新長度???
    ???????? 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 閱讀(5295) 評論(4)  編輯  收藏 所屬分類: swt日記

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

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


    網站導航:
     
    主站蜘蛛池模板: 精品免费国产一区二区三区| 永久免费在线观看视频| 免费羞羞视频网站| 久久综合久久综合亚洲| 成人性生活免费视频| 亚洲综合小说另类图片动图| 免费看国产精品3a黄的视频| 亚洲一久久久久久久久| 国产成人啪精品视频免费网| 特级毛片A级毛片100免费播放| 亚洲成网777777国产精品| 国产黄在线播放免费观看| 亚洲VA成无码人在线观看天堂| 99精品视频在线免费观看| 亚洲一区二区三区亚瑟| 免费观看一级毛片| 一级做a免费视频观看网站| 中文亚洲AV片不卡在线观看| 东方aⅴ免费观看久久av| 亚洲精品免费在线| 成人免费视频小说| 九九免费久久这里有精品23| 亚洲AV永久无码精品| 国产99视频精品免费观看7| 亚洲1区2区3区精华液| 久久久久亚洲?V成人无码| 免费A级毛片在线播放| 亚洲日韩精品无码专区加勒比☆| 亚洲国产成人乱码精品女人久久久不卡 | 亚洲AV之男人的天堂| 99视频免费在线观看| 亚洲成人黄色在线观看| 国产成人高清精品免费鸭子| 国产成人无码免费网站| 亚洲免费黄色网址| 国产亚洲午夜高清国产拍精品| 亚洲免费一级视频| 特黄特色的大片观看免费视频| 亚洲人成电影福利在线播放 | 永久黄色免费网站| 噜噜综合亚洲AV中文无码|