[name]

فئة أساسية مجردة لإنشاء كائن [name] يحتوي على طرق للإدراج. لمجموعة من [name]s انظر [page:CurvePath].

المنشئ (Constructor)

[name]()

ينشئ هذا المُنشئ [name] جديدًا.

الخصائص (Properties)

[property:Integer arcLengthDivisions]

يحدد هذا القيمة عدد الشعبات عند حساب طول الشطر التراكمي للمنحنى عبر [page:.getLengths]. لضمان الدقة عند استخدام طرق مثل [page:.getSpacedPoints]، يوصى بزيادة [page:.arcLengthDivisions] إذا كان المنحنى كبيرًا جدًا. الافتراضي هو 200.

الوظائف (Methods)

[method:Vector getPoint]( [param:Float t], [param:Vector optionalTarget] )

[page:Float t] - موقع على المنحنى. يجب أن يكون في النطاق [0، 1].
[page:Vector optionalTarget] - (اختياري) إذا تم تحديده، سيتم نسخ النتيجة في هذا الفيكتور، وإلا سيتم إنشاء فيكتور جديد.

يعود بفيكتور لموقع معين على المنحنى.

[method:Vector getPointAt]( [param:Float u], [param:Vector optionalTarget] )

[page:Float u] - موقع على المنحنى وفقًا لطول القوس. يجب أن يكون في النطاق [0، 1].
[page:Vector optionalTarget] - (اختياري) إذا تم تحديده، سيتم نسخ النتيجة في هذا الفيكتور، وإلا سيتم إنشاء فيكتور جديد.

يعود بفيكتور لموقع معين على المنحنى وفقًا لطول القوس.

[method:Array getPoints]( [param:Integer divisions] )

divisions - عدد الأجزاء التي يتم تقسيم المنحنى إليها. الافتراضي هو `5`.

يعود بمجموعة من divisions + 1 نقطة باستخدام getPoint( t ).

[method:Array getSpacedPoints]( [param:Integer divisions] )

divisions - عدد الأجزاء التي يتم تقسيم المнحنى إليها. الافتراضي هو `5`.

يعود بمجموعة من divisions + 1 نقطة متساوية المسافات باستخدام getPointAt( u ).

[method:Float getLength]()

احصل على إجمالي طول قوس المنحنى.

[method:Array getLengths]( [param:Integer divisions] )

احصل على قائمة بطول الشرائح التراكمية.

[method:undefined updateArcLengths]()

تحديث ذاكرة التخزين المؤقت للمسافة الشريطية التراكمية. يجب استدعاء الطريقة في كل مرة يتم فيها تغيير معلمات المنحنى. إذا كان المنحنى المحدث جزءًا من منحنى مكون مثل [page:CurvePath]، يجب استدعاء [page:.updateArcLengths]() على المنحنى المكوَّن أيضًا.

[method:Float getUtoTmapping]( [param:Float u], [param:Float distance] )

بالنظر إلى u في النطاق (0 .. 1) ، يعود [page:Float t] أيضًا في النطاق (0 .. 1). يمكن استخدام u و t لإعطائك نقاط هي متساوية البعد من نهايات المنحنى ، باستخدام [page:.getPoint].

[method:Vector getTangent]( [param:Float t], [param:Vector optionalTarget] )

[page:Float t] - موضع على المنحنى. يجب أن يكون في النطاق [0، 1].
[page:Vector optionalTarget] - (اختياري) إذا تم تحديده ، سيتم نسخ النتيجة في هذا Vector ، وإلا سيتم إنشاء Vector جديد.

يعود بمتجه وحدة مماس على t. إذا لم يكن المنحنى المشتق تطبيق تفريعه المماس ، سيتم استخدام نقطتين صغيرتين delta بعيدًا للعثور على التدرج الذي يبدو أنه يعطي تقريبًا معقولًا.

[method:Vector getTangentAt]( [param:Float u], [param:Vector optionalTarget] )

[page:Float u] - موقع على المنحنى وفقًا لطول القوس. يجب أن يكون في النطاق [0، 1]. [page:Vector optionalTarget] - (اختياري) إذا تم تحديده، سيتم نسخ النتيجة في هذا الفيكتور، وإلا سيتم إنشاء فيكتور جديد. يعود الميل في نقطة تبعد مسافة متساوية عن طرفي المنحنى من النقطة المعطاة في [page:.getTangent].

[method:Object computeFrenetFrames]( [param:Integer segments], [param:Boolean closed] )

إنشاء Frenet Frames. يتطلب تعريف منحى في فضاء 3D. مستخدم في هَیْأَات مثل [page:TubeGeometry] أو [page:ExtrudeGeometry].

[method:Curve clone]()

إنشاء نسخة من هذه الحالة.

[method:this copy]( [param:Curve source] )

يلصق كائن [name] آخر إلى هذه الحالة.

[method:Object toJSON]()

يرجع كائن JSON لتمثيل هذه الحالة.

[method:this fromJSON]( [param:Object json] )

يلصق البيانات من كائن JSON المعطى إلى هذه الحالة.

المصدر (Source)

[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]