Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- %% bare_adv.tex
- %% V1.4b
- %% 2015/08/26
- %% by Michael Shell
- %% See:
- %% http://www.michaelshell.org/
- %% for current contact information.
- %%
- %% This is a skeleton file demonstrating the advanced use of IEEEtran.cls
- %% (requires IEEEtran.cls version 1.8b or later) with an IEEE Computer
- %% Society journal paper.
- %%
- %% Support sites:
- %% http://www.michaelshell.org/tex/ieeetran/
- %% http://www.ctan.org/pkg/ieeetran
- %% and
- %% http://www.ieee.org/
- %%*************************************************************************
- %% Legal Notice:
- %% This code is offered as-is without any warranty either expressed or
- %% implied; without even the implied warranty of MERCHANTABILITY or
- %% FITNESS FOR A PARTICULAR PURPOSE!
- %% User assumes all risk.
- %% In no event shall the IEEE or any contributor to this code be liable for
- %% any damages or losses, including, but not limited to, incidental,
- %% consequential, or any other damages, resulting from the use or misuse
- %% of any information contained here.
- %%
- %% All comments are the opinions of their respective authors and are not
- %% necessarily endorsed by the IEEE.
- %%
- %% This work is distributed under the LaTeX Project Public License (LPPL)
- %% ( http://www.latex-project.org/ ) version 1.3, and may be freely used,
- %% distributed and modified. A copy of the LPPL, version 1.3, is included
- %% in the base LaTeX documentation of all distributions of LaTeX released
- %% 2003/12/01 or later.
- %% Retain all contribution notices and credits.
- %% ** Modified files should be clearly indicated as such, including **
- %% ** renaming them and changing author support contact information. **
- %%*************************************************************************
- % *** Authors should verify (and, if needed, correct) their LaTeX system ***
- % *** with the testflow diagnostic prior to trusting their LaTeX platform ***
- % *** with production work. The IEEE's font choices and paper sizes can ***
- % *** trigger bugs that do not appear when using other class files. *** ***
- % The testflow support page is at:
- % http://www.michaelshell.org/tex/testflow/
- % IEEEtran V1.7 and later provides for these CLASSINPUT macros to allow the
- % user to reprogram some IEEEtran.cls defaults if needed. These settings
- % override the internal defaults of IEEEtran.cls regardless of which class
- % options are used. Do not use these unless you have good reason to do so as
- % they can result in nonIEEE compliant documents. User beware. ;)
- %
- %\newcommand{\CLASSINPUTbaselinestretch}{1.0} % baselinestretch
- %\newcommand{\CLASSINPUTinnersidemargin}{1in} % inner side margin
- %\newcommand{\CLASSINPUToutersidemargin}{1in} % outer side margin
- %\newcommand{\CLASSINPUTtoptextmargin}{1in} % top text margin
- %\newcommand{\CLASSINPUTbottomtextmargin}{1in}% bottom text margin
- %
- \documentclass[10pt,journal,compsoc]{IEEEtran}
- % If IEEEtran.cls has not been installed into the LaTeX system files,
- % manually specify the path to it like:
- % \documentclass[10pt,journal,compsoc]{../sty/IEEEtran}
- % For Computer Society journals, IEEEtran defaults to the use of
- % Palatino/Palladio as is done in IEEE Computer Society journals.
- % To go back to Times Roman, you can use this code:
- %\renewcommand{\rmdefault}{ptm}\selectfont
- % Some very useful LaTeX packages include:
- % (uncomment the ones you want to load)
- % *** MISC UTILITY PACKAGES ***
- %
- %\usepackage{ifpdf}
- % Heiko Oberdiek's ifpdf.sty is very useful if you need conditional
- % compilation based on whether the output is pdf or dvi.
- % usage:
- % \ifpdf
- % % pdf code
- % \else
- % % dvi code
- % \fi
- % The latest version of ifpdf.sty can be obtained from:
- % http://www.ctan.org/pkg/ifpdf
- % Also, note that IEEEtran.cls V1.7 and later provides a builtin
- % \ifCLASSINFOpdf conditional that works the same way.
- % When switching from latex to pdflatex and vice-versa, the compiler may
- % have to be run twice to clear warning/error messages.
- % *** CITATION PACKAGES ***
- %
- \ifCLASSOPTIONcompsoc
- % The IEEE Computer Society needs nocompress option
- % requires cite.sty v4.0 or later (November 2003)
- \usepackage[nocompress]{cite}
- \else
- % normal IEEE
- \usepackage{cite}
- \fi
- % cite.sty was written by Donald Arseneau
- % V1.6 and later of IEEEtran pre-defines the format of the cite.sty package
- % \cite{} output to follow that of the IEEE. Loading the cite package will
- % result in citation numbers being automatically sorted and properly
- % "compressed/ranged". e.g., [1], [9], [2], [7], [5], [6] without using
- % cite.sty will become [1], [2], [5]--[7], [9] using cite.sty. cite.sty's
- % \cite will automatically add leading space, if needed. Use cite.sty's
- % noadjust option (cite.sty V3.8 and later) if you want to turn this off
- % such as if a citation ever needs to be enclosed in parenthesis.
- % cite.sty is already installed on most LaTeX systems. Be sure and use
- % version 5.0 (2009-03-20) and later if using hyperref.sty.
- % The latest version can be obtained at:
- % http://www.ctan.org/pkg/cite
- % The documentation is contained in the cite.sty file itself.
- %
- % Note that some packages require special options to format as the Computer
- % Society requires. In particular, Computer Society papers do not use
- % compressed citation ranges as is done in typical IEEE papers
- % (e.g., [1]-[4]). Instead, they list every citation separately in order
- % (e.g., [1], [2], [3], [4]). To get the latter we need to load the cite
- % package with the nocompress option which is supported by cite.sty v4.0
- % and later.
- \usepackage[backend=biber]{biblatex}
- \addbibresource{references.bib}
- % *** GRAPHICS RELATED PACKAGES ***
- %
- \ifCLASSINFOpdf
- \usepackage[pdftex]{graphicx}
- \usepackage{float}
- % declare the path(s) where your graphic files are
- % \graphicspath{{../pdf/}{../jpeg/}}
- % and their extensions so you won't have to specify these with
- % every instance of \includegraphics
- % \DeclareGraphicsExtensions{.pdf,.jpeg,.png}
- \else
- % or other class option (dvipsone, dvipdf, if not using dvips). graphicx
- % will default to the driver specified in the system graphics.cfg if no
- % driver is specified.
- % \usepackage[dvips]{graphicx}
- % declare the path(s) where your graphic files are
- % \graphicspath{{../eps/}}
- % and their extensions so you won't have to specify these with
- % every instance of \includegraphics
- % \DeclareGraphicsExtensions{.eps}
- \fi
- % graphicx was written by David Carlisle and Sebastian Rahtz. It is
- % required if you want graphics, photos, etc. graphicx.sty is already
- % installed on most LaTeX systems. The latest version and documentation
- % can be obtained at:
- % http://www.ctan.org/pkg/graphicx
- % Another good source of documentation is "Using Imported Graphics in
- % LaTeX2e" by Keith Reckdahl which can be found at:
- % http://www.ctan.org/pkg/epslatex
- %
- % latex, and pdflatex in dvi mode, support graphics in encapsulated
- % postscript (.eps) format. pdflatex in pdf mode supports graphics
- % in .pdf, .jpeg, .png and .mps (metapost) formats. Users should ensure
- % that all non-photo figures use a vector format (.eps, .pdf, .mps) and
- % not a bitmapped formats (.jpeg, .png). The IEEE frowns on bitmapped formats
- % which can result in "jaggedy"/blurry rendering of lines and letters as
- % well as large increases in file sizes.
- %
- % You can find documentation about the pdfTeX application at:
- % http://www.tug.org/applications/pdftex
- % *** MATH PACKAGES ***
- %
- %\usepackage{amsmath}
- % A popular package from the American Mathematical Society that provides
- % many useful and powerful commands for dealing with mathematics.
- %
- % Note that the amsmath package sets \interdisplaylinepenalty to 10000
- % thus preventing page breaks from occurring within multiline equations. Use:
- %\interdisplaylinepenalty=2500
- % after loading amsmath to restore such page breaks as IEEEtran.cls normally
- % does. amsmath.sty is already installed on most LaTeX systems. The latest
- % version and documentation can be obtained at:
- % http://www.ctan.org/pkg/amsmath
- % *** SPECIALIZED LIST PACKAGES ***
- %\usepackage{acronym}
- % acronym.sty was written by Tobias Oetiker. This package provides tools for
- % managing documents with large numbers of acronyms. (You don't *have* to
- % use this package - unless you have a lot of acronyms, you may feel that
- % such package management of them is bit of an overkill.)
- % Do note that the acronym environment (which lists acronyms) will have a
- % problem when used under IEEEtran.cls because acronym.sty relies on the
- % description list environment - which IEEEtran.cls has customized for
- % producing IEEE style lists. A workaround is to declared the longest
- % label width via the IEEEtran.cls \IEEEiedlistdecl global control:
- %
- % \renewcommand{\IEEEiedlistdecl}{\IEEEsetlabelwidth{SONET}}
- % \begin{acronym}
- %
- % \end{acronym}
- % \renewcommand{\IEEEiedlistdecl}{\relax}% remember to reset \IEEEiedlistdecl
- %
- % instead of using the acronym environment's optional argument.
- % The latest version and documentation can be obtained at:
- % http://www.ctan.org/pkg/acronym
- %\usepackage{algorithmic}
- % algorithmic.sty was written by Peter Williams and Rogerio Brito.
- % This package provides an algorithmic environment fo describing algorithms.
- % You can use the algorithmic environment in-text or within a figure
- % environment to provide for a floating algorithm. Do NOT use the algorithm
- % floating environment provided by algorithm.sty (by the same authors) or
- % algorithm2e.sty (by Christophe Fiorio) as the IEEE does not use dedicated
- % algorithm float types and packages that provide these will not provide
- % correct IEEE style captions. The latest version and documentation of
- % algorithmic.sty can be obtained at:
- % http://www.ctan.org/pkg/algorithms
- % Also of interest may be the (relatively newer and more customizable)
- % algorithmicx.sty package by Szasz Janos:
- % http://www.ctan.org/pkg/algorithmicx
- % *** ALIGNMENT PACKAGES ***
- %
- %\usepackage{array}
- % Frank Mittelbach's and David Carlisle's array.sty patches and improves
- % the standard LaTeX2e array and tabular environments to provide better
- % appearance and additional user controls. As the default LaTeX2e table
- % generation code is lacking to the point of almost being broken with
- % respect to the quality of the end results, all users are strongly
- % advised to use an enhanced (at the very least that provided by array.sty)
- % set of table tools. array.sty is already installed on most systems. The
- % latest version and documentation can be obtained at:
- % http://www.ctan.org/pkg/array
- %\usepackage{mdwmath}
- %\usepackage{mdwtab}
- % Also highly recommended is Mark Wooding's extremely powerful MDW tools,
- % especially mdwmath.sty and mdwtab.sty which are used to format equations
- % and tables, respectively. The MDWtools set is already installed on most
- % LaTeX systems. The lastest version and documentation is available at:
- % http://www.ctan.org/pkg/mdwtools
- % IEEEtran contains the IEEEeqnarray family of commands that can be used to
- % generate multiline equations as well as matrices, tables, etc., of high
- % quality.
- %\usepackage{eqparbox}
- % Also of notable interest is Scott Pakin's eqparbox package for creating
- % (automatically sized) equal width boxes - aka "natural width parboxes".
- % Available at:
- % http://www.ctan.org/pkg/eqparbox
- % *** SUBFIGURE PACKAGES ***
- %\ifCLASSOPTIONcompsoc
- % \usepackage[caption=false,font=footnotesize,labelfont=sf,textfont=sf]{subfig}
- %\else
- % \usepackage[caption=false,font=footnotesize]{subfig}
- %\fi
- % subfig.sty, written by Steven Douglas Cochran, is the modern replacement
- % for subfigure.sty, the latter of which is no longer maintained and is
- % incompatible with some LaTeX packages including fixltx2e. However,
- % subfig.sty requires and automatically loads Axel Sommerfeldt's caption.sty
- % which will override IEEEtran.cls' handling of captions and this will result
- % in non-IEEE style figure/table captions. To prevent this problem, be sure
- % and invoke subfig.sty's "caption=false" package option (available since
- % subfig.sty version 1.3, 2005/06/28) as this is will preserve IEEEtran.cls
- % handling of captions.
- % Note that the Computer Society format requires a sans serif font rather
- % than the serif font used in traditional IEEE formatting and thus the need
- % to invoke different subfig.sty package options depending on whether
- % compsoc mode has been enabled.
- %
- % The latest version and documentation of subfig.sty can be obtained at:
- % http://www.ctan.org/pkg/subfig
- % *** FLOAT PACKAGES ***
- %
- %\usepackage{fixltx2e}
- % fixltx2e, the successor to the earlier fix2col.sty, was written by
- % Frank Mittelbach and David Carlisle. This package corrects a few problems
- % in the LaTeX2e kernel, the most notable of which is that in current
- % LaTeX2e releases, the ordering of single and double column floats is not
- % guaranteed to be preserved. Thus, an unpatched LaTeX2e can allow a
- % single column figure to be placed prior to an earlier double column
- % figure.
- % Be aware that LaTeX2e kernels dated 2015 and later have fixltx2e.sty's
- % corrections already built into the system in which case a warning will
- % be issued if an attempt is made to load fixltx2e.sty as it is no longer
- % needed.
- % The latest version and documentation can be found at:
- % http://www.ctan.org/pkg/fixltx2e
- %\usepackage{stfloats}
- % stfloats.sty was written by Sigitas Tolusis. This package gives LaTeX2e
- % the ability to do double column floats at the bottom of the page as well
- % as the top. (e.g., "\begin{figure*}[!b]" is not normally possible in
- % LaTeX2e). It also provides a command:
- %\fnbelowfloat
- % to enable the placement of footnotes below bottom floats (the standard
- % LaTeX2e kernel puts them above bottom floats). This is an invasive package
- % which rewrites many portions of the LaTeX2e float routines. It may not work
- % with other packages that modify the LaTeX2e float routines. The latest
- % version and documentation can be obtained at:
- % http://www.ctan.org/pkg/stfloats
- % Do not use the stfloats baselinefloat ability as the IEEE does not allow
- % \baselineskip to stretch. Authors submitting work to the IEEE should note
- % that the IEEE rarely uses double column equations and that authors should try
- % to avoid such use. Do not be tempted to use the cuted.sty or midfloat.sty
- % packages (also by Sigitas Tolusis) as the IEEE does not format its papers in
- % such ways.
- % Do not attempt to use stfloats with fixltx2e as they are incompatible.
- % Instead, use Morten Hogholm'a dblfloatfix which combines the features
- % of both fixltx2e and stfloats:
- %
- % \usepackage{dblfloatfix}
- % The latest version can be found at:
- % http://www.ctan.org/pkg/dblfloatfix
- %\ifCLASSOPTIONcaptionsoff
- % \usepackage[nomarkers]{endfloat}
- % \let\MYoriglatexcaption\caption
- % \renewcommand{\caption}[2][\relax]{\MYoriglatexcaption[#2]{#2}}
- %\fi
- % endfloat.sty was written by James Darrell McCauley, Jeff Goldberg and
- % Axel Sommerfeldt. This package may be useful when used in conjunction with
- % IEEEtran.cls' captionsoff option. Some IEEE journals/societies require that
- % submissions have lists of figures/tables at the end of the paper and that
- % figures/tables without any captions are placed on a page by themselves at
- % the end of the document. If needed, the draftcls IEEEtran class option or
- % \CLASSINPUTbaselinestretch interface can be used to increase the line
- % spacing as well. Be sure and use the nomarkers option of endfloat to
- % prevent endfloat from "marking" where the figures would have been placed
- % in the text. The two hack lines of code above are a slight modification of
- % that suggested by in the endfloat docs (section 8.4.1) to ensure that
- % the full captions always appear in the list of figures/tables - even if
- % the user used the short optional argument of \caption[]{}.
- % IEEE papers do not typically make use of \caption[]'s optional argument,
- % so this should not be an issue. A similar trick can be used to disable
- % captions of packages such as subfig.sty that lack options to turn off
- % the subcaptions:
- % For subfig.sty:
- % \let\MYorigsubfloat\subfloat
- % \renewcommand{\subfloat}[2][\relax]{\MYorigsubfloat[]{#2}}
- % However, the above trick will not work if both optional arguments of
- % the \subfloat command are used. Furthermore, there needs to be a
- % description of each subfigure *somewhere* and endfloat does not add
- % subfigure captions to its list of figures. Thus, the best approach is to
- % avoid the use of subfigure captions (many IEEE journals avoid them anyway)
- % and instead reference/explain all the subfigures within the main caption.
- % The latest version of endfloat.sty and its documentation can obtained at:
- % http://www.ctan.org/pkg/endfloat
- %
- % The IEEEtran \ifCLASSOPTIONcaptionsoff conditional can also be used
- % later in the document, say, to conditionally put the References on a
- % page by themselves.
- % *** PDF, URL AND HYPERLINK PACKAGES ***
- %
- %\usepackage{url}
- % url.sty was written by Donald Arseneau. It provides better support for
- % handling and breaking URLs. url.sty is already installed on most LaTeX
- % systems. The latest version and documentation can be obtained at:
- % http://www.ctan.org/pkg/url
- % Basically, \url{my_url_here}.
- % NOTE: PDF thumbnail features are not required in IEEE papers
- % and their use requires extra complexity and work.
- %\ifCLASSINFOpdf
- % \usepackage[pdftex]{thumbpdf}
- %\else
- % \usepackage[dvips]{thumbpdf}
- %\fi
- % thumbpdf.sty and its companion Perl utility were written by Heiko Oberdiek.
- % It allows the user a way to produce PDF documents that contain fancy
- % thumbnail images of each of the pages (which tools like acrobat reader can
- % utilize). This is possible even when using dvi->ps->pdf workflow if the
- % correct thumbpdf driver options are used. thumbpdf.sty incorporates the
- % file containing the PDF thumbnail information (filename.tpm is used with
- % dvips, filename.tpt is used with pdftex, where filename is the base name of
- % your tex document) into the final ps or pdf output document. An external
- % utility, the thumbpdf *Perl script* is needed to make these .tpm or .tpt
- % thumbnail files from a .ps or .pdf version of the document (which obviously
- % does not yet contain pdf thumbnails). Thus, one does a:
- %
- % thumbpdf filename.pdf
- %
- % to make a filename.tpt, and:
- %
- % thumbpdf --mode dvips filename.ps
- %
- % to make a filename.tpm which will then be loaded into the document by
- % thumbpdf.sty the NEXT time the document is compiled (by pdflatex or
- % latex->dvips->ps2pdf). Users must be careful to regenerate the .tpt and/or
- % .tpm files if the main document changes and then to recompile the
- % document to incorporate the revised thumbnails to ensure that thumbnails
- % match the actual pages. It is easy to forget to do this!
- %
- % Unix systems come with a Perl interpreter. However, MS Windows users
- % will usually have to install a Perl interpreter so that the thumbpdf
- % script can be run. The Ghostscript PS/PDF interpreter is also required.
- % See the thumbpdf docs for details. The latest version and documentation
- % can be obtained at.
- % http://www.ctan.org/pkg/thumbpdf
- % NOTE: PDF hyperlink and bookmark features are not required in IEEE
- % papers and their use requires extra complexity and work.
- % *** IF USING HYPERREF BE SURE AND CHANGE THE EXAMPLE PDF ***
- % *** TITLE/SUBJECT/AUTHOR/KEYWORDS INFO BELOW!! ***
- \newcommand\MYhyperrefoptions{bookmarks=true,bookmarksnumbered=true,
- pdfpagemode={UseOutlines},plainpages=false,pdfpagelabels=true,
- colorlinks=true,linkcolor={black},citecolor={black},urlcolor={black},
- pdftitle={Bare Demo of IEEEtran.cls for Computer Society Journals},%<!CHANGE!
- pdfsubject={Typesetting},%<!CHANGE!
- pdfauthor={Michael D. Shell},%<!CHANGE!
- pdfkeywords={Computer Society, IEEEtran, journal, LaTeX, paper,
- template}}%<^!CHANGE!
- %\ifCLASSINFOpdf
- %\usepackage[\MYhyperrefoptions,pdftex]{hyperref}
- %\else
- %\usepackage[\MYhyperrefoptions,breaklinks=true,dvips]{hyperref}
- %\usepackage{breakurl}
- %\fi
- % One significant drawback of using hyperref under DVI output is that the
- % LaTeX compiler cannot break URLs across lines or pages as can be done
- % under pdfLaTeX's PDF output via the hyperref pdftex driver. This is
- % probably the single most important capability distinction between the
- % DVI and PDF output. Perhaps surprisingly, all the other PDF features
- % (PDF bookmarks, thumbnails, etc.) can be preserved in
- % .tex->.dvi->.ps->.pdf workflow if the respective packages/scripts are
- % loaded/invoked with the correct driver options (dvips, etc.).
- % As most IEEE papers use URLs sparingly (mainly in the references), this
- % may not be as big an issue as with other publications.
- %
- % That said, Vilar Camara Neto created his breakurl.sty package which
- % permits hyperref to easily break URLs even in dvi mode.
- % Note that breakurl, unlike most other packages, must be loaded
- % AFTER hyperref. The latest version of breakurl and its documentation can
- % be obtained at:
- % http://www.ctan.org/pkg/breakurl
- % breakurl.sty is not for use under pdflatex pdf mode.
- %
- % The advanced features offer by hyperref.sty are not required for IEEE
- % submission, so users should weigh these features against the added
- % complexity of use.
- % The package options above demonstrate how to enable PDF bookmarks
- % (a type of table of contents viewable in Acrobat Reader) as well as
- % PDF document information (title, subject, author and keywords) that is
- % viewable in Acrobat reader's Document_Properties menu. PDF document
- % information is also used extensively to automate the cataloging of PDF
- % documents. The above set of options ensures that hyperlinks will not be
- % colored in the text and thus will not be visible in the printed page,
- % but will be active on "mouse over". USING COLORS OR OTHER HIGHLIGHTING
- % OF HYPERLINKS CAN RESULT IN DOCUMENT REJECTION BY THE IEEE, especially if
- % these appear on the "printed" page. IF IN DOUBT, ASK THE RELEVANT
- % SUBMISSION EDITOR. You may need to add the option hypertexnames=false if
- % you used duplicate equation numbers, etc., but this should not be needed
- % in normal IEEE work.
- % The latest version of hyperref and its documentation can be obtained at:
- % http://www.ctan.org/pkg/hyperref
- % *** Do not adjust lengths that control margins, column widths, etc. ***
- % *** Do not use packages that alter fonts (such as pslatex). ***
- % There should be no need to do such things with IEEEtran.cls V1.6 and later.
- % (Unless specifically asked to do so by the journal or conference you plan
- % to submit to, of course. )
- % correct bad hyphenation here
- % \hyphenation{op-tical net-works semi-conduc-tor}
- \begin{document}
- %
- % paper title
- % Titles are generally capitalized except for words such as a, an, and, as,
- % at, but, by, for, in, nor, of, on, or, the, to and up, which are usually
- % not capitalized unless they are the first or last word of the title.
- % Linebreaks \\ can be used within to get better formatting as desired.
- % Do not put math or special symbols in the title.
- \title{Procedural Animation with Arbitrary Armature}
- %
- %
- % author names and IEEE memberships
- % note positions of commas and nonbreaking spaces ( ~ ) LaTeX will not break
- % a structure at a ~ so this keeps an author's name from being broken across
- % two lines.
- % use \thanks{} to gain access to the first footnote area
- % a separate \thanks must be used for each paragraph as LaTeX2e's \thanks
- % was not built to handle multiple paragraphs
- %
- %
- %\IEEEcompsocitemizethanks is a special \thanks that produces the bulleted
- % lists the Computer Society journals use for "first footnote" author
- % affiliations. Use \IEEEcompsocthanksitem which works much like \item
- % for each affiliation group. When not in compsoc mode,
- % \IEEEcompsocitemizethanks becomes like \thanks and
- % \IEEEcompsocthanksitem becomes a line break with idention. This
- % facilitates dual compilation, although admittedly the differences in the
- % desired content of \author between the different types of papers makes a
- % one-size-fits-all approach a daunting prospect. For instance, compsoc
- % journal papers have the author affiliations above the "Manuscript
- % received ..." text while in non-compsoc journals this is reversed. Sigh.
- \author{Magnus~Petersen,~\IEEEmembership{Student,~AAU,}
- Kristian~Engberg,~\IEEEmembership{Student,~AAU,}% <-this % stops a space
- }
- % note the % following the last \IEEEmembership and also \thanks -
- % these prevent an unwanted space from occurring between the last author name
- % and the end of the author line. i.e., if you had this:
- %
- % \author{....lastname \thanks{...} \thanks{...} }
- % ^------------^------------^----Do not want these spaces!
- %
- % a space would be appended to the last name and could cause every name on that
- % line to be shifted left slightly. This is one of those "LaTeX things". For
- % instance, "\textbf{A} \textbf{B}" will typeset as "A B" not "AB". To get
- % "AB" then you have to do: "\textbf{A}\textbf{B}"
- % \thanks is no different in this regard, so shield the last } of each \thanks
- % that ends a line with a % and do not let a space in before the next \thanks.
- % Spaces after \IEEEmembership other than the last one are OK (and needed) as
- % you are supposed to have spaces between the names. For what it is worth,
- % this is a minor point as most people would not even notice if the said evil
- % space somehow managed to creep in.
- % The paper headers
- % \markboth{Journal of \LaTeX\ Class Files,~Vol.~14, No.~8, August~2015}%
- % {Shell \MakeLowercase{\textit{et al.}}: Bare Advanced Demo of IEEEtran.cls for IEEE Computer Society Journals}
- % The only time the second header will appear is for the odd numbered pages
- % after the title page when using the twoside option.
- %
- % *** Note that you probably will NOT want to include the author's ***
- % *** name in the headers of peer review papers. ***
- % You can use \ifCLASSOPTIONpeerreview for conditional compilation here if
- % you desire.
- % The publisher's ID mark at the bottom of the page is less important with
- % Computer Society journal papers as those publications place the marks
- % outside of the main text columns and, therefore, unlike regular IEEE
- % journals, the available text space is not reduced by their presence.
- % If you want to put a publisher's ID mark on the page you can do it like
- % this:
- %\IEEEpubid{0000--0000/00\$00.00~\copyright~2015 IEEE}
- % or like this to get the Computer Society new two part style.
- %\IEEEpubid{\makebox[\columnwidth]{\hfill 0000--0000/00/\$00.00~\copyright~2015 IEEE}%
- %\hspace{\columnsep}\makebox[\columnwidth]{Published by the IEEE Computer Society\hfill}}
- % Remember, if you use this you must call \IEEEpubidadjcol in the second
- % column for its text to clear the IEEEpubid mark (Computer Society journal
- % papers don't need this extra clearance.)
- % use for special paper notices
- %\IEEEspecialpapernotice{(Invited Paper)}
- % for Computer Society papers, we must declare the abstract and index terms
- % PRIOR to the title within the \IEEEtitleabstractindextext IEEEtran
- % command as these need to go into the title area created by \maketitle.
- % As a general rule, do not put math, special symbols or citations
- % in the abstract or keywords.
- \IEEEtitleabstractindextext{%
- \begin{abstract}
- In this paper we will explore an inverse kinematic based approach to procedural animation, making creature with one to three pair of legs move in a natural looking way, while still being performance efficient for use in more complex programs such as games. A trajectory for footsteps will be calculated for each armature and inverse kinematic will be used to place the legs appropriately. The different combinations will be tested against eachother in speed and efficiency moving from point a to b following a different shaped lines on a flat surface.
- \end{abstract}
- % Note that keywords are not normally used for peerreview papers.
- \begin{IEEEkeywords}
- Procedural Animation, Bezier Spline, Inverse Kinematics, Foundations in Computer Graphics.
- \end{IEEEkeywords}}
- % make the title area
- \maketitle
- % To allow for easy dual compilation without having to reenter the
- % abstract/keywords data, the \IEEEtitleabstractindextext text will
- % not be used in maketitle, but will appear (i.e., to be "transported")
- % here as \IEEEdisplaynontitleabstractindextext when compsoc mode
- % is not selected <OR> if conference mode is selected - because compsoc
- % conference papers position the abstract like regular (non-compsoc)
- % papers do!
- \IEEEdisplaynontitleabstractindextext
- % \IEEEdisplaynontitleabstractindextext has no effect when using
- % compsoc under a non-conference mode.
- % For peer review papers, you can put extra information on the cover
- % page as needed:
- % \ifCLASSOPTIONpeerreview
- % \begin{center} \bfseries EDICS Category: 3-BBND \end{center}
- % \fi
- %
- % For peerreview papers, this IEEEtran command inserts a page break and
- % creates the second title. It will be ignored for other modes.
- \IEEEpeerreviewmaketitle
- \ifCLASSOPTIONcompsoc
- \IEEEraisesectionheading{\section{Introduction}\label{sec:introduction}}
- \else
- \section{Introduction}
- \label{sec:introduction}
- \fi
- % Computer Society journal (but not conference!) papers do something unusual
- % with the very first section heading (almost always called "Introduction").
- % They place it ABOVE the main text! IEEEtran.cls does not automatically do
- % this for you, but you can achieve this effect with the provided
- % \IEEEraisesectionheading{} command. Note the need to keep any \label that
- % is to refer to the section immediately after \section in the above as
- % \IEEEraisesectionheading puts \section within a raised box.
- % The very first letter is a 2 line initial drop letter followed
- % by the rest of the first word in caps (small caps for compsoc).
- %
- % form to use if the first word consists of a single letter:
- % \IEEEPARstart{A}{demo} file is ....
- %
- % form to use if you need the single drop letter followed by
- % normal text (unknown if ever used by the IEEE):
- % \IEEEPARstart{A}{}demo file is ....
- %
- % Some journals put the first two words in caps:
- % \IEEEPARstart{T}{his demo} file is ....
- %
- % Here we have the typical use of a "T" for an initial drop letter
- % and "HIS" in caps to complete the first word.
- \IEEEPARstart{A}{nimation} is used in a wide variety of industries, such as the video game industry, film industry and marketing to name a few. The animations used in these industries are often done by animators specifying movement and placement of objects in virtual space for every frame. This is both positive and negative in the sense of resources, both time taken and funds used. When animating real world systems, the animator aims to make their animations physically believable. As an example, an animator would have to directly model the movement of a human figure when it walks, depending on the length of the animation, this is a cheap method to achieve believable physics. However, this is not a flexible solution, as the animator would have to specify the placement of each limb for every frame. Therefor programming the physics of a human figure can be beneficial, it is more expensive in terms of computing power, however, it will become a much more flexible system as the animator simply has to tell the system where it needs to go and the animation of walking will be generated automatically.
- \\
- This paper is focused towards procedural animations of animal like creatures with arbitrary armatures. With the use of kinematics and splines, a virtual creature will be specified to move a certain distance without the use of pre-animated walking cycles, creating physically believable animations as it moves.
- % needed in second column of first page if using \IEEEpubid
- %\IEEEpubidadjcol
- \section{Implementation}
- In this paper we will present the details of a program that can procedurally generate walking animations for creatures with arbitrary armatures. We will take a physically based approach, however, we will not be implementing the laws of physics, such as Newton's law of motion. Instead we will be approaching the implementation with the use of kinematics, more specifically inverse kinematics to create physically believable animations.
- \subsection{Forward Kinematics}
- Is there even a reason to talk about Forward Kinematics as we dont make "use" of it.
- \subsection{Inverse Kinematics}
- When approaching animation of human like figures, it can become useful to relate an objects position and movement to another object \cite{parent2012computer}, for example, you would relate the position of your foot to the position of your leg, same with your hand and your lower arm. With the use of inverse kinematics, an animator would unlike forward kinematics simply specify the desired location of a hand or a foot and the system will solve the angles of the joints that would satisfy the problem.
- Solving an IK problem can be done by analysing the geometry. Figure \ref{fig_inversekin} illustrates a simple two-link arm in two-dimensional space. The animator provides the target which can be described by \textit{\textbf{(X,Y)}} coordinate, the joint angles \textit{\textbf{$\beta$}} and \textit{\textbf{$\alpha$}} can be determined by computing the distance from \textit{\textbf{(0,0)}} to the \textit{\textbf{Target}} and using the law of cosine. However, the first step of any IK solving system is to verify that the \textit{\textbf{Target}} is within reach of the arm. It has to satisfy the following:
- $|upper arm - lower arm| \leq \sqrt{X^2+Y^2} \leq upper arm + lower arm$. Upper arm will be referred to as $L_1$ and lower arm will be referred to as $L_2$ from now on.
- \begin{figure}[H]
- \centering
- \includegraphics[width=0.3\textwidth]{inverse_kinematics.png}
- \caption{Kinematics illustration \cite{invKin}}
- \label{fig_inversekin}
- \end{figure}
- Now we need only to calculate the angles of \textit{\textbf{$\beta$}} and \textit{\textbf{$\alpha$}}. $\beta = acos(\frac{L^2_1 + X^2 + Y^2 - L^2_2 }{2L_1 \sqrt{X^2 + Y^2}}) + \beta_T $ where $\beta_T$ is the A angle from the right triangle formed by the base position \textit{\textbf{(0,0)}} and the \textit{\textbf{Target}}, and $\alpha = acos(\frac{L^2_1 + L^2_2 - X^2 + Y^2}{2L_1 L_2})$.
- In simple systems, these equations are enough to make great use of Inverse Kinematics, however, the more complex the system becomes, the more solutions these equations provide, therefor increasing instability \cite{parent2012computer}. In order to increase stability certain constraints must be implemented into the system in order to avoid as many incorrect solutions as possible therefor avoiding animations that do not make physically sense.
- \subsection{Bezier Splines}
- This section will describe the details of a bezier spline and the math behind it
- \subsection{Noise}
- This section will describe how the use of noise to change the bezier spline will be used and how it theoretically works
- \subsection{Prototype}
- This section will describe how Inverse Kinematics and Bezier Spline was combined in the project to make a finalized product, leading into how the product is gonna be evaluated
- \section{Methods}
- Adding noise to the spline that the IK will follow.
- Not the path spline but the step spline
- Add kinetic energy - self defined
- Compared different step splines and see how "natural" they look and how much self-defined kinetic energy that they use.
- 3 different armatures will be tested. Each armature will be identical except for number of limbs, one will have 2 legs, 4 legs and 6 legs. The efficiency of each armature's motion will be calculated using newtons law of motion, assuming each body have the same weight, a cost in energy can be described. The armatures will be tested walking along 3 different paths. Each path is a spline laid out in a line, an s shape and rounded curve as seen in figure \ref{fig_spline}.
- \begin{figure}[H]
- \centering
- \includegraphics[width=0.13\textwidth, angle =90]{Testingbezier.png}
- \caption{Spline Paths}
- \label{fig_spline}
- \end{figure}
- % An example of a floating figure using the graphicx package.
- % Note that \label must occur AFTER (or within) \caption.
- % For figures, \caption should occur after the \includegraphics.
- % Note that IEEEtran v1.7 and later has special internal code that
- % is designed to preserve the operation of \label within \caption
- % even when the captionsoff option is in effect. However, because
- % of issues like this, it may be the safest practice to put all your
- % \label just after \caption rather than within \caption{}.
- %
- % Reminder: the "draftcls" or "draftclsnofoot", not "draft", class
- % option should be used if it is desired that the figures are to be
- % displayed while in draft mode.
- %
- %\begin{figure}[!t]
- %\centering
- %\includegraphics[width=2.5in]{myfigure}
- % where an .eps filename suffix will be assumed under latex,
- % and a .pdf suffix will be assumed for pdflatex; or what has been declared
- % via \DeclareGraphicsExtensions.
- %\caption{Simulation results for the network.}
- %\label{fig_sim}
- %\end{figure}
- % Note that the IEEE typically puts floats only at the top, even when this
- % results in a large percentage of a column being occupied by floats.
- % However, the Computer Society has been known to put floats at the bottom.
- % An example of a double column floating figure using two subfigures.
- % (The subfig.sty package must be loaded for this to work.)
- % The subfigure \label commands are set within each subfloat command,
- % and the \label for the overall figure must come after \caption.
- % \hfil is used as a separator to get equal spacing.
- % Watch out that the combined width of all the subfigures on a
- % line do not exceed the text width or a line break will occur.
- %
- %\begin{figure*}[!t]
- %\centering
- %\subfloat[Case I]{\includegraphics[width=2.5in]{box}%
- %\label{fig_first_case}}
- %\hfil
- %\subfloat[Case II]{\includegraphics[width=2.5in]{box}%
- %\label{fig_second_case}}
- %\caption{Simulation results for the network.}
- %\label{fig_sim}
- %\end{figure*}
- %
- % Note that often IEEE papers with subfigures do not employ subfigure
- % captions (using the optional argument to \subfloat[]), but instead will
- % reference/describe all of them (a), (b), etc., within the main caption.
- % Be aware that for subfig.sty to generate the (a), (b), etc., subfigure
- % labels, the optional argument to \subfloat must be present. If a
- % subcaption is not desired, just leave its contents blank,
- % e.g., \subfloat[].
- % An example of a floating table. Note that, for IEEE style tables, the
- % \caption command should come BEFORE the table and, given that table
- % captions serve much like titles, are usually capitalized except for words
- % such as a, an, and, as, at, but, by, for, in, nor, of, on, or, the, to
- % and up, which are usually not capitalized unless they are the first or
- % last word of the caption. Table text will default to \footnotesize as
- % the IEEE normally uses this smaller font for tables.
- % The \label must come after \caption as always.
- %
- %\begin{table}[!t]
- %% increase table row spacing, adjust to taste
- %\renewcommand{\arraystretch}{1.3}
- % if using array.sty, it might be a good idea to tweak the value of
- % \extrarowheight as needed to properly center the text within the cells
- %\caption{An Example of a Table}
- %\label{table_example}
- %\centering
- %% Some packages, such as MDW tools, offer better commands for making tables
- %% than the plain LaTeX2e tabular which is used here.
- %\begin{tabular}{|c||c|}
- %\hline
- %One & Two\\
- %\hline
- %Three & Four\\
- %\hline
- %\end{tabular}
- %\end{table}
- % Note that the IEEE does not put floats in the very first column
- % - or typically anywhere on the first page for that matter. Also,
- % in-text middle ("here") positioning is typically not used, but it
- % is allowed and encouraged for Computer Society conferences (but
- % not Computer Society journals). Most IEEE journals/conferences use
- % top floats exclusively.
- % Note that, LaTeX2e, unlike IEEE journals/conferences, places
- % footnotes above bottom floats. This can be corrected via the
- % \fnbelowfloat command of the stfloats package.
- \section{Results}
- \section{Conclusion}
- \section{Discussion}
- % if have a single appendix:
- %\appendix[Proof of the Zonklar Equations]
- % or
- %\appendix % for no appendix heading
- % do not use \section anymore after \appendix, only \section*
- % is possibly needed
- % use appendices with more than one appendix
- % then use \section to start each appendix
- % you must declare a \section before using any
- % \subsection or using \label (\appendices by itself
- % starts a section numbered zero.)
- %
- \appendices
- Appendix one text goes here.
- % you can choose not to have a title for an appendix
- % if you want by leaving the argument blank
- \section{}
- Appendix two text goes here.
- % Can use something like this to put references on a page
- % by themselves when using endfloat and the captionsoff option.
- \ifCLASSOPTIONcaptionsoff
- \newpage
- \fi
- % trigger a \newpage just before the given reference
- % number - used to balance the columns on the last page
- % adjust value as needed - may need to be readjusted if
- % the document is modified later
- %\IEEEtriggeratref{8}
- % The "triggered" command can be changed if desired:
- %\IEEEtriggercmd{\enlargethispage{-5in}}
- % references section
- % can use a bibliography generated by BibTeX as a .bbl file
- % BibTeX documentation can be easily obtained at:
- % http://mirror.ctan.org/biblio/bibtex/contrib/doc/
- % The IEEEtran BibTeX style support page is at:
- % http://www.michaelshell.org/tex/ieeetran/bibtex/
- %\bibliographystyle{IEEEtran}
- % argument is your BibTeX string definitions and bibliography database(s)
- %\bibliography{IEEEabrv,../bib/paper}
- %
- % <OR> manually copy in the resultant .bbl file
- % set second argument of \begin to the number of references
- % (used to reserve space for the reference number labels box)
- \printbibliography
- % biography section
- %
- % If you have an EPS/PDF photo (graphicx package needed) extra braces are
- % needed around the contents of the optional argument to biography to prevent
- % the LaTeX parser from getting confused when it sees the complicated
- % \includegraphics command within an optional argument. (You could create
- % your own custom macro containing the \includegraphics command to make things
- % simpler here.)
- %\begin{IEEEbiography}[{\includegraphics[width=1in,height=1.25in,clip,keepaspectratio]{mshell}}]{Michael Shell}
- % or if you just want to reserve a space for a photo:
- % insert where needed to balance the two columns on the last page with
- % biographies
- %\newpage
- % You can push biographies down or up by placing
- % a \vfill before or after them. The appropriate
- % use of \vfill depends on what kind of text is
- % on the last page and whether or not the columns
- % are being equalized.
- %\vfill
- % Can be used to pull up biographies so that the bottom of the last one
- % is flush with the other column.
- %\enlargethispage{-5in}
- % that's all folks
- \end{document}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement