B2BÍøÂçÈí¼þ

 ÕÒ»ØÃÜÂë
 Á¢¼´×¢²á ÉóºËÍøÕ¾ºÅ:QQ:896757558
ËÑË÷
²é¿´: 3|»Ø¸´: 0
´òÓ¡ ÉÏÒ»Ö÷Ìâ ÏÂÒ»Ö÷Ìâ

ÈçºÎÔÚ´¥ÃþÆÁÉÏÉú³Éƽ»¬µÄ±´Èû¶ûÇúÏßÊÖÊÆ

[¸´ÖÆÁ´½Ó]

790

Ö÷Ìâ

795

Ìû×Ó

6436

»ý·Ö

abc

Rank: 9Rank: 9Rank: 9

»ý·Ö
6436
Ìøתµ½Ö¸¶¨Â¥²ã
Â¥Ö÷
 Ëæ»úÊýÉú³Éº¯Êý
function random(a, b) {
    return rand.randNumber(a, b);
}

/**
 * @param time_ms {number} Ö´ÐÐʱ¼ä ms ÀýÈç 3000
 * @param t {number} ¼ä¸ôϵÊý 0-1 ¼ä, ԽСÏßÌõÏßÌõÔ½Ô²Èó,¼ÆËãÁ¿Ô½´ó, ÀýÈç 0.005
 * @param pt {number[][]} ¿ØÖƵã×ø±êµÄ¶þάÊý×é ÀýÈç [[137,169],[140,283]]
 */
function bezier(time_ms, t, pt) {
    var gesture1 = new path(); // ´´½¨Ò»¸öÊÖÊƶÔÏó
    gesture1.setStarTime(10); // ¿ªÊ¼Ç°ÑÓʱ
    var fps = 1 / t;
    for (let i = 0; i <= fps; i++) {
        let copyArr = Array.from(pt, row => row.slice()); // ¿½±´Ò»·Ý jsµÄÊý×éÊÇÒýÓô«µÝ
        var xy = calculateBezier(i * t, copyArr);
        gesture1.addPoint(xy[0], xy[1]);
    }
    gesture1.setDurTime(time_ms); // Íê³Éʱ¼ä
    auto.dispatchGesture([gesture1]); // Ö´ÐÐÊÖÊƲÙ×÷
}

/**
 * @param t {number} 0 ~ 1µÄʱ¼ä
 * @param point2Fs {number[][]} ±´Èû¶ûµã¼¯ºÏ
 * @return {number[]} ·µ»Øµ±Ç°Ê±¼äϵı´Èû¶ûµã
 */
function calculateBezier(t, point2Fs) {
    let len = point2Fs.length;
    for (let i = len - 1; i > 0; i--) {
        for (let j = 0; j < i; j++) {
            point2Fs[j][0] = point2Fs[j][0] + (point2Fs[j + 1][0] - point2Fs[j][0]) * t;
            point2Fs[j][1] = point2Fs[j][1] + (point2Fs[j + 1][1] - point2Fs[j][1]) * t;
        }
    }

    return [parseInt(point2Fs[0][0]), parseInt(point2Fs[0][1])];
}

// ¿ØÖƵã
var CtrlPt1 = [
    [167, 625], // Æðµã1
    [200, 200],
    [500, 500],
    [300, 100]
];

var CtrlPt2 = [
    [309, 833], // Æðµã2
    [500, 700],
    [600, 600],
    [500, 300]
];

var CtrlPt3 = [
    [151, 892], // Æðµã3
    [300, 880], // ÒýÈëY×ø±êµÄС±ä»¯
    [450, 895], // ÒýÈëY×ø±êµÄС±ä»¯
    [600, 885]  // ÒýÈëY×ø±êµÄС±ä»¯
];

// Ö´Ðб´Èû¶ûÊÖÊÆ
bezier(4000, 0.005, CtrlPt1);
bezier(4000, 0.005, CtrlPt2);
bezier(4000, 0.005, CtrlPt3);

bezier(time_ms, t, pt) º¯Êý

ÈçºÎÔÚ´¥ÃþÆÁÉÏÉú³Éƽ»¬µÄ±´Èû¶ûÇúÏßÊÖÊÆ B2BÍøÂçÈí¼þ ÈçºÎÔÚ´¥ÃþÆÁÉÏÉú³Éƽ»¬µÄ±´Èû¶ûÇúÏßÊÖÊÆ B2BÍøÂçÈí¼þ ÈçºÎÔÚ´¥ÃþÆÁÉÏÉú³Éƽ»¬µÄ±´Èû¶ûÇúÏßÊÖÊÆ B2BÍøÂçÈí¼þ

Õâ¸öº¯ÊýÓÃÓÚÉú³É²¢Ö´ÐÐÒ»¸ö±´Èû¶ûÇúÏßÊÖÊÆ¡£¾ßÌå²ÎÊý½âÊÍÈçÏ£º

  1. time_ms£º

    • ×÷Ó㺶¨ÒåÊÖÊÆ´Ó¿ªÊ¼µ½½áÊøµÄ×Üʱ¼ä£¬µ¥Î»ÊǺÁÃë¡£
    • ʾÀý£ºbezier(4000, 0.005, CtrlPt1); ±íʾÕû¸öÊÖÊƽ«ÔÚ4000ºÁÃ루4Ã룩ÄÚÍê³É¡£
  2. t£º

    • ×÷Ó㺶¨Òå¼ä¸ôϵÊý£¬ÓÃÓÚ¿ØÖƱ´Èû¶ûÇúÏߵļÆË㾫¶ÈºÍÏßÌõµÄÔ²Èó¶È¡£t µÄÈ¡Öµ·¶Î§ÊÇ0µ½1Ö®¼ä¡£
    • ¾«¶ÈÓëÔ²Èó¶È£º½ÏСµÄ t ÖµÒâζ׿ÆËãµÄ¼ä¸ô¸üС£¬Éú³ÉµÄÇúÏ߸üÔ²È󣬵«¼ÆËãÁ¿Ò²»áÏàÓ¦Ôö¼Ó¡£½Ï´óµÄ t ÖµÔò±íʾ¼ÆËã¼ä¸ô¸ü´ó£¬ÇúÏß¿ÉÄÜ»áÏԵøüÕÛÏß»¯£¬¼ÆËãÁ¿½ÏÉÙ¡£
    • ʾÀý£ºbezier(4000, 0.005, CtrlPt1); ÖеĠt Îª0.005£¬±íʾÿ0.005µÄʱ¼äµ¥Î»¼ÆËãÒ»´Î±´Èû¶ûÇúÏßÉϵĵ㡣
  3. pt£º

    • ×÷Ó㺶¨Òå±´Èû¶ûÇúÏߵĿØÖƵã×ø±ê¡£¿ØÖƵã¾ö¶¨Á˱´Èû¶ûÇúÏßµÄÐÎ×´¡£ÆðµãºÍÖÕµãÊÇÇúÏßµÄÁ½¶Ë£¬¶øÖмäµÄ¿ØÖƵã¾ö¶¨ÁËÇúÏßÈçºÎÍäÇú¡£
    • ¸ñʽ£ºpt ÊÇÒ»¸ö¶þάÊý×飬ÆäÖÐÿ¸ö×ÓÊý×é°üº¬Á½¸öÊý×Ö£¬·Ö±ð±íʾ¿ØÖƵãµÄX×ø±êºÍY×ø±ê¡£
    • ʾÀý£º
      • CtrlPt1 ¶¨ÒåÁËÆðµã [167, 625]£¬Á½¸ö¿ØÖƵã [200, 200] ºÍ [500, 500]£¬ÒÔ¼°ÖÕµã [300, 100]¡£
      • CtrlPt2 ¶¨ÒåÁËÆðµã [309, 833]£¬Á½¸ö¿ØÖƵã [500, 700] ºÍ [600, 600]£¬ÒÔ¼°ÖÕµã [500, 300]¡£
      • CtrlPt3 ¶¨ÒåÁËÆðµã [151, 892]£¬Á½¸ö¿ØÖƵã [300, 880] ºÍ [450, 895]£¬ÒÔ¼°ÖÕµã [600, 885]¡£

calculateBezier(t, point2Fs) º¯Êý

Õâ¸öº¯ÊýÓÃÓÚ¼ÆËã±´Èû¶ûÇúÏßÔÚij¸öʱ¼äµã t ÉϵÄ×ø±ê¡£¾ßÌå²ÎÊý½âÊÍÈçÏ£º

  1. t£º

    • ×÷Ó㺱íʾʱ¼ä²ÎÊý£¬È¡Öµ·¶Î§ÊÇ0µ½1Ö®¼ä¡£t=0 ¶ÔÓ¦ÇúÏßµÄÆðµã£¬t=1 ¶ÔÓ¦ÇúÏßµÄÖյ㡣
    • ¼ÆËã¹ý³Ì£ºÍ¨¹ýµÝ¹éµØ²åÖµ¼ÆË㣬×îÖյõ½ t Ê±¿ÌµÄÇúÏß×ø±ê¡£
  2. point2Fs£º

    • ×÷Ó㺰üº¬±´Èû¶ûÇúÏߵĿØÖƵã×ø±ê¡£
    • ¸ñʽ£º¶þάÊý×飬ÿ¸ö×ÓÊý×é°üº¬Á½¸öÊý×Ö£¬·Ö±ð±íʾ¿ØÖƵãµÄX×ø±êºÍY×ø±ê¡£

¼ÆËã±´Èû¶ûÇúÏßµÄÏêϸ¹ý³Ì

±´Èû¶ûÇúÏߵļÆËãͨ³£Ê¹ÓõݹéµÄ²åÖµ·½·¨¡£ÔÚ calculateBezier º¯ÊýÖУ¬¾ßÌå²½ÖèÈçÏ£º

  1. ¿½±´¿ØÖƵãÊý×飺

    • ÓÉÓÚ JavaScript ÖÐÊý×éÊÇÒýÓô«µÝµÄ£¬ÎªÁ˱ÜÃâÐÞ¸Äԭʼ¿ØÖƵãÊý×飬Ê×ÏÈÐèÒª¿½±´Ò»·Ý point2Fs¡£
  2. µÝ¹é²åÖµ¼ÆË㣺

    • ¶ÔÓÚÿ¸ö¿ØÖƵ㣬ͨ¹ýÏßÐÔ²åÖµ¼ÆËãеĵ㣬ֱµ½Ö»Ê£ÏÂÒ»¸öµãΪֹ¡£
    • ¾ßÌ幫ʽΪ£ºpoint2Fs[j][0] = point2Fs[j][0] + (point2Fs[j + 1][0] - point2Fs[j][0]) * t;
      • ÕâÀïµÄ t Êǵ±Ç°Ê±¼ä²ÎÊý£¬point2Fs[j][0] ºÍ point2Fs[j + 1][0] ÊÇÏàÁÚ¿ØÖƵãµÄX×ø±ê¡£
      • ͨ¹ýÕâ¸ö¹«Ê½¼ÆËãеÄX×ø±ê¡£
    • ͬÑùµØ£¬¼ÆËãеÄY×ø±ê£ºpoint2Fs[j][1] = point2Fs[j][1] + (point2Fs[j + 1][1] - point2Fs[j][1]) * t;
  3. ·µ»Ø½á¹û£º

    • ×îÖÕ£¬point2Fs[0] ½«°üº¬±´Èû¶ûÇúÏßÔÚ t Ê±¼äµãµÄ×ø±ê¡£
    • ·µ»ØÕâ¸ö×ø±ê [parseInt(point2Fs[0][0]), parseInt(point2Fs[0][1])]£¬ÆäÖРparseInt ÓÃÓÚ½«×ø±êת»»ÎªÕûÊý¡£

Ö´Ðб´Èû¶ûÊÖÊÆ

ÔÚ bezier º¯ÊýÖУ¬Í¨¹ýÑ­»·µ÷ÓàcalculateBezier º¯Êý£¬Éú³É´ÓÆðµãµ½ÖÕµãµÄһϵÁе㣬²¢½«ÕâЩµãÌí¼Óµ½ gesture1 ¶ÔÏóÖУ¬×îºóͨ¹ý auto.dispatchGesture([gesture1]); Ö´ÐÐÕâ¸öÊÖÊƲÙ×÷¡£

»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

±¾°æ»ý·Ö¹æÔò

¹Ø±Õ

QQ|»ÓªÏúÈí¼þ×ÛºÏÌÖÂÛ|»ÓªÏúÈí¼þÓÐÎʱشð|»ÓªÏúÈí¼þ½Ì³ÌרÇø|»ÓªÏúÈí¼þPOST½Å±¾·ÖÏí|»ÓªÏúÈí¼þÆÕͨ½Å±¾·ÖÏí|»ÓªÏúÈí¼þÈí¼þ×ÊѶ|»ÓªÏúÈí¼þ¾«Æ·Èí¼þ|»ÓªÏúÈí¼þ¸üй«¸æ|ÓªÏúÈí¼þ|B2BÈí¼þ|B2BÍøÂçÈí¼þ ( ¾©ICP±¸09078825ºÅ )±¾ÍøÕ¾¿ª·¢µÄÓªÏúÈí¼þÊÇÒ»¿îеÄÍøÂçÓªÏúÈí¼þ£¬Õâ¿îÓªÏú¿ÉÒÔÈ¥ÍøÕ¾Èí¼þ£¬²©¿ÍÈí¼þ£¬B2BÈí¼þ£¬·ÖÀàÐÅÏ¢Íø·¢Ìù£¬¿ÉÒÔÇÀɳ·¢£¬¿ÉÒÔµ½°Ù¶ÈÎÄ¿âÉÏ´«WORDÎĵµ£¬¿ÉÒÔµ½Ò»Ð©ÊÇÏà²áÍøÕ¾×Ô¶¯ÉÏ´«Í¼Æ¬£¬Õâ¸ö×Ô¶¯·¢ÌûÈí¼þ×Ô´øÔÆÖ©Ö룬¼Ó¿ìÊÕ¼£¬ÓÐ6ÖÖ¶Ô½Ó´òÂë½Ó¿Ú£¬·½±ã£¬Ð§Âʸߣ¬Ëٶȿ죬¶øÇÒ¶ÔÍ϶¯µÄÑéÖ¤ÂëÈ«ÍøµÚÒ»¼Ò¶À¼ÒÖ§³Ö£¬È«²¿Ô­´´¼¼Êõ£¬¶À¼ÒÑз¢£¬Õý°æÔ­´´´ø°æȨÈí¼þ¡£Ñ¡ÔñÍòÄÜÓªÏúÈí¼þ£¬¾ÍÑ¡ÔñÁËÒ»ÖÖ׬ǮµÄЧÂÊ£¬´ÓûÓб»³¬Ô½¹ý£¬Ò»Ö±ÔÚŬÁ¦Ñз¢Ð¼¼Êõ¡£·Å·ÉÃÎÏ룬½â·ÅË«ÊÖ£¬À´µã´´Ò⣬³É¾ÍÄãµÄÃÎÏ룬¾ÍÔÚÍòÄÜÓªÏúÈí¼þ¿ªÊ¼

map2

GMT+8, 2025-1-24 11:37 , Processed in 0.122376 second(s), 35 queries .

¿ìËٻظ´ ·µ»Ø¶¥²¿ ·µ»ØÁбí