Bitbybit Docs
    Preparing search index...

    Class Polyline

    পলিলাইন: বিন্দুর একটি তালিকার মধ্য দিয়ে সরল সেগমেন্টের শৃঙ্খল, { points, isClosed } আকারের সাধারণ অবজেক্ট হিসেবে রাখা। একটি বন্ধ পলিলাইন তার শেষ বিন্দুকে প্রথমটির সাথে জোড়ে। এখানকার মেথডগুলি একটি পলিলাইন মাপে, এটিকে সেগমেন্ট বা রেখায় রূপান্তর করে, পলিলাইনগুলি কোথায় ছেদ করে তা খুঁজে বের করে, আলগা সেগমেন্টগুলিকে শৃঙ্খলে সাজায় এবং তার কোণার জন্য ফিলেটের আকার ঠিক করে। দৈর্ঘ্য মডেল এককে।

    Index

    Constructors

    convert

    • বিন্দুগুলির ক্রম উল্টে দেয়, যাতে পলিলাইনটি উল্টো দিকে চলে।

      দেওয়া পলিলাইনের নিজস্ব বিন্দুর তালিকা জায়গাতেই উল্টানো হয় এবং একটি নতুন পলিলাইন অবজেক্টের ভিতরে ফেরত দেওয়া হয়। উদাহরণ: [[0,0,0], [1,0,0], [2,0,0]] -> [[2,0,0], [1,0,0], [0,0,0]]

      Parameters

      Returns Bit.Inputs.Polyline.PolylinePropertiesDto

      উল্টো ক্রমে বিন্দুসহ একটি পলিলাইন

      const back = bitbybit.polyline.reverse({ polyline: { points: [[0, 0, 0], [1, 0, 0], [2, 0, 0]] } });
      
    • পলিলাইনটিকে রেখা অবজেক্টে ভাগ করে, প্রতিটি সেগমেন্টের জন্য একটি, প্রতিটির একটি শুরু ও একটি শেষ বিন্দুসহ।

      একটি বন্ধ পলিলাইন তার শেষ বিন্দু থেকে প্রথমটিতে ফেরার সেগমেন্টটিও পায়, যদি না দুটি মিলে যায়। উদাহরণ: তিনটি বিন্দু -> দুটি রেখা, বা বন্ধ হলে তিনটি

      Parameters

      Returns Line3[]

      প্রতি সেগমেন্টে একটি রেখা, ক্রমানুসারে

      const lines = bitbybit.polyline.polylineToLines({ polyline: { points: [[0, 0, 0], [1, 0, 0], [1, 1, 0]], isClosed: true } });
      
    • পলিলাইনটিকে সেগমেন্টে ভাগ করে, প্রতিটি বিন্দুর একটি জোড়া।

      একটি বন্ধ পলিলাইন তার শেষ বিন্দু থেকে প্রথমটিতে ফেরার সেগমেন্টটিও পায়, যদি না দুটি মিলে যায়। দুটির কম বিন্দু কোনো সেগমেন্ট দেয় না। উদাহরণ: চারটি বিন্দু, বন্ধ -> লুপ ঘিরে চারটি সেগমেন্ট

      Parameters

      Returns Segment3[]

      প্রতি সেগমেন্টে এক জোড়া বিন্দু, ক্রমানুসারে

      const segments = bitbybit.polyline.polylineToSegments({ polyline: { points: [[0, 0, 0], [1, 0, 0], [1, 1, 0]], isClosed: false } });
      

    create

    • বিন্দু থেকে একটি পলিলাইন অবজেক্ট তৈরি করে, খোলা বা বন্ধ।

      উদাহরণ: তিনটি বিন্দু isClosed true সহ -> একটি ত্রিভুজ

      Parameters

      • inputs: PolylineCreateDto

        বিন্দুগুলি এবং শেষটি আবার প্রথমটির সাথে যুক্ত হবে কিনা

      Returns Bit.Inputs.Polyline.PolylinePropertiesDto

      পলিলাইন অবজেক্টটি

      const triangle = bitbybit.polyline.create({ points: [[0, 0, 0], [1, 0, 0], [1, 1, 0]], isClosed: true });
      

    fillet

    • পলিলাইনের প্রতিটি কোণার জন্য সবচেয়ে বড় ফিলেট খুঁজে বের করে, প্রতিটি তার সেগমেন্টগুলির কাছের অর্ধেকে সীমিত যাতে ফিলেটগুলি কখনো ওভারল্যাপ না করে।

      একটি বন্ধ পলিলাইন তার প্রান্তের দুটি কোণা অন্তর্ভুক্ত করে। তিনটির কম বিন্দু একটি খালি তালিকা দেয়।

      Parameters

      Returns number[]

      প্রতি কোণায় একটি ব্যাসার্ধ, কোণাগুলির ক্রমে

      const radii = bitbybit.polyline.maxFilletsHalfLine({
      polyline: { points: [[0, 0, 0], [10, 0, 0], [10, 10, 0], [0, 10, 0]], isClosed: true },
      tolerance: 1e-7,
      });
    • একটি ফিলেট ব্যাসার্ধ খুঁজে বের করে যা পলিলাইনের প্রতিটি কোণায় বসে: অর্ধ-সেগমেন্ট নিয়মের অধীনে প্রতি-কোণা সর্বোচ্চগুলির মধ্যে সবচেয়ে ছোটটি।

      তিনটির কম বিন্দু, বা কোনো ফিলেটই না মানা যেকোনো কোণা, 0 দেয়।

      Parameters

      Returns number

      প্রতিটি কোণায় খাপ খায় এমন ব্যাসার্ধ, মডেল এককে

      const radius = bitbybit.polyline.safestFilletRadius({
      polyline: { points: [[0, 0, 0], [10, 0, 0], [10, 10, 0], [0, 10, 0]], isClosed: true },
      tolerance: 1e-7,
      });

    get

    • প্রতিবেশী বিন্দুগুলির মধ্যের সোজা দূরত্ব যোগ করে পলিলাইনটি মাপে।

      একটি বন্ধ পলিলাইনের বন্ধকারী সেগমেন্ট গোনা হয় না। উদাহরণ: [[0,0,0], [3,0,0], [3,4,0]] -> 7

      Parameters

      Returns number

      মডেল এককে দৈর্ঘ্য

      const len = bitbybit.polyline.length({ polyline: { points: [[0, 0, 0], [3, 0, 0], [3, 4, 0]] } });
      
    • পলিলাইনের বিন্দুগুলি গোনে।

      উদাহরণ: তিনটি বিন্দু -> 3

      Parameters

      Returns number

      বিন্দুর সংখ্যা

    • পলিলাইন থেকে বিন্দুর তালিকা পড়ে।

      উদাহরণ: { points: [[0,0,0], [1,0,0]] } -> [[0,0,0], [1,0,0]]

      Parameters

      Returns Point3[]

      এর বিন্দুগুলি, ক্রমানুসারে

    intersection

    • দুটি পলিলাইন যেখানে পরস্পরকে ছেদ করে সেই বিন্দুগুলি খুঁজে বের করে, একটির প্রতিটি সেগমেন্টকে অন্যটির প্রতিটি সেগমেন্টের বিরুদ্ধে পরীক্ষা করে।

      টলারেন্সের চেয়ে কাছাকাছি ছেদগুলি একবার জানানো হয়। উদাহরণ: X গঠনকারী দুটি পলিলাইন -> মাঝখানের বিন্দু

      Parameters

      Returns Point3[]

      ছেদ বিন্দুগুলি; কোনোটি না থাকলে খালি

      const crossings = bitbybit.polyline.twoPolylineIntersection({
      polyline1: { points: [[0, 0, 0], [2, 2, 0]] },
      polyline2: { points: [[0, 2, 0], [2, 0, 0]] },
      tolerance: 1e-6,
      });

    intersections

    • পলিলাইনটি যেখানে নিজেকে ছেদ করে সেই বিন্দুগুলি খুঁজে বের করে।

      প্রতিবেশী সেগমেন্টগুলি পরস্পরের বিরুদ্ধে পরীক্ষা করা হয় না, এবং টলারেন্সের চেয়ে কাছাকাছি ছেদগুলি একবার জানানো হয়। উদাহরণ: একটি আট-আকৃতি -> তার একটি ছেদ বিন্দু

      Parameters

      Returns Point3[]

      ছেদ বিন্দুগুলি; কোনোটি না থাকলে খালি

      const crossings = bitbybit.polyline.polylineSelfIntersection({
      polyline: { points: [[0, 0, 0], [2, 2, 0], [2, 0, 0], [0, 2, 0]] },
      tolerance: 1e-6,
      });

    sort

    • টলারেন্সের মধ্যে মিলিত প্রান্তগুলি মিলিয়ে আলগা সেগমেন্টগুলিকে পলিলাইনে জোড়ে।

      প্রান্ত থেকে প্রান্তে সংযুক্ত সেগমেন্টগুলি প্রতিটি শৃঙ্খলে একটি পলিলাইন হয়; কিছুই স্পর্শ না করা সেগমেন্টগুলি এক-সেগমেন্টের পলিলাইন হয়। উদাহরণ: দুটি শৃঙ্খল গঠনকারী দশটি ছড়ানো সেগমেন্ট -> দুটি পলিলাইন

      Parameters

      • inputs: SegmentsToleranceDto

        সেগমেন্টগুলি এবং দুটি প্রান্ত স্পর্শ করছে বলে গণ্য হওয়ার টলারেন্স

      Returns Polyline3[]

      সেগমেন্টগুলি যে পলিলাইনগুলি গঠন করে

      const chains = bitbybit.polyline.sortSegmentsIntoPolylines({
      segments: [[[0, 0, 0], [1, 0, 0]], [[1, 0, 0], [1, 1, 0]], [[5, 5, 0], [6, 5, 0]]],
      tolerance: 1e-5,
      });

    transforms

    • একটি রূপান্তর ম্যাট্রিক্স, বা ক্রমানুসারে সেগুলির একটি তালিকা, পলিলাইনের প্রতিটি বিন্দুতে প্রয়োগ করে।

      উদাহরণ: [5,0,0] দিয়ে একটি সরানো -> প্রতিটি বিন্দু X বরাবর 5 সরানো

      Parameters

      Returns Bit.Inputs.Polyline.PolylinePropertiesDto

      রূপান্তরিত বিন্দুসহ একটি নতুন পলিলাইন

      const moved = bitbybit.polyline.transformPolyline({
      polyline: { points: [[0, 0, 0], [1, 0, 0]] },
      transformation: bitbybit.transforms.translationXYZ({ translation: [5, 0, 0] }),
      });