Changes

Jump to navigation Jump to search
no edit summary
Line 21: Line 21:  
'''What is your first language?'''
 
'''What is your first language?'''
   −
English
+
My first language is 'Hindi'. Though I'm proficient in 'English' as well.
    
'''Where are you located, and what hours (UTC) do you tend to work?'''
 
'''Where are you located, and what hours (UTC) do you tend to work?'''
    
Location: Hyderabad, India
 
Location: Hyderabad, India
 +
 
Time Zone: UTC + 5:30 (Indian Standard Time)
 
Time Zone: UTC + 5:30 (Indian Standard Time)
 +
 
Working hours: 13:30 to 21:30 UTC (flexible)
 
Working hours: 13:30 to 21:30 UTC (flexible)
   Line 35: Line 37:  
Why Sugar Labs?
 
Why Sugar Labs?
   −
The Sugar Learning Platform is the core component of a worldwide effort to provide every child with equal opportunity for a quality education. When I'm contributing to this open-source project, not only I will be doing it through lines of code, but indirectly, this will help in a child's education in some or the other way. Sugar's activities are used in school every day by nearly 3 million children in more than forty countries. If I could use my skills in such a way that even a single child is benefited from it, nothing would make me more happier.
+
The Sugar Learning Platform is the core component of a worldwide effort to provide every child with equal opportunity for a quality education. When I'm contributing to this open-source project, not only I will be doing it through lines of code, but indirectly, this will help in a child's education in some way or the other. Sugar's activities are used in school every day by nearly 3 million children in more than forty countries. If I could use my skills in such a way that even a single child is benefited from it, nothing would make me more happier.
         −
'''ABOUT YOUR PROJECT'''
+
'''ABOUT THE PROJECT'''
 
--------------------
 
--------------------
   Line 50: Line 52:     
The Turtle Art 3D is an extension to already existing core activity of sugar – Turtle Art.
 
The Turtle Art 3D is an extension to already existing core activity of sugar – Turtle Art.
Sugar, as of now lacks any 3D programming environments. Turtle Art is limited to drawing only 2D figures. The idea is to provide Turtle Art with a 3D programming interface which would include modules such that the user can draw 3-Dimensional figures using logo blocks. There is a rich program in 3D Logo developed by Horacio Reggini [1]. The specific project would be to write an extension to Turtle Blocks to encompass Reggini's ideas.
+
Sugar, as of now lacks any 3D programming environments. Turtle Art is limited to drawing only 2D figures. The idea is to provide Turtle Art with a 3D programming interface which would include modules such that the user can draw 3-Dimensional figures using logo blocks. There is a rich program in 3D Logo developed by Horacio Reggini. The specific project would be to write an extension to Turtle Blocks to encompass Reggini's ideas.
   −
This plugin would add basic 3D transforms to Turtle Blocks (e.g., setxyz, pitch, roll, yaw), camera and lighting models, surface texture mapping, and a rich set of example projects. A extended goal, if time permits would be a plugin for generating objects for MineCraft.
+
This plugin would add basic 3D transforms to Turtle Blocks (e.g., setxyz, pitch, roll, yaw), camera and lighting models, surface texture mapping, and a rich set of example projects. One of the possible ways of creating models would be to use the concept of objects. An extended goal, if time permits would be a plugin for generating objects for MineCraft.
   −
This plugin would be useful to students of the age-group 10 – 15. It would enable them to create 3D figures using simple logo blocks. This would help them in a number of ways:
+
This extension would be useful to students of the age-group 10 – 15. It would enable them to create 3D figures using simple logo blocks. This would help them in a number of ways:
    
* serve as a precursor to learning programming languages in future
 
* serve as a precursor to learning programming languages in future
Line 60: Line 62:  
* improve their imagination and 3D visualization skills
 
* improve their imagination and 3D visualization skills
 
* lay a strong foundation for the mathematical concepts of co-ordinate geometry and vectors
 
* lay a strong foundation for the mathematical concepts of co-ordinate geometry and vectors
* improve their creativity and enhance fun
+
* boost their creativity
    
Programming Language: Python
 
Programming Language: Python
 +
 
Libraries: pyGtk , library for 3D rendering (OpenGL)
 
Libraries: pyGtk , library for 3D rendering (OpenGL)
   Line 68: Line 71:  
'''What is the timeline for development of your project?'''
 
'''What is the timeline for development of your project?'''
   −
<center> <div>
+
{| class="wikitable"
{| border="1"
  −
|Pre Program Preparation - Week 1
  −
|Discuss the features required for the extension and the modules to be written
   
|-
 
|-
|Pre Program Preparation - Week 2
+
! Week !! Task
|Work and plan out the design of the extension
   
|-
 
|-
|Week 1
+
| <22 Apr - 5 May> (Pre-program week 1) || Discuss the features required for the extension and the modules to be written
|Create the basic framework for the activity
   
|-
 
|-
|Week 2
+
| <6 May - 20 May> (Pre-program week 2) || Work and plan out the design of the extension
|Enable the 3D motion of the turtle equipped with basic functionalities - setxyz, pitch, roll, yaw
   
|-
 
|-
|Week 3
+
| <20 May - 27 May> || Create the basic framework for the activity
|Add camera and lighting models
   
|-
 
|-
|Week 4
+
| <27 May - 3 June> || Create the 3D environment, Enable the 3D motion of the turtle equipped with basic functionalities - setxyz, pitch, roll, yaw
|Add texture mapping to objects created
   
|-
 
|-
|Week 5
+
| <3 June - 10 June> || Add support for palettes which would contain blocks for turtle command
|Add ‘export to 3D model’ capabilities such that the model is compatible with use in Blender
   
|-
 
|-
|Week 6
+
| <10 June - 17 June> || Add camera and lighting models
|Provide sample projects/examples by adopting ideas from Reggini’s implementation
   
|-
 
|-
|Week 7
+
| <17 June - 24 June> || Add texture rendering to surfaces of 3D objects
| Polish up the work, fix bugs, write documentation,  
+
|-
|}</div></center>
+
| <24 June> || MID TERM EVALUATIONS
 +
|-
 +
| <24 June - 1 July> || Buffer Week
 +
|-
 +
| <1 July - 8 July> || Compile up the code, Create sample projects/examples by adopting ideas from Reggini’s implementation
 +
|-
 +
| <8 July - 22 July> || Present the code in front of kids and teachers, note the challenges faced and collect their feedback
 +
|-
 +
| <22 July - 29 July> || Get back to design and iterate on success/failures from the feedback, Make necessary changes to code
 +
|-
 +
| <29 July - 5 August> || Add ‘export to 3D model’ capabilities such that the model is compatible with use in Blender
 +
|-
 +
| <5 August - 11 August> || Clean up UI, Fix bugs, Write documentation
 +
|-
 +
| <11 August - 18 August> || Wrap up the complete work and submit the code for Final Evaluations
 +
|}
 +
 
      Line 102: Line 111:     
* A prototype of Turtle Art 3D: Developed a prototype for the Turtle Art 3D to get a better understanding of the work that needs to be done. It can be reviewed here:
 
* A prototype of Turtle Art 3D: Developed a prototype for the Turtle Art 3D to get a better understanding of the work that needs to be done. It can be reviewed here:
 +
  https://github.com/Anubhav-J/TA3D
 
* Familiarity with Turtle Art codebase: Possess some level of familiarity with the existing Turtle Art codebase
 
* Familiarity with Turtle Art codebase: Possess some level of familiarity with the existing Turtle Art codebase
 
* Familiarity with submission and review procedure
 
* Familiarity with submission and review procedure
Line 109: Line 119:  
* Other than that, I enjoy working with Python and C++ and have worked on several projects
 
* Other than that, I enjoy working with Python and C++ and have worked on several projects
   −
Relevant Prior Experience
+
'''Relevant Prior Experience'''
 
* Developed a complete 3D environment game using OpenGL
 
* Developed a complete 3D environment game using OpenGL
 +
https://github.com/Anubhav-J/3d-world
 +
* Implemented OpenGL graphics pipeline in C++
 +
https://github.com/Anubhav-J/pipeline   
 
* Developed a 2D game in python using curses library
 
* Developed a 2D game in python using curses library
* Implemented OpenGL graphics pipeline in C++   
  −
        Line 121: Line 132:  
'''If your project is successfully completed, what will its impact be on the Sugar Labs community?'''
 
'''If your project is successfully completed, what will its impact be on the Sugar Labs community?'''
   −
'''My version:'''
+
'''My thoughts:'''
    
Once this project is successfully completed, Sugar will then have a completely new and one of a kind 3D programming environment for students. A student in any part of the world will then be able to not only create 3D visualizations but at the same time improve his mathematical concepts of coordinate geometry and vectors. It is designed to be easy enough for children, yet powerful enough for people of all ages. It would serve as a playground where any child can learn to create 3D drawings and figures using his imagination and also serve as a challenge to the more adventurous to create complex 3D art involving a lot of co-ordinate geometry concepts.
 
Once this project is successfully completed, Sugar will then have a completely new and one of a kind 3D programming environment for students. A student in any part of the world will then be able to not only create 3D visualizations but at the same time improve his mathematical concepts of coordinate geometry and vectors. It is designed to be easy enough for children, yet powerful enough for people of all ages. It would serve as a playground where any child can learn to create 3D drawings and figures using his imagination and also serve as a challenge to the more adventurous to create complex 3D art involving a lot of co-ordinate geometry concepts.
    
'''Walter Bender'''
 
'''Walter Bender'''
 +
 +
Horatio Reggini developed the first 3D Logo project back in the early 1980s. He argued that 3D Logo engaged children in the powerful ideas of perscpective and visual perception. Ironically, in the 30+ years since, while 3D is a large part of our entertainment life, it is largely missing from the tools for learning. None of the popular programming enviroments for children have 3D capabilities. That will change as a direct result of this project. --[[User:Walter|Walter]] ([[User talk:Walter|talk]]) 20:18, 19 March 2014 (EDT)
 +
 +
'''Tony Forster'''
 +
A 3D programming extension has the potential to be a very valuable contribution to the Sugar community. 3D is highly prized by children and the opportunity to author 3D is highly motivating for them. Motivation is strongly associated with quality learning. The best programming tools for children are low entry and high ceiling, 3D lifts the ceiling quite high. If the perception of low entry can be maintained, that is that the early part of the learning curve is perceived as gradual, then this will be a valuable contribution to the Sugar community. [[User:Tonyforster|Tonyforster]] ([[User talk:Tonyforster|talk]]) 01:03, 21 March 2014 (EDT)
      −
'''Member from Sugar Labs community'''
         
'''What will you do if you get stuck on your project and your mentor isn't around?'''
 
'''What will you do if you get stuck on your project and your mentor isn't around?'''
   −
Will try to get help from other developers on the community, depending upon the type of problem, ask about it on relevant channels. In my college, I am surrounded by students who themselves have great knowledge and proficiency in python and debugging and are always ready to help. So there are a lot of ways I can tackle a problem I'm stuck on when my mentor isn't available. In the least case, I can always go through the code and work upon it myself.
+
An organisation isn't run by one person, the spirit of open source embodies community involvement. If my mentor isn't around, I'm sure there will always be willing developers from the sugar community that I can depend on. Also, depending upon the type of problem, I can always ask about it on relevant IRC channels. If all else fails, in my college I am surrounded by students who are open source enthusiasts and have vast amounts of python and Graphics experience and are always ready to help. So there are a lot of ways I can tackle a problem I'm stuck on when my mentor isn't available. In the worst case, I can always go through the code and work upon it myself.
      Line 149: Line 164:  
'''Screenshot of sugar development environment Home view'''
 
'''Screenshot of sugar development environment Home view'''
   −
<gallery>
+
[[File: AnubhavJ_screenshot.png| Screenshot of Home Screen | 1000px]]
File: AnubhavJ_screenshot.png|Screenshot of Home Screen
+
 
</gallery>
        Line 164: Line 178:  
'''Describe a great learning experience you had as a child.'''
 
'''Describe a great learning experience you had as a child.'''
   −
A great learning experience would be when I was first introduced to Computer Programming with Logo as my first language when I was a kid. It was fascinating to see the figures get created with such simple yet logical code. This drew my interest in programming and made me dive deeper into learning more about it.
+
A great learning experience for me would be when I used to teach Maths to my little brother. Initially I was afraid to do so as I myself was not an expert in it and had a tendency to avoid. But it was later that I realized that teaching not only helped him, but also aided me in improving my Mathematical skills and refining my concepts. It was then that I realized the value of imparting knowledge in whatever way you can.
 +
 
 +
[[Category:2014 GSoC applications]]
25

edits

Navigation menu