Mercurial > octave
annotate scripts/geometry/rotx.m @ 28886:d8318c12d903
test: remove unnecessary BIST tests in m-files checking for excessive number of inputs.
Remove BIST tests now that interpreter enforces calling function with no more than
the number of arguments defined in the function prototype.
* makeUniqueStrings.m, makeValidName.m, base64decode.m, base64encode.m,
record.m, sound.m, soundsc.m, acosd.m, acot.m, acotd.m, acoth.m, acsc.m,
acscd.m, acsch.m, asec.m, asecd.m, asech.m, asind.m, atan2d.m, atand.m, cosd.m,
cot.m, cotd.m, coth.m, csc.m, cscd.m, csch.m, sec.m, secd.m, sech.m, sind.m,
tand.m, accumdim.m, bincoeff.m, bitget.m, bitset.m, cell2mat.m, circshift.m,
cplxpair.m, cumtrapz.m, deg2rad.m, flip.m, fliplr.m, flipud.m, int2str.m,
interpft.m, logspace.m, num2str.m, postpad.m, prepad.m, rad2deg.m, rot90.m,
rotdim.m, shift.m, subsindex.m, trapz.m, rotx.m, roty.m, rotz.m, getappdata.m,
getpixelposition.m, guidata.m, isappdata.m, waitforbuttonpress.m,
__gripe_missing_component__.m, bessel.m, hsv2rgb.m, ind2gray.m, rgb2gray.m,
rgb2hsv.m, rgbplot.m, fileread.m, javachk.m, usejava.m, findstr.m,
genvarname.m, isdir.m, vectorize.m, cond.m, cross.m, duplication_matrix.m,
expm.m, isbanded.m, isdefinite.m, isdiag.m, ishermitian.m, issymmetric.m,
istril.m, istriu.m, trace.m, vech.m, vecnorm.m, cast.m, citation.m,
compare_versions.m, grabcode.m, inputname.m, isfile.m, isfolder.m, ismac.m,
ispc.m, isunix.m, list_primes.m, methods.m, news.m, open.m, run.m, swapbytes.m,
tar.m, verLessThan.m, zip.m, odeget.m, optimget.m, stemleaf.m, allchild.m,
ancestor.m, close.m, groot.m, hgsave.m, isaxes.m, isfigure.m, isgraphics.m,
ishandle.m, isprop.m, linkaxes.m, rotate.m, saveas.m, conv.m, poly.m,
polyint.m, polyreduce.m, ppval.m, roots.m, addpref.m, getpref.m, ispref.m,
rmpref.m, setpref.m, profile.m, profshow.m, powerset.m, autoreg_matrix.m,
bartlett.m, blackman.m, detrend.m, fftconv.m, fftfilt.m, fftshift.m, hamming.m,
hanning.m, ifftshift.m, sinewave.m, spectral_adf.m, spectral_xdf.m, unwrap.m,
nonzeros.m, spconvert.m, sprand.m, sprandn.m, beta.m, betainc.m, betaln.m,
cosint.m, expint.m, factorial.m, legendre.m, nchoosek.m, nthroot.m, perms.m,
pow2.m, primes.m, reallog.m, realpow.m, realsqrt.m, sinint.m, hankel.m, hilb.m,
invhilb.m, magic.m, pascal.m, toeplitz.m, vander.m, wilkinson.m, center.m,
corr.m, cov.m, discrete_cdf.m, discrete_inv.m, discrete_pdf.m, empirical_cdf.m,
empirical_inv.m, empirical_pdf.m, iqr.m, kendall.m, kurtosis.m, mad.m,
meansq.m, median.m, moment.m, prctile.m, quantile.m, range.m, run_count.m,
skewness.m, spearman.m, statistics.m, std.m, var.m, base2dec.m, bin2dec.m,
blanks.m, dec2base.m, dec2bin.m, dec2hex.m, endsWith.m, erase.m, hex2dec.m,
index.m, isletter.m, isstring.m, isstrprop.m, mat2str.m, ostrsplit.m, rindex.m,
startsWith.m, strtrunc.m, substr.m, fail.m, addtodate.m, asctime.m, ctime.m,
date.m, datestr.m, eomday.m, etime.m, is_leap_year.m, now.m:
remove unnecessary BIST tests in m-files checking for excessive number of inputs.
author | Rik <rik@octave.org> |
---|---|
date | Fri, 09 Oct 2020 13:28:53 -0700 |
parents | 9f9ac219896d |
children | de5f2f9a64ff |
rev | line source |
---|---|
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
1 ######################################################################## |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
2 ## |
27919
1891570abac8
update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents:
27918
diff
changeset
|
3 ## Copyright (C) 2019-2020 The Octave Project Developers |
27918
b442ec6dda5c
use centralized file for copyright info for individual contributors
John W. Eaton <jwe@octave.org>
parents:
27801
diff
changeset
|
4 ## |
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
5 ## See the file COPYRIGHT.md in the top-level directory of this |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
6 ## distribution or <https://octave.org/copyright/>. |
27274
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
7 ## |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
8 ## This file is part of Octave. |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
9 ## |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
10 ## Octave is free software: you can redistribute it and/or modify it |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
11 ## under the terms of the GNU General Public License as published by |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
12 ## the Free Software Foundation, either version 3 of the License, or |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
13 ## (at your option) any later version. |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
14 ## |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
15 ## Octave is distributed in the hope that it will be useful, but |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
16 ## WITHOUT ANY WARRANTY; without even the implied warranty of |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
17 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
18 ## GNU General Public License for more details. |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
19 ## |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
20 ## You should have received a copy of the GNU General Public License |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
21 ## along with Octave; see the file COPYING. If not, see |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
22 ## <https://www.gnu.org/licenses/>. |
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
23 ## |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
24 ######################################################################## |
27274
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
25 |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
26 ## -*- texinfo -*- |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
27 ## @deftypefn {} {@var{T} =} rotx (@var{angle}) |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
28 ## |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
29 ## @code{rotx} returns the 3x3 transformation matrix corresponding to an active |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
30 ## rotation of the vector about the x-axis by the specified @var{angle}, given |
27794
45ad2127582b
doc: grammarcheck scripts before 6.1 release.
Rik <rik@octave.org>
parents:
27274
diff
changeset
|
31 ## in degrees, where a positive angle corresponds to a counterclockwise |
27274
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
32 ## rotation when viewing the y-z plane from the positive x side. |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
33 ## |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
34 ## The form of the transformation matrix is: |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
35 ## @tex |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
36 ## $$ |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
37 ## T = \left[\matrix{ 1 & 0 & 0 \cr |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
38 ## 0 & \cos(angle) & -\sin(angle)\cr |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
39 ## 0 & \sin(angle) & \cos(angle)}\right]. |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
40 ## $$ |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
41 ## @end tex |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
42 ## @ifnottex |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
43 ## |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
44 ## @example |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
45 ## @group |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
46 ## | 1 0 0 | |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
47 ## T = | 0 cos(@var{angle}) -sin(@var{angle}) | |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
48 ## | 0 sin(@var{angle}) cos(@var{angle}) | |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
49 ## @end group |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
50 ## @end example |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
51 ## @end ifnottex |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
52 ## |
27801
1d04f049a859
doc: spellcheck documentation ahead of 6.1 release.
Rik <rik@octave.org>
parents:
27794
diff
changeset
|
53 ## This rotation matrix is intended to be used as a left-multiplying matrix |
27274
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
54 ## when acting on a column vector, using the notation @var{v} = @var{T}@var{u}. |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
55 ## For example, a vector, @var{u}, pointing along the positive y-axis, rotated |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
56 ## 90-degrees about the x-axis, will result in a vector pointing along the |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
57 ## positive z-axis: |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
58 ## |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
59 ## @example |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
60 ## @group |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
61 ## >> u = [0 1 0]' |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
62 ## u = |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
63 ## 0 |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
64 ## 1 |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
65 ## 0 |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
66 ## |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
67 ## >> T = rotx (90) |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
68 ## T = |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
69 ## 1.00000 0.00000 0.00000 |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
70 ## 0.00000 0.00000 -1.00000 |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
71 ## 0.00000 1.00000 0.00000 |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
72 ## |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
73 ## >> v = T*u |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
74 ## v = |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
75 ## 0.00000 |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
76 ## 0.00000 |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
77 ## 1.00000 |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
78 ## @end group |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
79 ## @end example |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
80 ## |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
81 ## @seealso{roty, rotz} |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
82 ## @end deftypefn |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
83 |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
84 function retmat = rotx (angle_in_deg) |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
85 |
28886
d8318c12d903
test: remove unnecessary BIST tests in m-files checking for excessive number of inputs.
Rik <rik@octave.org>
parents:
27985
diff
changeset
|
86 if (nargin != 1 || ! isscalar (angle_in_deg)) |
27274
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
87 print_usage (); |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
88 endif |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
89 |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
90 angle_in_rad = angle_in_deg * pi / 180; |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
91 |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
92 s = sin (angle_in_rad); |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
93 c = cos (angle_in_rad); |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
94 |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
95 retmat = [1 0 0; 0 c -s; 0 s c]; |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
96 |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
97 endfunction |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
98 |
28886
d8318c12d903
test: remove unnecessary BIST tests in m-files checking for excessive number of inputs.
Rik <rik@octave.org>
parents:
27985
diff
changeset
|
99 |
27274
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
100 ## Function output tests |
28886
d8318c12d903
test: remove unnecessary BIST tests in m-files checking for excessive number of inputs.
Rik <rik@octave.org>
parents:
27985
diff
changeset
|
101 %!assert (rotx (0), [1 0 0; 0 1 0; 0 0 1]) |
d8318c12d903
test: remove unnecessary BIST tests in m-files checking for excessive number of inputs.
Rik <rik@octave.org>
parents:
27985
diff
changeset
|
102 %!assert (rotx (45), [1, 0, 0; [0; 0],[(sqrt(2)/2).*[1 -1; 1 1]]], 1e-12) |
d8318c12d903
test: remove unnecessary BIST tests in m-files checking for excessive number of inputs.
Rik <rik@octave.org>
parents:
27985
diff
changeset
|
103 %!assert (rotx (90), [1 0 0; 0 0 -1; 0 1 0], 1e-12) |
d8318c12d903
test: remove unnecessary BIST tests in m-files checking for excessive number of inputs.
Rik <rik@octave.org>
parents:
27985
diff
changeset
|
104 %!assert (rotx (180), [1 0 0; 0 -1 0; 0 0 -1], 1e-12) |
27274
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
105 |
f49226d21c26
Implement missing functions rotx, roty, and rotz (bug #50772, patch #9310)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
diff
changeset
|
106 ## Test input validation |
28886
d8318c12d903
test: remove unnecessary BIST tests in m-files checking for excessive number of inputs.
Rik <rik@octave.org>
parents:
27985
diff
changeset
|
107 %!error <Invalid call> rotx () |
d8318c12d903
test: remove unnecessary BIST tests in m-files checking for excessive number of inputs.
Rik <rik@octave.org>
parents:
27985
diff
changeset
|
108 %!error <Invalid call> rotx ([1 2 3]) |