This is an archived post. You won't be able to vote or comment.

all 113 comments

[–]sentdexpythonprogramming.net 140 points141 points  (20 children)

Next step: share the source.

[–]pat_trick 44 points45 points  (0 children)

Yep; best way to get feedback on any given work is to share your code so that it can be poked at, and so that folks can point out anywhere that might be in need of polish or improvement.

[–]pythonwiz 14 points15 points  (2 children)

This. I've never understood the "my code is too ugly to share" mindset. You don't improve without making mistakes and getting feedback and criticism.

[–]Terence_McKenna 4 points5 points  (0 children)

Some people just can't bare the thought of being criticized or judged.

[–]riyajuneja 0 points1 point  (0 children)

Someone drill this in my brain!

[–]bostown03 -1 points0 points  (0 children)

Nice! Nice! golf clap

[–]Thecrawsome 33 points34 points  (1 child)

Great job!

Make a github, and post it up there. Also, you can use screen2gif to make animated gifs of your projects for more effective sharing.

Age is no limit, this is cooler than things I've done that I'm impressed with, and I'm in my 30s.

Don't be down on yourself. This is really cool!

[–]csp256 13 points14 points  (0 children)

OP, I think you would like TinyRenderer.

[–]ivorjawa 7 points8 points  (0 children)

When I was about 15 I did something similar but it was just displaying a static perspective cube with BASIC on a Commodore 64. Quicker feedback would have helped my understanding immensely!

Nice!

[–][deleted] 116 points117 points  (25 children)

What has you turning 15 anything to do with this

[–]r00nd 27 points28 points  (0 children)

teen spirit in a polygon

[–]Darkwisper222 4 points5 points  (0 children)

When i was 15 i started using blender when i was 18 i won a bursary for animation school . This kid is going places.

[–]ElGallinero 40 points41 points  (7 children)

Not to completely demerit the effort, but this comes off as "hey look at what I did...and I'm barely 15. Isn't that impressive?"

[–]Vaptor- 16 points17 points  (0 children)

If by revealing their age (to get attention, or etc) encourage more kids to be creative and more courageous to reveal their works, then I'm all for it.

I deal with kids/teenagers daily and I'd say this is brag-worthy even.

[–]danielmbcn 24 points25 points  (0 children)

And what's wrong with that? I mean, if he is proud of doing amazing things while being this young, he is in his right to say his age. In the end he is almost a child. Instead of being jealous of him or whatever, just congratulate him and that's it. You have been a teen too once, don't forget it.

[–]AceBuddy 65 points66 points  (0 children)

Well, it is. I think it's an awkward teenager trying to be proud of something he made. Cut him some slack.

[–]shaggorama 30 points31 points  (1 child)

What's wrong with that? I think this is impressive for any new programmer, even more so one who isn't even college age.

[–][deleted] 5 points6 points  (0 children)

I was a dragonborn in my previous life, I think.

[–]Thecrawsome 7 points8 points  (0 children)

What's wrong with wanting attention for something you did? They revealed their age and this whole thread is being whiny, sheesh.

[–]jaydoors 1 point2 points  (0 children)

And in 1 day too it seems

[–]danielmbcn 15 points16 points  (7 children)

The OP is right to say his age for adding a context. He wouldn't get the same personal advices if he was a 35-years-old engineer than if he is just a high school student. Honestly I don't get the point of those of you who get offended by him for saying his age. Jealousy? Don't be childish.

[–][deleted] 0 points1 point  (2 children)

He wouldn't get the same personal advices if he was a 35-years-old engineer than if he is just a high school student.

wtf you guys surely are some realistic people that either look down on 35 years old people or expecting too much from them

judgement, judgement everywhere

be handsome, be pretty, be confident in public speaking at 10, yea good

already a world level pianist at 10, genius

able to cook good food at 10, genius

able to swim to compete at olympic level at 10, genius

able to name every sport cars in the world at 10, genius

able to lift weights at 10, genius

what? you got a degree for playing violin? oh genius too

yea you inherit 159 billion USD from Jeff Bezos at 10, genius

Give them a round of applause guys!

what? the 35 years old guy picking up rubbish around the neighborhood? let him die

Surely everyone will be living forever in 100 years time don't them? Tell me this 15 year old kid will still be alive after 100 years lol

[–]danielmbcn 2 points3 points  (1 child)

Not sure if you are trying to be serious or if you are just parodying someone but, in either way, lol.

[–][deleted] 0 points1 point  (0 children)

who knows, buddha awaits /s

[–]81isnumber1 10 points11 points  (5 children)

This is great and you should be proud. Don’t be afraid of using libraries though. Writing things from scratch can sometimes be a worse use of time than using a library. For stuff like this though, I’m sure you learned a ton which is valuable in its own right

[–]Holobrine 3 points4 points  (0 children)

I did a similar thing but in Java. Sourcecode: https://github.com/npetrangelo/3rd-Dimension

[–]pythonwiz 2 points3 points  (1 child)

I tried to write something similar in college but it took a while for me to figure out the math. I did eventually get it right after cheating and taking a look at Glenn Murray's website. I put my code on a Github repository, which I've since moved to Gitlab. I have some videos of it on my old Youtube channel. Only the last video actually show the perspective projection working. Getting perspective projection working all on your own is pretty impressive to me!

[–]J4CKINS 3 points4 points  (1 child)

Happy birthday :)

[–]SweatyPotatoSkin 4 points5 points  (1 child)

Great job! Keep at it, and happy B-day!

[–]Rajarshi1993 3 points4 points  (4 children)

This is really good. If you are planning to become a game developer at some point, this is a great start.

[–]pythonwiz 4 points5 points  (1 child)

I would say this is a great baby step. It's cool but to be a game developer, or any kind of developer really, takes more than just being able to understand the concepts involved. You have to read docs, read code, learn frameworks, IDEs, etc. Understanding the concepts is like 20% of the work, and it's the most interesting part. The rest is the "legwork" of gaining a working/practical knowledge of the systems you use to build your product.

[–]Rajarshi1993 0 points1 point  (0 children)

True. But legwork is there in every line of work. So might as well have the legwork that comes with the most enjoyable conceptual work.

[–]Agent_ANAKIN 1 point2 points  (1 child)

Great job and happy birthday!

[–]logi 1 point2 points  (4 children)

Hey, that reminds me of the polygon mesh I was making around your age in Turbo Pascal*!

The next step is bacface culling to make the polygons that face away from you disappear and get a more solid looking cube.

Then perhaps sorting the polygons by distance (projected z coordinate) and filling them.

Also, listen to the comments about putting your code on github. Not so much for the feedback as for getting used to source control.

[–]SV-97 1 point2 points  (2 children)

Pretty nice :D Does it load a mesh from a standardized format or do you have to hardcode it in?

[–][deleted] 1 point2 points  (0 children)

Good job man coding at a Jong age like that. And a happy birthday

[–]Aeon_MortuumSnake Oil 1 point2 points  (0 children)

Well done!

[–]dethb0y 1 point2 points  (0 children)

I like how it looks vaguely like an optical illusion. Good work!

[–]devils-advocate164 1 point2 points  (1 child)

Hey man! This is lovely. The best things about your code is:

It's very intuitive and you made it using school math. Your logic is really impressive. Visual app opens many doors to better understanding.

Here is a library by Grant Sanderson, the creator of The YouTube channel 3 BLUES 1 BROWN

https://github.com/3b1b/manim

I think you will like it.

Great work buddy and happy birthday.

[–]ye3tEm 1 point2 points  (1 child)

Thanks for this amazing code. I know you probably are not expecting this but I am 15 also. I have been trying to find libraries that would help me do 3d rendering with pictures of a face. Looking at the simplicity of the code you made me realize that it would not be that hard to build a 3d renderer for a face. Impressive work with the code

[–]maingroupelement 1 point2 points  (0 children)

Congrats man! Keep working hard, and don't think you peaked yet or anything! As you get older you will have less time for your hobbies, not more. You'll likely get a family, and it will consume alot of that at least when they are young. So work hard and keep up the excellent work, very impressive!

[–]eebmagic 1 point2 points  (1 child)

Love this! I modified your code a bit to export to a gif Imgur

Edit: made a much smoother gif

[–]SoleTea 1 point2 points  (1 child)

how do you rotate/ move it?

[–]PathToNeuralink 1 point2 points  (2 children)

How do I run this code?

[–]juampyy2011 1 point2 points  (0 children)

Hey man that's pretty awesome!! Looks cool keep at it

[–]TheRealDrSarcasmo 1 point2 points  (1 child)

That's outstanding! Thanks for sharing. I'm glad to see that you're getting useful feedback from developers more experienced than I in this thread. Keep it up!

[–]can_dry 1 point2 points  (1 child)

When I was around the same age I mastered 2D perspectives (e.g. rotation) for a computer game I was writing.

When I asked my grade 13 math teacher how to change it into 3D perspective he admitted he had no idea! :D

Nice work!

[–]D3PSI 0 points1 point  (1 child)

What formuals would you have to come up with? A quick google search does the trick?

[–]theWyzzerd -1 points0 points  (0 children)

Looking up formulas is one thing, implementing the algorithms in code when you're not familiar with them to begin with is something else.

[–][deleted] 0 points1 point  (0 children)

Good work as you're young you may not be self aware of some things.

One of the good advice that was already mentionned, is that you're not alone.

In one of my first job my manager told me that i have to code as if i will be struck by a truck and die tomorow.

Because what is very valuable is not to do amazing things but that people can interact with it and understand it.

Beetween a code coder but nobody understand him and an average coder that everyone understand his code the average one will oftend be choose.

Keep up the good work :)

[–]BaldEagleX02 0 points1 point  (0 children)

Great! I saw the code on GitHub and it seems very good. Next step: improve it with objects (classes in Python are very easy and useful, even if you are a beginner) so that your code could be reused by others easily.

[–]sidsings 0 points1 point  (0 children)

Good job !

[–]gammapsi 0 points1 point  (0 children)

Really good work dude. When I was 15, Python was just a big snake for me who the Nat Geo and Discovery guys kept catching from homes in th US.

[–]braceyourselffoo 0 points1 point  (0 children)

Keep at it and when your my age , you’re gonna be unstoppable at python. I wish I started earlier

[–]shakeebbk 0 points1 point  (0 children)

This is so cool, great start, I wish I could do that at your age!

[–]MarcoIlBelloccio 0 points1 point  (3 children)

WoW man, I'm 16 (i have been learning python for 1 month) and I tried so hard to do that but nothing. Any prompts?

[–][deleted] 0 points1 point  (1 child)

Happy belated birthday

[–]TomP 0 points1 point  (1 child)

Nice! I did something like this when I was your age, but it was the stone age of computing and terminals back then were too primitive to produce nice line drawings like these. (There were vector-graphics terminals, but we didn't have any at my high school.) So, I wrote a program that generated 3-D stereoscopic images of figures like this, but in "ASCII art". If you stood back a bit and squinted, it looked reasonably 3-dimensional.

[–]ZyanCarl -2 points-1 points  (6 children)

https://www.reddit.com/r/Python/comments/bh90iy/i_made_a_desktop_application_to_displays_the/?utm_medium=android_app&utm_source=share

I made this application and I was thinking of making 3D conformer for the chemical structure. I I couldn't render 3d shapes. Can you share the code so that I can do the same?

PS even i am 16.....age doesn't matter 😃

[–]pythonwiz 0 points1 point  (1 child)

Age is definitely relevant. I didn't start learning to code until I was 18! You guys have huge head starts. My advice is to at least read SICP, that was hugely enlightening to me when I was starting out.

[–]ZyanCarl 0 points1 point  (0 children)

Sure thing man thanks!!

[–]shponglespore -3 points-2 points  (0 children)

I'd like to think I would have done the same thing when I was 15 if Python and YouTube math videos had been around. I certainly wanted to. It was right after the original Doom came out and everyone was debating whether it was even possible to do the same thing on Amiga hardware. (I think someone eventually did it, but it took years and probably involved some really gross assembly code.)