|
|
(85 intermediate revisions by 42 users not shown) |
Line 1: |
Line 1: |
| [http://www.sedbogota.edu.co/FINANCIERA/temp/tmp/evohus.html extra myspace stuff] [http://asie-voyages.com/upload/images/lens/wboifo.html medicine career information] [http://roycemotor.com/carpics/cache/rvxvnp.html osborn high school] [http://www.redacademica.edu.co/manejocorreo/Cliente/cache/sfesae.html lecturer in economics] [http://www.lewakins.com/sr/images/oualge.html research and development job] [http://www.sedbogota.edu.co/FINANCIERA/temp/tmp/muxrwq.html a level escorts in london] [http://talentmodeles.com/mannequin/images/cache/blbrui.html microsoft word 2003 serial numbers] [http://www.youthfitnesssolutions.com/FTP1/page9/okfctd.html 70s toys] [http://cvscaft-tcc.edu.ph/gallery/uploads/cache/xigvwe.html just a friend music] [http://indianaoutfitters.com/s/info/tmp/mxpbdi.html radio straight talk] [http://www.biblored.org.co/agenda_actividades/programas/images/hmxabl.html show must go on queen] [http://www.lewakins.com/sr/images/ekcqko.html picture of single long stem rose] [http://coastguard.gov.ph/content.old/license/jmhgsj.html solid suspended] [http://www.sedbogota.edu.co/FINANCIERA/temp/tmp/xlojtg.html usage of the internet] [http://hoosierfishing.com/phpBB/images/avatars/avatar/hgickw.html map of city in montana] [http://tch-voyages.com/documents/prague/896/owfjfk.html adventure car dont fatherhood in make stop this] [http://roycemotor.com/carpics/cache/kdfafi.html regalos empresa] [http://bluespringsbmx.com/4IMAGES/data/media/10/tmp/ilkxtt.html raytheon appliances] [http://bluespringsbmx.com/4IMAGES/data/media/10/tmp/jfmbcm.html prescription drugs dictionary] [http://www.sedbogota.edu.co/FINANCIERA/temp/tmp/dlaidq.html wireless pa systems] [http://panties-pictures.com/free/lib/temp/ttkmqh.html wholesale pioneer electronics] [http://tarsierfoundation.org/content/license/gtkpdp.html personal checks duplicates] [http://roycemotor.com/carpics/cache/vbrckr.html wholesale bargains] [http://xuccco.org/themes/AT-Green3/bckpvr.html snake and ladders] [http://lumayagrealty.com/catalog/images/pics/rphwwj.html watch a movie on line] [http://indianaoutfitters.com/s/info/tmp/hvnrsu.html american pride realty] [http://www.norcab.com.au/joeavatiforum/templates/cache/qhnbee.html interest inventory assessment] [http://www.redacademica.edu.co/manejocorreo/Cliente/cache/qxoajr.html west side connection albums] [http://tch-voyages.com/documents/prague/896/mnpniq.html sts] [http://tch-voyages.com/documents/prague/896/lpnjbc.html why is america not the best place to live] [http://bluespringsbmx.com/4IMAGES/data/media/10/tmp/hjgjlw.html economic indicators gdp] [http://www.lewakins.com/sr/images/twnhqf.html underground storage tank regulation] [http://www.norcab.com.au/joeavatiforum/templates/cache/ghcjnq.html vintage nudists photo galleries] [http://asie-voyages.com/upload/images/lens/cgrxuv.html new world spa washington dc] [http://asie-voyages.com/upload/images/lens/ofeqbr.html windows media player microsoft] [http://tarsierfoundation.org/content/license/oseqhq.html auto manuels] [http://cvscaft-tcc.edu.ph/gallery/uploads/cache/sxswtn.html affordable properties llc] [http://coastguard.gov.ph/content.old/license/nsnrte.html korea airports] [http://roycemotor.com/carpics/cache/qhepxa.html enron photo] [http://tarsierfoundation.org/content/license/biftal.html wimbleton tennis champions] [http://www.sedbogota.edu.co/FINANCIERA/temp/tmp/bpepni.html e commerce site builders] [http://www.sedbogota.edu.co/FINANCIERA/temp/tmp/nffxna.html vera needs] [http://www.biblored.org.co/agenda_actividades/programas/images/temcem.html 4400 season 2 finale] [http://www.sedbogota.edu.co/FINANCIERA/temp/tmp/tcoelj.html adult character child development in] [http://ankelia-nature.com/catalogues/catalogues/vwwnaw.html technology marketing jobs europe] [http://www.sedbogota.edu.co/FINANCIERA/temp/tmp/xtswpp.html kevin bloody willson] [http://xuccco.org/themes/AT-Green3/qdtxnv.html america west flight funds] [http://panties-pictures.com/free/lib/temp/xnpenv.html effects pedals order] [http://tch-voyages.com/documents/prague/896/kvopvh.html 2 good low fat salad dressing] [http://ankelia-nature.com/catalogues/catalogues/xgwpoo.html inventory management and accounting] [http://bluespringsbmx.com/4IMAGES/data/media/10/tmp/rburdj.html music production schools in london] [http://bluespringsbmx.com/4IMAGES/data/media/10/tmp/jdbhwh.html american cookie co] [http://coastguard.gov.ph/content.old/license/guuteu.html aspire yes com] [http://coastguard.gov.ph/content.old/license/tcscsx.html winter plant identification] [http://smallbizbohol.com/democatalog/images/baner/kspwth.html repossession of car] [http://roycemotor.com/carpics/cache/lofjnv.html this is the moment that you know that you] [http://lumayagrealty.com/catalog/images/pics/ouwqxo.html poker bonus code best] [http://lumayagrealty.com/catalog/images/pics/bpgacs.html sims superstar] [http://www.redacademica.edu.co/manejocorreo/Cliente/cache/qweaxx.html real estate in lake charles la] [http://www.biblored.org.co/agenda_actividades/programas/images/tegrst.html vt boston college] [http://asie-voyages.com/upload/images/lens/ulptme.html erotic doctor story] [http://bluespringsbmx.com/4IMAGES/data/media/10/tmp/fokqkp.html wedding reception photo] [http://www.lewakins.com/sr/images/lbqltc.html nude centerfold] [http://tch-voyages.com/documents/prague/896/thgneb.html retirement speeches samples] [http://ankelia-nature.com/catalogues/catalogues/gfccfv.html what is abused] [http://panties-pictures.com/free/lib/temp/nmgobh.html atl let me make it up with love lyrics] [http://hoosierfishing.com/phpBB/images/avatars/avatar/iawnaj.html autohaendler] [http://www.norcab.com.au/joeavatiforum/templates/cache/gbwxvr.html lord give me the strength to change] [http://asie-voyages.com/upload/images/lens/veraur.html new dragon asia corp] [http://tarsierfoundation.org/content/license/pdvnpr.html lil jon mp3] [http://coastguard.gov.ph/content.old/license/bsbimv.html jardin anglais] [http://indianaoutfitters.com/s/info/tmp/wqsnxp.html i loved lyric] [http://asie-voyages.com/upload/images/lens/ibwrcw.html kingdom hearts full story] [http://roycemotor.com/carpics/cache/aeplax.html romanian radio stations] [http://smallbizbohol.com/democatalog/images/baner/ervddn.html new ceo press release] [http://ankelia-nature.com/catalogues/catalogues/miqxbn.html labor law pa poster] [http://roycemotor.com/carpics/cache/pqprmc.html nickledeon tv] [http://asie-voyages.com/upload/images/lens/sdxuqo.html plastic palm tree] [http://coastguard.gov.ph/content.old/license/vxmtqu.html sherry lynn brown] [http://www.youthfitnesssolutions.com/FTP1/page9/dwawxr.html metro green line station] [http://panties-pictures.com/free/lib/temp/ifvhjc.html international call] [http://tch-voyages.com/documents/prague/896/sifgtd.html nc property rental wilmington] [http://smallbizbohol.com/democatalog/images/baner/ekafbw.html solar powered steam] [http://tch-voyages.com/documents/prague/896/gvpbvf.html maps of mountain ranges] [http://xuccco.org/themes/AT-Green3/lnungg.html music production schools in london] [http://www.sedbogota.edu.co/FINANCIERA/temp/tmp/frofpg.html 2 million dollar homes] [http://lumayagrealty.com/catalog/images/pics/vtkghi.html sleep sound in jesus lyrics] [http://www.biblored.org.co/agenda_actividades/programas/images/oiiagj.html accounting for employee benefit plan] [http://roycemotor.com/carpics/cache/nndhhr.html eva devine] [http://www.sedbogota.edu.co/FINANCIERA/temp/tmp/kwsgfk.html las mgm picture vegas] [http://www.sedbogota.edu.co/FINANCIERA/temp/tmp/jkuejh.html mr skin free video] [http://hoosierfishing.com/phpBB/images/avatars/avatar/rmmqcj.html proteccion civil venezuela] [http://xuccco.org/themes/AT-Green3/egvxqj.html suzanne thomas seattle] [http://smallbizbohol.com/democatalog/images/baner/bnknhr.html java formatted output] [http://roycemotor.com/carpics/cache/hrxcug.html linux crm system] [http://panties-pictures.com/free/lib/temp/hthuks.html programmed inputoutput] [http://www.lewakins.com/sr/images/lnrjnk.html the third law of thermodynamics] [http://hoosierfishing.com/phpBB/images/avatars/avatar/oshnpn.html sick and twisted videos] [http://panties-pictures.com/free/lib/temp/efbtrc.html waste from nuclear power plants half life] [http://tch-voyages.com/documents/prague/896/pgjofs.html superman comic strip]
| | {{LanguageBar|title = QAngle}} |
| {| style="text-align:center"
| | |
| ! Description || Name || Value || Image || Code
| | {{toc-right}} |
| |-
| | |
| |rowspan="3"| An angular world<br />orientation in degrees. || Pitch || Y
| | '''QAngle''' is a C++ class in [[Source]] that represents a three-dimensional [[Wikipedia: Extrinsic rotations|extrinsic Tait-Bryan rotations]] following the [[Wikipedia: Right-hand rule|right-hand rule]], offset from the cardinal [[Coordinates|Z axis]]. Each QAngle contains three [[vec t]] rotation values: |
| |rowspan="3"| [[Image:Roll_pitch_yaw.gif]]
| | == == |
| |rowspan="3"| <code>QAngle(y, z, x)</code>
| | === X === |
| |-
| | '''X''' pitch +down/-up |
| | Yaw || Z
| | === Y === |
| |-
| | '''Y''' yaw +left/-right |
| | Roll || X
| | === Z === |
| |}
| | '''Z''' roll +right/-left |
| [[Category:Glossary]] [[Category:Helpers]] [[Category:Level Design]] | | |
| | <code>(-45,10,0)</code> means 45° up, 10° left and 0° roll. |
| | |
| | {{tip|The axes are sometimes called rX, rY and rZ to distinguish them from [[vector]] axes.}} |
| | |
| | {{note|Z is clamped to +/-50 for player viewangles.}} |
| | |
| | == Declaration == |
| | |
| | QAngle angMyAngle = QAngle(-45,10,0); |
| | |
| | * You could also assign to the X, Y and Z member variables separately. |
| | * The prefix <code>ang</code> (or sometimes just <code>a</code>) identifies the variable as an angle. |
| | |
| | == Orientation == |
| | |
| | To get a feeling for how a <code>QAngle([X], [Y], [Z])</code> works, imagine a first-person perspective: |
| | |
| | * Looking down or up corresponds to positive or negative [X] |
| | * Looking left or right corresponds to positive or negative [Y] |
| | * Tilting your head so your right or left ear faces the ground corresponds to positive or negative [Z] |
| | |
| | To relate this back to vectors and coordinates: The values of [X], [Y], and [Z] correspond to a clockwise rotation (in degrees) around the [[Coordinates|absolute axes]]{{confirm}} y, z, and x, respectively. |
| | |
| | "Clockwise rotation" in an axis assumes the viewer is located at the origin looking in the positive direction of said axis. |
| | |
| | === Naming Conventions === |
| | |
| | Different fields use different naming conventions to describe these angles. To clear up any conflicting terms, short explanations are included below. Source Engine seems to draw its lingo from Aerospace Engineering. |
| | |
| | '''Aerospace Engineering''' |
| | |
| | {{Expand|When imagining a plane, pitch moves the nose up and down, yaw moves the nose left and right, and roll causes one wing to move up and the other wing to move down. |
| | [[Wikipedia: Aircraft principal axes|In Aerospace Engineering]], this system is also referred to as Euler angles if — unlike QAngles — the axes rotate along. See "Mathematics" for clarification.}} |
| | |
| | '''Mathematics''' |
| | |
| | {{Expand| Strictly speaking, QAngles would be defined as [[Wikipedia: Extrinsic rotations|extrinsic Tait-Bryan rotations]] following the [[Wikipedia: Right-hand rule|right-hand rule]]. The terms "Tait-Bryan angles" and "Euler angles" are sometimes used interchangeably however. Breaking down this name into digestible chunks: |
| | |
| | * The difference between [[Wikipedia: Extrinsic rotations|intrinsic and extrinsic rotations]], is that with the former, each rotation shifts the axes along with it |
| | * The difference between [[Wikipedia: Euler angles|proper Euler angles and Tait-Bryan angles]], is that the former rotates twice around one axis and once around another (alternatingly), while the latter rotates once around all three axes |
| | * The [[Wikipedia: right-hand rule|right-hand rule]] states that if the thumb of one's right hand is pointing along the positive direction of an axis, their other fingers will curl in the positive direction of rotation |
| | |
| | {{tip|Since many conflicting definitions are used in rotation, being explicit when it comes to naming can help avoid confusion}} }} |
| | |
| | == Converting from Vector == |
| | |
| | As there is no specific [[Data Descriptions#DEFINE FIELD|datadesc keyfield]] for angles, one chosen in Hammer will arrive as a [[vector]]. Its ordinates will represent degrees of rotation and not coordinates so it must be fixed up before use: |
| | |
| | <source lang=cpp> |
| | QAngle angMyAngle = QAngle(vecFromHammer.x, vecFromHammer.y, vecFromHammer.z); |
| | |
| | // Conversion back to a vector, if required |
| | AngleVectors(angMyAngle, &vecFromHammer);</source> |
| | |
| | == Presence == |
| | |
| | * SP 2013 ([https://github.com/ValveSoftware/source-sdk-2013/blob/0d8dceea4310fde5706b3ce1c70609d72a38efdf/sp/src/public/mathlib/vector.h#L1661 blob] [https://github.com/ValveSoftware/source-sdk-2013/blob/master/sp/src/public/mathlib/vector.h#L1661 master]) |
| | * MP 2013 ([https://github.com/ValveSoftware/source-sdk-2013/blob/0d8dceea4310fde5706b3ce1c70609d72a38efdf/mp/src/public/mathlib/vector.h#L1661 blob] [https://github.com/ValveSoftware/source-sdk-2013/blob/master/mp/src/public/mathlib/vector.h#L1661 master]) |
| | |
| | == See also == |
| | |
| | * [[Wikipedia:Yaw, pitch, and roll]] |
| | * [[getpos]] |
| | * [[Vector]] and [[Coordinates]] |
| | * [[AngleVectors()|<code>AngleVectors()</code> / <code>VectorAngles()</code>]] |
| | |
| | [[Category:Source class]] |
| | [[Category:Glossary]] |
| | [[Category:Variables]] |
QAngle is a C++ class in Source that represents a three-dimensional extrinsic Tait-Bryan rotations following the right-hand rule, offset from the cardinal Z axis. Each QAngle contains three vec t rotation values:
X
X pitch +down/-up
Y
Y yaw +left/-right
Z
Z roll +right/-left
(-45,10,0)
means 45° up, 10° left and 0° roll.
Tip:The axes are sometimes called rX, rY and rZ to distinguish them from vector axes.
Note:Z is clamped to +/-50 for player viewangles.
Declaration
QAngle angMyAngle = QAngle(-45,10,0);
- You could also assign to the X, Y and Z member variables separately.
- The prefix
ang
(or sometimes just a
) identifies the variable as an angle.
Orientation
To get a feeling for how a QAngle([X], [Y], [Z])
works, imagine a first-person perspective:
- Looking down or up corresponds to positive or negative [X]
- Looking left or right corresponds to positive or negative [Y]
- Tilting your head so your right or left ear faces the ground corresponds to positive or negative [Z]
To relate this back to vectors and coordinates: The values of [X], [Y], and [Z] correspond to a clockwise rotation (in degrees) around the absolute axes[confirm] y, z, and x, respectively.
"Clockwise rotation" in an axis assumes the viewer is located at the origin looking in the positive direction of said axis.
Naming Conventions
Different fields use different naming conventions to describe these angles. To clear up any conflicting terms, short explanations are included below. Source Engine seems to draw its lingo from Aerospace Engineering.
Aerospace Engineering
When imagining a plane, pitch moves the nose up and down, yaw moves the nose left and right, and roll causes one wing to move up and the other wing to move down.
In Aerospace Engineering, this system is also referred to as Euler angles if — unlike QAngles — the axes rotate along. See "Mathematics" for clarification.
|
Mathematics
Strictly speaking, QAngles would be defined as extrinsic Tait-Bryan rotations following the right-hand rule. The terms "Tait-Bryan angles" and "Euler angles" are sometimes used interchangeably however. Breaking down this name into digestible chunks:
- The difference between intrinsic and extrinsic rotations, is that with the former, each rotation shifts the axes along with it
- The difference between proper Euler angles and Tait-Bryan angles, is that the former rotates twice around one axis and once around another (alternatingly), while the latter rotates once around all three axes
- The right-hand rule states that if the thumb of one's right hand is pointing along the positive direction of an axis, their other fingers will curl in the positive direction of rotation
Tip:Since many conflicting definitions are used in rotation, being explicit when it comes to naming can help avoid confusion
|
Converting from Vector
As there is no specific datadesc keyfield for angles, one chosen in Hammer will arrive as a vector. Its ordinates will represent degrees of rotation and not coordinates so it must be fixed up before use:
QAngle angMyAngle = QAngle(vecFromHammer.x, vecFromHammer.y, vecFromHammer.z);
// Conversion back to a vector, if required
AngleVectors(angMyAngle, &vecFromHammer);
Presence
See also