Mercurial > hg > octave-lyh
changeset 15803:9f17e8278540
Fix vertical arrows in quiver3 (bug #37933)
__quiver__.m (__quiver__): Account for z position when computing arrow
heads in 3d mode.
author | Jordi Gutiérrez Hermoso <jordigh@octave.org> |
---|---|
date | Mon, 17 Dec 2012 10:48:08 -0500 |
parents | b6b95d041813 |
children | b15cfb7ed0eb |
files | scripts/plot/private/__quiver__.m |
diffstat | 1 files changed, 11 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/scripts/plot/private/__quiver__.m +++ b/scripts/plot/private/__quiver__.m @@ -211,12 +211,19 @@ xtmp = x + uu(:) .* (1 - arrowsize); ytmp = y + vv(:) .* (1 - arrowsize); - xarrw1 = xtmp + (y - yend) * arrowsize / 3; - xarrw2 = xtmp - (y - yend) * arrowsize / 3; - yarrw1 = ytmp - (x - xend) * arrowsize / 3; - yarrw2 = ytmp + (x - xend) * arrowsize / 3; + if (is3d) + xarrw1 = xtmp + sqrt((y - yend).^2 + (z - zend).^2) * arrowsize / 3; + xarrw2 = xtmp - sqrt((y - yend).^2 + (z - zend).^2) * arrowsize / 3; + yarrw1 = ytmp - sqrt((x - xend).^2 + (z - zend).^2) * arrowsize / 3; + yarrw2 = ytmp + sqrt((x - xend).^2 + (z - zend).^2) * arrowsize / 3; + zarrw1 = zarrw2 = zend - ww(:) * arrowsize; + else + xarrw1 = xtmp + (y - yend) * arrowsize / 3; + xarrw2 = xtmp - (y - yend) * arrowsize / 3; + yarrw1 = ytmp - (x - xend) * arrowsize / 3; + yarrw2 = ytmp + (x - xend) * arrowsize / 3; endif if (have_line_spec)