📄 dot product.mht
字号:
From: <由 Microsoft Internet Explorer 5 保存>
Subject: Dot Product
Date: Tue, 25 Jul 2006 09:28:52 +0800
MIME-Version: 1.0
Content-Type: multipart/related;
type="text/html";
boundary="----=_NextPart_000_0006_01C6AFCC.BE0A19C0"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
This is a multi-part message in MIME format.
------=_NextPart_000_0006_01C6AFCC.BE0A19C0
Content-Type: text/html;
charset="gb2312"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://freespace.virgin.net/hugo.elias/routines/r_dot.htm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Dot Product</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dgb2312">
<META content=3D"MSHTML 6.00.2900.2180" name=3DGENERATOR></HEAD>
<BODY text=3D#000000 vLink=3D#000099 link=3D#0000ff bgColor=3D#999999=20
background=3Dhttp://freespace.virgin.net/hugo.elias/routines/paper.jpg>
<CENTER>
<H1>Dot Product</H1></CENTER>
<P><TR><TD colspan=3D"2">
<HR>
</TD></TR>
<P><IMG =
src=3D"http://freespace.virgin.net/hugo.elias/routines/r_dot1.gif"=20
align=3Dleft>=20
<DD>A Dot product is a very useful tool in both mechanics and 3D =
graphics. It=20
calculates the cosine of the angle between two vectors. It is used in =
the=20
lighting calculations and backface removal in 3D graphics. It is also =
used in=20
mechanics.=20
<P><BR>
<CENTER><FONT size=3D+2>Calculating the Length of a =
Vector</FONT></CENTER>
<P></P>
<DD>Firstly, you will need to know how to calculate the length of a =
vector=20
(known at the <B>magnitude</B> of a vector). This is exactly the same as =
calculating the distance between two points.
<P><FONT size=3D+1>In 2D</FONT><BR>Define your vector (x, y).
<P><PRE> Length =3D SquareRoot(x*x + y*y)
</PRE><FONT size=3D+1>In 3D</FONT><BR>Define your vector (x, y, z).
<P><PRE> Length =3D SquareRoot(x*x + y*y + z*z)
</PRE><BR>
<P>
<CENTER><FONT size=3D+2>Calculating the Dot Product</FONT></CENTER>
<P><FONT size=3D+1>In 2D</FONT><BR>Define your two vectors. Vector1 (x1, =
y1) and=20
Vector2 (x2, y2).
<P><PRE> =20
DotProduct =3D (x1*x2 + y1*y2)
=09
</PRE><FONT size=3D+1>In 3D</FONT><BR>Define your two vectors. Vector1 =
(x1, y1,=20
z1) and Vector2 (x2, y2, z2).
<P><PRE> =20
DotProduct =3D (x1*x2 + y1*y2 + z1*z2)
</PRE>
<P><TR><TD colspan=3D"2">
<HR>
</TD></TR>
<P>
<CENTER><FONT size=3D+2>Using the Dot Product</FONT></CENTER>
<P>What is the meaning of the value returned by the dot product?<BR>The =
value is=20
the cosine of the angle between the two input vectors, multiplied by the =
lengths=20
of those vectors. So, you can easily calculate the cosine of the angle =
by=20
either, making sure that your two vectors are both of length 1, or =
dividing the=20
dot product by the lengths. <PRE> Cos(theta) =3D DotProduct(v1,v2) / =
(length(v1) * length(v2))
</PRE>Values range from 1 to -1. If the two input vectors are pointing =
in the=20
same direction, then the return value will be 1. If the two input =
vectors are=20
pointing in opposite directions, then the return value will be -1. If =
the two=20
input vectors are at right angles, then the return value will be 0. So, =
in=20
effect, it is telling you how similar the two vectors are.
<P><FONT size=3D+1>Backface culling</FONT><BR>When deciding if a polygon =
is facing=20
the camera, you need only calculate the dot product of the normal vector =
of that=20
polygon, with a vector from the camera to one of the polygon's vertices. =
If the=20
dot product is less than zero, the polygon is facing the camera. If the =
value is=20
greater than zero, it is facing away from the camera. =
</P></DD></BODY></HTML>
------=_NextPart_000_0006_01C6AFCC.BE0A19C0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://freespace.virgin.net/hugo.elias/routines/r_dot1.gif
R0lGODlhYQBwAPf/AAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKTI8Miss7qgp7OIjEKapy9+
iBpfZwA3PAAAMwAAZgAAmQAAzAAzAAAzMwAzZgAzmQAzzAAz/wBmAABmMwBmZgBmmQBmzABm/wCZ
AACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/MwD/ZgD/mQD/zDMAADMAMzMAZjMA
mTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNmZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZ
zDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA
/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZmzGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bM
AGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb//5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkz
M5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZAJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nM
ZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwAM8wAZswAmcwAzMwA/8wzAMwzM8wzZswz
mcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczM
zMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AM/8AZv8Amf8AzP8zAP8zM/8zZv8zmf8zzP8z//9mAP9m
M/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+ZzP+Z///MAP/MM//MZv/Mmf/MzP/M////M///Zv//
mf//zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAEAAP8ALAAAAABhAHAA
QAj/AP8JHEiwoMGDCBMqXMiwocOEAAAMjGiQ4sOLGDNOjMjRosaPIENClCiypEmCHC96PMlSYUqU
JDOubEmzZsGZNm127AgSZ06RO2v6/LmQJ9GKMY8KDKrUYcR8UKNKnRogQEOjTYECoLoVKoAAU71i
zaqza9h8Y8mqTau2rcykbk2y3Qh3Y1yhde/q/Td0b9GYPvsi9UuYb97Caw8jHknxpUbBe5n+hHx0
LlnKWh0vXmqWK1qwZ/NZNYx5M2fPVaVKNt2zs2XWsGPLns3ZMO2rLiUGVnybtObecne+Bv7xN3GW
pXt7xGycduO6yWsfx8t7evHq1t9iz65ye2zh170j/04rfvDs4SGbR1aPl/DqrOyJom8aPX38uBxD
V60avjz+zqGdxd9N8y2Wn2doAThVgd8B+FSCYTF424EBSjjdg6pZyJ1w9XFHoIcghijiiJdpeBxP
5Pl3IWDQqWgae88d1OGLlv3GoYvugUeiUzfimJ2OO74V5GMzBllkg0vxeGJKRi233ZF3OWneVVD+
ZxtMQq4IF4dKDolRlSLe5+WUY1JZ5kNghigmaz1etyGQX/roF5dEWodVkWsW9p5WE+YZ53l+Zklj
oETKSZ2h3elpIp/rpVlnlITSFGlmjjJK36STIUplpch9td+no1GqaVkKhrVfd5zmhGGAVIWKFKZu
rUnaKmgCwpSqUrJG1VWuUgWwaI4KChfanksu2JWvZ/1Ko7Fe0SrWrXrlul+GsDZYqq7VOlcqsUY6
mC1xGCr7I5xnvlruueimm1NAADs=
------=_NextPart_000_0006_01C6AFCC.BE0A19C0
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://freespace.virgin.net/hugo.elias/routines/paper.jpg
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
3QjcPlNJdSRvCfJOSOuO1VLWe4WNhEhIJ781/9k=
------=_NextPart_000_0006_01C6AFCC.BE0A19C0--
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -