# [name]

شعاع ينبعث من أصل في اتجاه معين. يتم استخدام هذا بواسطة [page:Raycaster] للمساعدة في [link:https://en.wikipedia.org/wiki/Ray_casting الإشعاع]. يتم استخدام الإشعاع لاختيار الماوس (معرفة الكائنات في المسافة 3D التي يكون الماوس فوقها) من بين أشياء أخرى.

## المنشئ (Constructor)

### [name]( [param:Vector3 origin], [param:Vector3 direction] )

[page:Vector3 origin] - (اختياري) أصل الـ[page:Ray]. الافتراضي هو [page:Vector3] عند (0، 0، 0).
[page:Vector3 direction] - [page:Vector3] اتجاه الـ[page:Ray]. يجب تسوية هذا (بـ[page:Vector3.normalize]) لتشغيل الطرق بشكل صحيح. الافتراضي هو [page:Vector3] عند (0، 0، -1).
ينشئ [name] جديدًا.

## الخصائص (Properties)

### [property:Vector3 origin]

أصل الـ[page:Ray]. الافتراضي هو [page:Vector3] عند `(0، 0، 0)`.

### [property:Vector3 direction]

اتجاه الـ[page:Ray]. يجب تسوية هذا (بـ [page:Vector3.normalize]) لتشغيل الطرق بشكل صحيح. الافتراضي هو [page:Vector3] عند (0، 0، -1).

## الطرق (Methods)

### [method:this applyMatrix4]( [param:Matrix4 matrix4] )

[page:Matrix4 matrix4] - الـ[page:Matrix4] لتطبيقه على هذا [page:Ray].
تحويل هذا الـ[page:Ray] بواسطة [page:Matrix4].

### [method:Vector3 at]( [param:Float t], [param:Vector3 target] )

[page:Float t] - المسافة على طول الـ[page:Ray] لاسترداد موضع ل.
[page:Vector3 target] — سيتم نسخ النتيجة في هذا Vector3.
احصل على [page:Vector3] هو مسافة معينة على طول هذا الـ[page:Ray].

### [method:Ray clone]()

ينشئ Ray جديدًا بخصائص [page:.origin origin] و [page:.direction direction] متطابقة مع هذا.

### [method:Vector3 closestPointToPoint]( [param:Vector3 point], [param:Vector3 target] )

[page:Vector3 point] - النقطة التي سيتم الحصول على أقرب نهج إليها.
[page:Vector3 target] — سيتم نسخ النتيجة في هذا Vector3.
احصل على النقطة على طول هذا الـ[page:Ray] التي تكون أقرب إلى المزود [page:Vector3].

### [method:this copy]( [param:Ray ray] )

ينسخ خصائص [page:.origin origin] و [page:.direction direction] من [page:Ray ray] إلى هذا الشعاع.

### [method:Float distanceSqToPoint]( [param:Vector3 point] )

[page:Vector3 point] - الـ[page:Vector3] لحساب المسافة إليه.
احصل على المسافة المربعة لأقرب نهج بين [page:Ray] و [page:Vector3].

### [method:Float distanceSqToSegment]( [param:Vector3 v0], [param:Vector3 v1], [param:Vector3 optionalPointOnRay], [param:Vector3 optionalPointOnSegment] )

[page:Vector3 v0] - بداية الخط المستقيم.
[page:Vector3 v1] - نهاية الخط المستقيم.
optionalPointOnRay - (اختياري) إذا تم توفير هذا ، فإنه يتلقى النقطة على هذا الـ[page:Ray] الأقرب إلى الشريحة.
optionalPointOnSegment - (اختياري) إذا تم توفير هذا ، فإنه يتلقى نقطة على شريحة الخط الأقرب إلى هذا الـ[page:Ray].
احصل على المسافة المربعة بين هذا الـ[page:Ray] وشريحة خط.

### [method:Float distanceToPlane]( [param:Plane plane] )

[page:Plane plane] - الـ[page:Plane] للحصول على المسافة إليه.
احصل على المسافة من [page:.origin origin] إلى [page:Plane] ، أو `null` إذا لم يتقاطع الـ[page:Ray] مع [page:Plane].

### [method:Float distanceToPoint]( [param:Vector3 point] )

[page:Vector3 point] - [page:Vector3] The [page:Vector3] لحساب مسافة إليه.
احصل على مسافة أقرب نهج بين الـ[page:Ray] و [page:Vector3 point].

### [method:Boolean equals]( [param:Ray ray] )

[page:Ray ray] - الـ[page:Ray] للمقارنة معه.
يعود بالقيمة true إذا كان هذا والآخر [page:Ray ray] لديهما [page:.origin origin] و [page:.direction direction] متساويان.

### [method:Vector3 intersectBox]( [param:Box3 box], [param:Vector3 target] )

[page:Box3 box] - الـ[page:Box3] للتقاطع معه.
[page:Vector3 target] — سيتم نسخ النتيجة في هذا Vector3.
تقاطع هذا الـ[page:Ray] مع [page:Box3] ، وإرجاع نقطة التقاطع أو `null` إذا لم يكن هناك تقاطع.

### [method:Vector3 intersectPlane]( [param:Plane plane], [param:Vector3 target] )

[page:Plane plane] - الـ[page:Plane] للتقاطع معه.
[page:Vector3 target] — سيتم نسخ النتيجة في هذا Vector3.
تقاطع هذا الـ[page:Ray] مع [page:Plane] ، وإرجاع نقطة التقاطع أو `null` إذا لم يكن هناك تقاطع.

### [method:Vector3 intersectSphere]( [param:Sphere sphere], [param:Vector3 target] )

[page:Sphere sphere] - الـ[page:Sphere] للتقاطع معه.
[page:Vector3 target] — سيتم نسخ النتيجة في هذا Vector3.
تقاطع هذا الـ[page:Ray] مع [page:Sphere] ، وإرجاع نقطة التقاطع أو `null` إذا لم يكن هناك تقاطع.

### [method:Vector3 intersectTriangle]( [param:Vector3 a], [param:Vector3 b], [param:Vector3 c], [param:Boolean backfaceCulling], [param:Vector3 target] )

[page:Vector3 a], [page:Vector3 b], [page:Vector3 c] - نقاط الـ[page:Vector3] التي تشكل المثلث.
[page:Boolean backfaceCulling] - ما إذا كان سيتم استخدام قص الوجه الخلفي.
[page:Vector3 target] — سيتم نسخ النتيجة في هذا Vector3.
تقاطع هذه الـ[page:Ray] مع مثلث ، وإرجاع نقطة التقاطع أو `null` إذا لم يكن هناك تقاطع.

### [method:Boolean intersectsBox]( [param:Box3 box] )

[page:Box3 box] - [page:Box3] للتقاطع معه.
يعود بالقيمة true إذا كان هذا [page:Ray] يتقاطع مع [page:Box3].

### [method:Boolean intersectsPlane]( [param:Plane plane] )

[page:Plane plane] - [page:Plane] للتقاطع معه.
يعود بالقيمة true إذا كان هذا [page:Ray] يتقاطع مع [page:Plane].

### [method:Boolean intersectsSphere]( [param:Sphere sphere] )

[page:Sphere sphere] - [page:Sphere] للتقاطع معه.
يعود بالقيمة true إذا كان هذا [page:Ray] يتقاطع مع [page:Sphere].

### [method:this lookAt]( [param:Vector3 v] )

[page:Vector3 v] - الـ[page:Vector3] الذي سينظر إليه.
يضبط اتجاه الشعاع للإشارة إلى المتجه في الإحداثيات العالمية.

### [method:this recast]( [param:Float t] )

[page:Float t] - المسافة على طول الـ[page:Ray] للإدراج.
تحريك أصل هذا الـ[page:Ray] على طول اتجاهه بالمسافة المحددة.

### [method:this set]( [param:Vector3 origin], [param:Vector3 direction] )

[page:Vector3 origin] - أصل الـ[page:.origin origin] لـ[page:Ray].
[page:Vector3 direction] - اتجاه الـ[page:.direction direction] لـ[page:Ray]. يجب تسوية هذا (بـ[page:Vector3.normalize]) لـ تشغيل الطرق بشكل صحيح.
يضبط خصائص أصل واتجاه هذا الشعاع من خلال نسخ القيم من الكائنات المحددة.

## المصدر (Source)

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