[page:Curve] → [page:CurvePath] →

[name]

تمثيل مسار ثنائي الأبعاد. توفر الفئة طرقًا لإنشاء مسارات ومحيطات الأشكال ثنائية الأبعاد المشابهة لواجهة برمجة التطبيقات Canvas 2D.

مثال الكود

const path = new THREE.Path(); path.lineTo( 0, 0.8 ); path.quadraticCurveTo( 0, 1, 0.2, 1 ); path.lineTo( 1, 1 ); const points = path.getPoints(); const geometry = new THREE.BufferGeometry().setFromPoints( points ); const material = new THREE.LineBasicMaterial( { color: 0xffffff } ); const line = new THREE.Line( geometry, material ); scene.add( line );

المنشئ (Constructor)

[name]( [param:Array points] )

points -- (اختياري) مصفوفة من [page:Vector2 Vector2s].

يُنشئ مسارًا من النقاط. يُعرِّف النقطة الأولى الإزاحة، ثُم يتم إضافة النقاط المتتالية إلى مصفوفة [page:CurvePath.curves curves] كـ [page:LineCurve LineCurves].

إذا لم يتم تحديد أي نقاط، يتم إنشاء مسار فارغ ويتم تعيين [page:.currentPoint] على المنشأ.

الخصائص (Properties)

انظر فئة [page:CurvePath] الأساسية للخصائص المشتركة.

[property:Vector2 currentPoint]

الإزاحة الحالية للمسار. سيبدأ أي [page:Curve] جديد يتم إضافته هنا.

الوظائف (Methods)

انظر فئة [page:CurvePath] الأساسية للأساليب المشتركة.

[method:this absarc]( [param:Float x], [param:Float y], [param:Float radius], [param:Float startAngle], [param:Float endAngle], [param:Boolean clockwise] )

x، y -- مركز القوس المطلق.
radius -- نصف قطر القوس.
startAngle -- زاوية البدء بالراديان.
endAngle -- زاوية النهاية بالراديان.
clockwise -- تدوير القوس في اتجاه عقارب الساعة. يعتمد على `false`.

يضيف [page:EllipseCurve EllipseCurve] مُوضَعًا مطلقًا إلى المسار.

[method:this absellipse]( [param:Float x], [param:Float y], [param:Float xRadius], [param:Float yRadius], [param:Float startAngle], [param:Float endAngle], [param:Boolean clockwise], [param:Float rotation] )

x، y -- مركز القطع الناقص المطلق.
xRadius -- نصف قطر القطع الناقص في المحور x.
yRadius -- نصف قطر القطع الناقص في المحور y.
startAngle -- زاوية البدء بالراديان.
endAngle -- زاوية النهاية بالراديان.
clockwise -- تدوير القطع الناقص في اتجاه عقارب الساعة. يعتمد على false.
rotation -- زاوية دوران القطع الناقص بالراديان، عكس اتجاه عقارب من المحور X الموجب. اختياري، يعتمد على 0.

يضيف [page:EllipseCurve EllipseCurve] مُوضَعًا مطلقًا إلى المسار.

[method:this arc]( [param:Float x], [param:Float y], [param:Float radius], [param:Float startAngle], [param:Float endAngle], [param:Boolean clockwise] )

x، y -- مركز القوس المُزَوَّد من آخر استدعاء.
radius -- نصف قطر القوس.
startAngle -- زاوية البدء بالراديان.
endAngle -- زاوية النهاية بالراديان.
clockwise -- تدوير القوس في اتجاه عقارب الساعة. يعتمد على `false`.

يضيف [page:EllipseCurve EllipseCurve] إلى المسار، مُوضَعًا نسبيًا إلى [page:.currentPoint].

[method:this bezierCurveTo]( [param:Float cp1X], [param:Float cp1Y], [param:Float cp2X], [param:Float cp2Y], [param:Float x], [param:Float y] )

يُنشئ منحى بيزيه من [page:.currentPoint] مع (cp1X، cp1Y) و(cp2X، cp2Y) كنقاط تحكم ويُحدِّث [page:.currentPoint] إلى x و y.

[method:this ellipse]( [param:Float x], [param:Float y], [param:Float xRadius], [param:Float yRadius], [param:Float startAngle], [param:Float endAngle], [param:Boolean clockwise], [param:Float rotation] )

x، y -- مركز القطع الناقص المُزَوَّد من آخر استدعاء.
xRadius -- نصف قطر القطع الناقص في المحور x.
yRadius -- نصف قطر القطع الناقص في المحور y.
startAngle -- زاوية البدء بالراديان.
endAngle -- زاوية النهاية بالراديان.
clockwise -- تدوير القطع الناقص في اتجاه عقارب الساعة. يعتمد على `false`.
rotation -- زاوية دوران القطع الناقص بالراديان، عكس اتجاه عقارب من المحور X الموجب. اختياري، يعتمد على `0`.

يضيف [page:EllipseCurve EllipseCurve] إلى المسار، مُوضَعًا نسبيًا إلى [page:.currentPoint].

[method:this lineTo]( [param:Float x], [param:Float y] )

يُربِط [page:LineCurve] من [page:.currentPoint] إلى x، y على المسار.

[method:this moveTo]( [param:Float x], [param:Float y] )

تحريك [page:.currentPoint] إلى x، y.

[method:this quadraticCurveTo]( [param:Float cpX], [param:Float cpY], [param:Float x], [param:Float y] )

يُنشئ منحى رباعي من [page:.currentPoint] مع cpX و cpY كـ نقطة تحكم ويُحدِّث [page:.currentPoint] إلى x و y.

[method:this setFromPoints]( [param:Array vector2s] )

points -- مصفوفة من [page:Vector2 Vector2s].

يتم إضافة النقاط إلى مصفوفة [page:CurvePath.curves curves] كـ [page:LineCurve LineCurves].

[method:this splineThru] ( [param:Array points] )

points - مصفوفة من [page:Vector2 Vector2s]

يُربِط منحى جديدًا من نوع SplineCurve على المسار.

المصدر (Source)

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