«یا اللهُ یا رَبِّ یا حَیُّ یا قَیّوم یا ذَالجَلالِ وَ الاکرام اَسئَلُکَ بِاسمِکَ اَلعَظیم اَلاَعظَم اَن تَرزُقَنی رِزقاً حَلالاً طَیِّباً بِرَحمَتِکَ الواسِعَه یا اَرحَمَ الرّاحِمِین.»
ضرب نقطه ای یا ضرب داخلی یا ضرب اسکالر دو بردار و تابع Quaternion.Dot و Vector3.Dot در یونیتی :: گیم اور

گیم اور


خصوصی نظر نذارید نمی تونیم جواب بدیم.

عضو کانال تلگرام ما بشید توش گروه هم می گیم

لینک کانال خصوصی گیم اور :

https://t.me/gameoverblog

پیوندهای روزانه
پیوندها
بردار همون نقطه تو فضای سه بعدی هست یا چهار بعدی یا n بعدی.
در این ضرب هر آیتم در آیتم متناظر ضرب میشه و حاصل جمع میشه.
توی ویکی پدیا گفته:

http://fa.wikipedia.org/wiki/%D8%B6%D8%B1%D8%A8_%D8%AF%D8%A7%D8%AE%D9%84%DB%8C


حاصل ضرب داخلی دو بردار یک عدد هست. حالا این عدد به چه دردی می خوره؟

در ریاضیات فضای ضرب داخلی یک فضای برداری است.

 ضرب داخلی یا ضرب اسکالر به ما این امکان را میدهد که مفاهیم هندسی از قبیل زاویه و طول یک بردار را تعریف نماییم.

با وجود آنکه در این نوع ضرب دو بردار در هم ضرب میشوند ولی حاصلضرب این دو بردار یک عدد اسکالر است.

ضرب داخلی در ریاضیات،مهندسی،وفیزیک کاربردمای فراوانی دارد.

---

مثال :

اگر ضرب داخلی دو بردار غیر صفر، برابر 0(صفر) شود آن دو بردار بر هم عمودند.

----------
تابع Quaternion.Dot ضرب نقطه ای(داخلی/اسکالر) بین دو  چرخش (rotation) است.اما توضیح چندانی در help یونیتی در مورد آن ندیدیم.

اما در باره ی تابع  Vector3.Dot  شاید بد نباشد توضیح دهیم.
این تابع ضرب نقطه ای(داخلی/اسکالر) بین دو بردار است.
شکل کلی و توضیحات :

Vector3.Dot 

static function Dot (lhs : Vector3, rhs : Vector3) : float

Description

Dot Product of two vectors.

Returns lhs . rhs.

For normalized vectors Dot returns 1 if they point in exactly the same direction; -1 if they point in completely opposite directions; and a number in between for other cases (e.g. Dot returns zero if vectors are perpendicular).

For vectors of arbitrary length the Dot return values are similar: they get larger when the angle between vectors decreases.

// detects if other transform is behind this object
var other : Transform;
function Update()
{
if (other) {
var forward = transform.TransformDirection(Vector3.forward);
var toOther = other.position - transform.position;
if (Vector3.Dot(forward,toOther) < 0)
print ("The other transform is behind me!");//ابجکت دیگر پشت سر من است
}
}
ترجمه فارسی:
تابع Dot ، برای بردارهای نرمال،
مقدار 1 را برمی گرداند اگر آن نقطه دقیقا در همان جهت باشد.
اگر در جهت معکوس باشد مقدار منفی یک(-1) را بر می گرداند.
مقدار صفر برگشت داده می شود اگر دو بردار عمود باشند.

تابع Dot  برای بردارها با طول دلخواه،مقادیر یکسان را برمی گرداند: اگر زاویه ی بین بردارها کوچکتر شود،آنها بزرگتر می شوند.

using UnityEngine;
using System.Collections;

public class test : MonoBehaviour {
	void Start() {
		transform.rotation = Quaternion.AngleAxis(90, Vector3.up); 
		print( Quaternion.Dot(transform.rotation, Quaternion.identity));
	}
}
موافقین ۰ مخالفین ۰ ۹۴/۰۳/۲۳
مدیرکل

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی