Bitbybit Docs
    Preparing search index...

    Class ManifoldTransforms

    نقل مجسمات Manifold الصلبة وتدويرها وتحجيمها وعكسها مرآتيا وتشويهها. تجمع النواة التحويلات بكسل، لذا تسلسلها رخيص؛ والزوايا بالدرجات، وتدور التدويرات حول نقطة الأصل، X أولا، ثم Y، ثم Z. تعيد كل دالة مجسما صلبا جديدا.

    Index

    Constructors

    matrix

    • يطبق مصفوفة 4x4 على مجسم صلب.

      المصفوفة بترتيب الأعمدة، 16 رقما مع النقل في الفهارس من 12 إلى 14؛ تقرؤها النواة كتحويل تآلفي 3x4 وتتجاهل الصف الأخير.

      Parameters

      Returns Promise<ManifoldPointer>

      المجسم الصلب المحوّل

      const moved = await bitbybit.manifold.manifold.transforms.transform({ manifold: cube, transform: matrix });
      
    • يطبق قائمة مصفوفات 4x4 على مجسم صلب واحدة تلو الأخرى، من الأولى إلى الأخيرة، ويعيد النتيجة النهائية.

      القائمة الفارغة ترمي خطأ.

      Parameters

      Returns Promise<ManifoldPointer>

      المجسم الصلب بعد جميع المصفوفات

      const placed = await bitbybit.manifold.manifold.transforms.transforms({ manifold: cube, transforms: [turn, move] });
      

    multiple

    • يصنع نسخة منقولة واحدة من مجسم صلب لكل متجه، لتوزيع التكرارات.

      Parameters

      Returns Promise<ManifoldPointer[]>

      نسخة منقولة واحدة لكل متجه، بالترتيب نفسه

      const row = await bitbybit.manifold.manifold.transforms.translateByVectors({ manifold: cube, vectors: [[0, 0, 0], [10, 0, 0], [20, 0, 0]] });
      

    transforms

    • يحجّم مجسما صلبا بمعامل لكل محور، حول نقطة الأصل؛ يأخذ المدخلات نفسها التي تأخذها scale3D، فاستخدم معاملات متساوية للتحجيم المنتظم.

      Parameters

      Returns Promise<ManifoldPointer>

      المجسم الصلب المحجّم

      const bigger = await bitbybit.manifold.manifold.transforms.scale({ manifold: cube, vector: [2, 2, 2] });
      
    • يعكس مجسما صلبا مرآتيا عبر المستوى المار بنقطة الأصل بالناظم المعطى.

      الناظم ذو الطول الصفري يعطي مجسما صلبا فارغا.

      Parameters

      Returns Promise<ManifoldPointer>

      المجسم الصلب المعكوس مرآتيا

      const other = await bitbybit.manifold.manifold.transforms.mirror({ manifold: shape, normal: [1, 0, 0] });
      
    • ينقل مجسما صلبا بمسافات منفصلة على طول X و Y و Z، بوحدات النموذج.

      Parameters

      Returns Promise<ManifoldPointer>

      المجسم الصلب المنقول

      const moved = await bitbybit.manifold.manifold.transforms.translateXYZ({ manifold: cube, x: 10, y: 0, z: 5 });
      
    • يدوّر مجسما صلبا حول نقطة الأصل بزوايا أويلر بالدرجات: أولا حول X، ثم Y، ثم Z.

      مضاعفات 90 درجة دقيقة، بلا خطأ تقريب.

      Parameters

      Returns Promise<ManifoldPointer>

      المجسم الصلب المدوّر

      const turned = await bitbybit.manifold.manifold.transforms.rotate({ manifold: cube, vector: [0, 0, 45] });
      
    • يدوّر مجسما صلبا حول نقطة الأصل بزوايا منفصلة بالدرجات حول X، ثم Y، ثم Z.

      مضاعفات 90 درجة دقيقة، بلا خطأ تقريب.

      Parameters

      Returns Promise<ManifoldPointer>

      المجسم الصلب المدوّر

      const turned = await bitbybit.manifold.manifold.transforms.rotateXYZ({ manifold: cube, x: 0, y: 0, z: 45 });
      
    • يحرك كل رأس من مجسم صلب بدالة من عندك تغير موضع الرأس في مكانه، للثني والتدرج وغيرها من التشويهات الحرة.

      يبقى ترابط الشبكة كما هو ولا شيء يتحقق من أن النتيجة ما زالت منطقية، لذا فالدالة التي تطوي السطح عبر نفسه تعطي مجسما صلبا معطوبا.

      Parameters

      Returns Promise<ManifoldPointer>

      المجسم الصلب المشوه

      const bent = await bitbybit.manifold.manifold.transforms.warp({
      manifold: cube,
      warpFunc: (vert) => { vert[0] += vert[2] * 0.2; },
      });