[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]