Bug 418557 - Rotation transforms around the 'x' or 'y' axis have a fixed construction viewpoint distance
Summary: Rotation transforms around the 'x' or 'y' axis have a fixed construction view...
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Tools/Transform (show other bugs)
Version: 4.2.8
Platform: Debian stable Linux
: NOR wishlist
Target Milestone: ---
Assignee: Dmitry Kazakov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-03-06 20:00 UTC by Ahab Greybeard
Modified: 2021-06-03 10:29 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Examples of 'y' axis transform rotation at different canvas sizes (15.80 KB, application/zip)
2020-03-06 20:00 UTC, Ahab Greybeard
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ahab Greybeard 2020-03-06 20:00:18 UTC
Created attachment 126637 [details]
Examples of 'y' axis transform rotation at different canvas sizes

SUMMARY
This happens on all versions.

When you do a rotation transform about the 'x' or 'y' axis, the edges of the object being rotated appear to 'come out' and 'go in' to the plane of the image, as would be expected. The amount by which this happens would depend on the distance of the 'viewpoint' that is used to construct the projection of the transformed object.

This viewpoint seems to be approximately 1000 pixels above the plane of the image and it is fixed.
It does not change with image size.

There is a general rule that a 'natural' viewpoint distance is about 1.5 to 2.0 times the image diagonal distance. (This is subject to personal opinion and the optimal distance probably depends on the shape and type of image.)

The fixed viewpoint distance in krita gives an unrealistic effect with large (2000 + ) image sizes.

STEPS TO REPRODUCE
Perform rotation transforms about the 'y' or 'x' axis for a variety of canvas sizes in the range 500 px to 3000 px.

OBSERVED RESULT
I attach four images that illustrate this with a simple square shape. For apparently identical images, the effect varies depending on the canvas size. For each image, the 'y' axis rotation was adjusted to give maximum shift of the left side of the orange square to the left side of the image. The green square is a fixed square for reference.

EXPECTED RESULT
The construction viewpoint distance should vary as a multiple of the image diagonal size, or whatever formula is determined to be suitable, so that the apparent visual effect does not vary with canvas size.
Ideally, the distance could be adjusted by the user, possibly as a multiple within a ceratin range, of the canvas diagonal.
Comment 1 wolthera 2020-04-24 12:45:06 UTC
I am going to set this to wishlist.