This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Title: Turtle left/right inverted when using different coordinates orientation
Type: behavior Stage: patch review
Components: Versions: Python 3.4
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: aroberge, willingc
Priority: normal Keywords:

Created on 2015-03-13 15:42 by aroberge, last changed 2022-04-11 14:58 by admin.

File name Uploaded Description Edit
turtle_diff.txt aroberge, 2015-03-13 15:42
Messages (4)
msg238037 - (view) Author: Andre Roberge (aroberge) * Date: 2015-03-13 15:42
The turtle module using screen coordinates such that the vertical coordinate increases vertically on the screen. This orientation is different from the traditional orientation for graphics programs.

It is possible to set coordinates with the "normal" orientation using the setworldcoordinates function, e.g.

    >>> from turtle import *
    >>> setworldcoordinates(0, 400, 400, 0)

With the above choice, the y coordinate increases as the turtle moves down on the screen.  However, doing so inverts the role of left() and right().

I have attached a "diff" file which introduces a change needed so that left() and right() behave correctly with this different orientation.
msg319751 - (view) Author: Carol Willing (willingc) * (Python committer) Date: 2018-06-16 15:22
Hi aroberge,

Thanks for filing this issue.

I'm triaging all of the open 'turtle' issues. I'm closing this issue since introducing this suggested change would impact teaching materials and resources that have already been published. This would be a change that would break compatibility.

I've marked the resolution as "Remind" if someone in the future wishes to open a documentation issue.
msg319787 - (view) Author: Andre Roberge (aroberge) * Date: 2018-06-16 21:20
I am sorry to hear that this bug was closed based on the unproven assumption that this would impact teaching material.  I have *never* seen any pedaggical material for the turtle module where the instructor wrote "use left() to have the turtle turn right, and vice-versa".

I file the original bug report and the code to fix it based on a report on the edu-sig mailing list, more than 3 years ago

This bug makes it pedagogically unwise to set the coordinate system as described since a left() instruction makes the turtle turns right, and vice-versa. So, no one using the turtle module to teach can currently use this type of coordinate choice as it would be too confusing to students.  The solution provided would have fixed that.

If that is the final decision, then so be it - and I will advise people to use Brython's turtle module instead as it does not have this bug.
msg319895 - (view) Author: Carol Willing (willingc) * (Python committer) Date: 2018-06-18 16:02
Reopened at the request of the original submitter.
Date User Action Args
2022-04-11 14:58:13adminsetgithub: 67848
2018-06-18 16:02:56willingcsetstatus: closed -> open
resolution: remind ->
messages: + msg319895

stage: resolved -> patch review
2018-06-16 21:20:54arobergesetmessages: + msg319787
2018-06-16 15:22:14willingcsetstatus: open -> closed

nosy: + willingc
messages: + msg319751

resolution: remind
stage: resolved
2015-03-13 15:42:52arobergecreate