![Radu Mariescu-Istodor](/img/default-banner.jpg)
- Видео 346
- Просмотров 1 381 184
Radu Mariescu-Istodor
Финляндия
Добавлен 7 окт 2011
I have a PhD in Computer Science and I want to teach you things. I publish:
1. Courses I teach at the university
2. JavaScript project tutorials
3. Entertaining videos about coding
4. Advice I give to my students
5. Some weird things. You'll see...
1. Courses I teach at the university
2. JavaScript project tutorials
3. Entertaining videos about coding
4. Advice I give to my students
5. Some weird things. You'll see...
JavaScript Impossible Triangle Project Tutorial
Hey coding enthusiasts! Ever wanted to dive into the mind-bending world of optical illusions? In this tutorial, I'll guide you through the mesmerizing art of coding Oscar Reutersvärd's impossible triangle illusion. But that's not all - I'll also show you how to create a simple shape editor using HTML, CSS, and JavaScript, allowing you to design your own mind-boggling shapes!
🔍 Uncover the secrets behind one of the most famous optical illusions discovered by Oscar Reutersvärd. Follow along as we delve into HTML, CSS, and JavaScript to bring this impossible triangle to life on your browser. Plus, I'll equip you with the tools to unleash your creativity by building a shape editor - design and...
🔍 Uncover the secrets behind one of the most famous optical illusions discovered by Oscar Reutersvärd. Follow along as we delve into HTML, CSS, and JavaScript to bring this impossible triangle to life on your browser. Plus, I'll equip you with the tools to unleash your creativity by building a shape editor - design and...
Просмотров: 2 183
Видео
How To Code With ChatGPT?
Просмотров 2,3 тыс.14 дней назад
Welcome to an eye-opening exploration of AI-assisted coding with ChatGPT! As technology continues to advance, AI tools like ChatGPT are becoming increasingly prevalent in the programming landscape. But how effective are they really? In this video, I'll provide you with firsthand insights into the capabilities of ChatGPT for coding tasks, dispelling common misconceptions and offering practical g...
Coding The Trolley Problem in JavaScript
Просмотров 1,6 тыс.Месяц назад
Join me on another coding adventure as I turn my train simulation into a fun and ethical dilemma game about the trolley problem! 🚂🐱 In this video, I demonstrate how to create a game where you must divert a train to save a cat, using JavaScript and HTML Canvas. Perfect for beginners and experienced coders alike, this tutorial walks you through: Highlights: - Drawing and animating a train along c...
Recreating a Train Simulation with JavaScript | Coding on the Train!
Просмотров 7 тыс.Месяц назад
Join me on a train ride as I recreate my first train simulation using JavaScript! 🚂 In this video, I'll show you how to draw train tracks and animate a train using dashed lines and Bezier curves, all on an HTML Canvas. Whether you're a beginner or an experienced coder, this tutorial has something for everyone. Here's what you'll learn: Highlights: - Setting up an HTML Canvas with custom styles ...
JavaScript Beginner Project Tutorial: The Ebbinghaus Illusion
Просмотров 2,3 тыс.Месяц назад
Hey coders! Today, I've got an exciting tutorial for you where we dive into the mesmerizing world of visual illusions. In this video, I'll guide you step by step through coding the Ebbinghaus illusion using JavaScript and HTML Canvas. Plus, we'll take it a step further and add some animation to bring this optical illusion to life! 🖥️ Explore the fascinating intersection of psychology and web de...
Understanding Data with AI (ChatGPT 3.5 and Python)
Просмотров 2 тыс.Месяц назад
Any data should come with some kind of documentation, but very often it doesn’t. In this video I’ll show you how to use large language models to help you understand what some structured data is. We’ll use Chat GPT and try to understand and visualize the data from here: radufromfinland.com/data/info.txt On this channel I normally do JavaScript tutorials, but this time we’ll go with what Chat GPT...
How to Fake data in Apps
Просмотров 2,9 тыс.2 месяца назад
Hey, everyone! In this tutorial, I'll show you a simple trick using browser developer tools to generate fake data in Gmail. It's a handy technique to capture screenshots without exposing any personal information. Whether you want to share your screen for tutorials, presentations, or just to keep your sensitive details private, this method works like a charm! 🔒 Learn how to safeguard your privac...
Fine-Tuning the Racing Game with Self-driving Cars [Understanding AI - Lesson 15 / 15]
Просмотров 2,2 тыс.2 месяца назад
PLAYLIST: ruclips.net/p/PLB0Tybl0UNfYbL1vDNrfHoYOKf1Sn0A81 Welcome to the grand finale, Lesson 15 of the "Understanding AI" course! In this concluding update, we'll add some finishing touches to our racing game. We'll play around with styles to give the game a polished look, integrate cars into the minimap, explore a simple collision handling method, and finally, I'll share a neat trick on maki...
Camera Input for Racing Game in JavaScript [Understanding AI - Lesson 14 / 15]
Просмотров 3,6 тыс.2 месяца назад
Camera Input for Racing Game in JavaScript [Understanding AI - Lesson 14 / 15]
Detecting Colored Markers with JavaScript [Understanding AI - Lesson 13 / 15]
Просмотров 4,3 тыс.3 месяца назад
Detecting Colored Markers with JavaScript [Understanding AI - Lesson 13 / 15]
Tilt Control for JavaScript Games [Understanding AI - Lesson 12 / 15]
Просмотров 2,6 тыс.3 месяца назад
Tilt Control for JavaScript Games [Understanding AI - Lesson 12 / 15]
3D Objects in JavaScript - No Libraries [Understanding AI - Lesson 11 / 15]
Просмотров 2,6 тыс.3 месяца назад
3D Objects in JavaScript - No Libraries [Understanding AI - Lesson 11 / 15]
3D Camera in JavaScript - No Libraries [Understanding AI - Lesson 10 / 15]
Просмотров 4,2 тыс.3 месяца назад
3D Camera in JavaScript - No Libraries [Understanding AI - Lesson 10 / 15]
Procedural Sounds for Games with JavaScript and WebAudioAPI [Understanding AI - Lesson 9 / 15]
Просмотров 2,5 тыс.4 месяца назад
Procedural Sounds for Games with JavaScript and WebAudioAPI [Understanding AI - Lesson 9 / 15]
AI Racing Game in JavaScript [Understanding AI - Lesson 8 / 15]
Просмотров 2,8 тыс.4 месяца назад
AI Racing Game in JavaScript [Understanding AI - Lesson 8 / 15]
⭐🏆⭐PRIZES: Racing AI Competition⭐🏆⭐ DEADLINE: May 15ᵗʰ 2024
Просмотров 2,6 тыс.4 месяца назад
⭐🏆⭐PRIZES: Racing AI Competition⭐🏆⭐ DEADLINE: May 15ᵗʰ 2024
Using Dijkstra's Shortest Path With AI [Understanding AI - Lesson 7 / 15]
Просмотров 1,9 тыс.4 месяца назад
Using Dijkstra's Shortest Path With AI [Understanding AI - Lesson 7 / 15]
Dijkstra's Algorithm in JavaScript [Understanding AI - Lesson 6 / 15]
Просмотров 3,8 тыс.4 месяца назад
Dijkstra's Algorithm in JavaScript [Understanding AI - Lesson 6 / 15]
Understanding AI - Lesson 5 / 15: Navigating to Target
Просмотров 2,8 тыс.5 месяцев назад
Understanding AI - Lesson 5 / 15: Navigating to Target
Understanding AI - Lesson 4 / 15: Where Extra Dimensions Come From?
Просмотров 2,7 тыс.5 месяцев назад
Understanding AI - Lesson 4 / 15: Where Extra Dimensions Come From?
Understanding AI - Lesson 3 / 15: Multilabel Neural Networks
Просмотров 3,6 тыс.5 месяцев назад
Understanding AI - Lesson 3 / 15: Multilabel Neural Networks
Understanding AI - Lesson 2 / 15: Hidden Layers
Просмотров 4,8 тыс.5 месяцев назад
Understanding AI - Lesson 2 / 15: Hidden Layers
Understanding AI - Lesson 1 / 15: A Simple Neural Network
Просмотров 18 тыс.6 месяцев назад
Understanding AI - Lesson 1 / 15: A Simple Neural Network
Drawing the YinYang with JavaScript
Просмотров 1,6 тыс.6 месяцев назад
Drawing the YinYang with JavaScript
Drawing the Twitter Logo with JavaScript
Просмотров 2,1 тыс.6 месяцев назад
Drawing the Twitter Logo with JavaScript
Coding a Spinning Canvas App with JavaScript
Просмотров 2,2 тыс.6 месяцев назад
Coding a Spinning Canvas App with JavaScript
Drawing CIRCLES in 10 Different Ways with JavaScript
Просмотров 2,7 тыс.7 месяцев назад
Drawing CIRCLES in 10 Different Ways with JavaScript
Coding Sorting Visualizers with ChatGPT and JavaScript
Просмотров 2,9 тыс.7 месяцев назад
Coding Sorting Visualizers with ChatGPT and JavaScript
A Virtual World - JavaScript Course: Final Lesson [Coding a MiniMap with JavaScript]
Просмотров 6 тыс.7 месяцев назад
A Virtual World - JavaScript Course: Final Lesson [Coding a MiniMap with JavaScript]
A Virtual World - JavaScript Course: Lesson 10 / 11 [OpenStreetMap Tutorial]
Просмотров 8 тыс.8 месяцев назад
A Virtual World - JavaScript Course: Lesson 10 / 11 [OpenStreetMap Tutorial]
You are legend sir
Thank you ❤❤❤ keep making these videos
I'll try :-)
wouldnt using dat.gui be a better option for the toolbox on the left, or do you want to do without external code?
Probably I could get a nicer UI with that, but yes, I want all the code we write to be our own for educational purposes.
❤
❤
Awesome work. Thank you @Radu
You're welcome! Thanks for watching :-)
now if this app will equal to gimp even, you'll have 100k till the end of 2024 atleast and by what deepness you teach, you'll be god in india till 2025 mid 1 million subs
I don't know if I can get anywhere close to gimp in 2024 :-)
hi Radu , i have a doubt , that when you are calculating the bounding box ; matrix[y][x] should be != 0 . Initially -> bbox ={yMin:SIZE+1, xMin:SIZE+1 , yMax :0 , xMax:0} if(matrix[y][x]!=0){ yMin = Math.min(y,bbox.yMin) xMin = Math.min(x,bbox.xMin) yMax = Math.max(bbox.yMax , y) xMax = Math.max(bbox.xMax , x) } as if matrix[y][x] == 0 then it will get the rectange covering the whole picture and not the main object . Correct me if i m wrong thanks
Well, it depends on what you want to isolate. In the video matrix[y][x] is either 0 (black) or 255 (white). So, I want to focus on the dark areas. But if you want to focus on the white region, you can write it as you describe.
@@Radu i am focussing on black area only Like if the matrix is [000000000 0000010000 0001111111110 00000100000 0000000000] Then in first iteration wont the ymin will become 0 , xmin 0 and xmax=size-1 and ymax = size-1 Since whenever it is zero we are checking
ahh got it , i was taking 255 as black instead of white
best programming channel in the world , explained it like a charm
Glad it helped :-)
Dear Radu: Please don't ever stop the "bad" jokes in the intro. Thank you. -A.J. Outlaster
I'll try... hey! what do you mean by "bad"? :-/
I regret why RUclips did not recommend his videos to me for a useful, amazing, and wonderful channel for making JavaScript funthank you.
You're welcome! Btw. I have another video on triangulation where I show how you can measure how tall something is using JavaScript! You might like it :-)
❤🎉
❤️
I thought 🤔 we can make triangle then stack it to make cude but your approach is unique thank you ❤❤
Interesting. I would be very curious to see your approach :-)
i love you sir
❤️
AT 46.05 timestamp // this.canvas.onmouseup = () => { // this.isDrawing = false; // }; // mouse up is triggerd only for canvas ie if move to the edge of the canvas and mouse leaves the canvas then also we need to change the path //1. possible solution // this.canvas.onmouseleave = () => { // this.canvas.onmouseup(); // }; // this.canvas.onmouseup = () => { // this.isDrawing = false; // }; //2. possible solution + one benefit is that if you dont lift the mouse after leaving the canvas and returns back to the canvas , the path continue document.onmouseup = () => { this.isDrawing = false; }; Let me know what will be better for user experience , 1 or 2
Love From pakistan.
❤️
idk why but the meta tag is not working for me
Could you share your code somehow? I can have a look.
@@Radu sure... wait a minute
@@Raduit is not allowing Me to paste links 😅
@@dheerparekh1305 I see... I have a discord and other social network links listed on the channel, if you want to use those.
@@Radu I sent it on your discord server (programming-help) THANKS!!
Thank youuuuuu!
You're welcome :-)
"["#AAA", "#444", "#888"][i / 2 - 1]" that was a nice gem
Glad you liked it :-)
indeed it was :) I thought he will use an object or something, but this is very clever :)
Great! Please make something with offscreencanvas and web workers with user input! 😁
Thanks for the idea! I'll do it someday :-) But I have content already planned for the rest of the year, so, sometime after that.
You are having fun, we are having fun too, as well as learning how to solve problems in an easy way. At first I knew we had to draw cubes but I didn't know how, I was thinking to draw squares but wasn't sure how to achieve that. Your solution is simple and elegant. Secondly, globalCompositionOperation? Never heard of that my entire life😂. Thank you Radu.
There are many ways to draw the cube. Probably the most straightforward is with a square and 2 parallelograms to have the same effect. But I thought I show a more interesting approach :-) You might have heard about globalCompositeOperations using a different name: blend modes. They're pretty much the same thing, but that's how the canvas API calls them. Thanks for watching! :-)
(-: Amazing! :-)
Thanks! :-)
Amazing trick ☝️😼👍 Looks nice and cute! Thank you!
You're welcome :-)
Great one again (still not finished watching yet). Would it be an option to let the addhistory function check if the to be added history item is equal to the previously added one? In that case no duplicate items will be added and this will work for all future features as well.
Yeah, that sounds like a good idea. I might include it soon. But eventually I plan to reimplement the undo/redo system to not store all the shapes, but only the change that has happened and how to reverse it. So, let's see if I do it before or after that.
I had never known about drawing a cube this way in canvas. A little bit of maths and its possible. Amazing
Yeah! There are many ways to do it :-) I just thought to show something more interesting.
Thanks ❤🎉
No problem 😎
I think just update the Vector class to 3D and it should work.
Thanks for another great approach!
You're welcome!
❤ Master. Your RUclips page is really a discovery.
Hi :-) Thanks! Glad you found it :-D
bro when you upload Kaboon js tutorial and i need more advance topics in js.
Hi, I assume you mean Kaboom? I don't plan on doing that anytime soon... And what exactly do you mean by advanced topics?
Which color scheme do you use in VS Code? The colors are easy on the eyes.
Ice Contrast
New video!!
Thank you :-)
Thanks ❤🎉
You're welcome :-)
You should make a virtual Leonard/gpt dor this kind of lessons hehe
Haha, maybe :-)) I'm not sure which tools I could use for that, though.
After I reaserch with gpt i found better way for add / remove event . The advantage is the centralized of the event definition ``` constructor(viewPort, graph) { this.listeners = { mousedown: this.#handleMouseDown.bind(this), mousemove: this.#handleMouseMove.bind(this), mouseup: this.#handleMouseUp.bind(this), mouseLeave: (e) => this.selected = null } this.#addEventListeners() } #addEventListeners() { for (const [event, handler] of Object.entries(this.listeners)) { this.canvas.addEventListener(event.toLowerCase(), handler, {passive: true}); } this.canvas.addEventListener('contextmenu', (e) => e.preventDefault()) } #removeEventListener() { for (const [event, handler] of Object.entries(this.listeners)) { this.canvas.removeEventListener(event.toLowerCase(), handler, {passive: true}); } } ```
7.5 hours live stream sir you have so much dedication I really like your video
Thanks :-) and... yeah. It wasn't easy to stay focused for that long. Glad you liked it!
I've worked through this video twice and love it. It took me a bit to get my head wrapped up around lerp concept. Thank you, Radu! Great video and excellent tutorial as always.
I'm really happy to hear you got something out of it! Thanks for watching :-)
Thanks radu great session
You're welcome! Next one will be on Tuesday.
Unique content, thanks Radu.
You're welcome! Thanks for watching :-)
I watched the whole livestream! The app is coming along nicely! Awesome functionality, but as you said many times, refactoring the code later will be reeeeally some work to do hahhah
Thanks! You're right... I think I'll do one more stream of adding features and then start refactoring. But not sure... a bit worried that too many things pile up.
I swear I am not following the lessons just for the intro pun + song, but it is a factor :D!
:-))) haha
why not to use arc for make the connection between the segments smooth ? It could be saved a lot of processing
Because, later, I do collision detection with those bounds and I wanted to keep the math simple and reuse the segment intersection code from phase 1.
I love the visualization and animations. Do you mind sharing what tools you used in creating the visualization? Great video
Hi, I actually coded all visualisations in JavaScript. I also used ThreeJS.
Amazing Tutorial, Thank You Sir.❤
You're welcome!
// Open Street Map Query [out:json]; ( way['highway'] ['highway' !~'pedestrian'] ['highway' !~'footway'] ['highway' !~'cycleway'] ['highway' !~'path'] ['highway' !~'service'] ['highway' !~'corridor'] ['highway' !~'track'] ['highway' !~'steps'] ['highway' !~'raceway'] ['highway' !~'bridleway'] ['highway' !~'proposed'] ['highway' !~'construction'] ['highway' !~'elevator'] ['highway' !~'bus_guideway'] ['access' !~'private'] ['access' !~'no'] ({{bbox}}); ); out body; >; out skel;
Thanks!
You are not from this world ahahha
Which world am I from, then? :-)
@@Radu tatooine hahah
:-)))
Dude love how deep you get. no surface level click bait BS that just defines features in documentation
Glad to hear :-) I think it's useful content... but quite boring to watch, to be honest (long, unedited streams).
Thanks Radu for your knowledge, great work as always. I would like to suggest that I'm starting in the world of pixel art and it would be cool to select the size of the canvas, or the zoom capability, and maybe having different layers of images that you could pre-watch animation. Maybe, is a lot for now, but might be cool to have something like that. Keep on the hard work 💪💪
I'll keep pixel-based editing in mind. I don't know if I'll include the animation feature, though... It's a bit out of place, but let's see! Never can know :-)
Thank you @Radu, thank you.
You're welcome :-)
Thank you very much of your time, your knowledge to share with us. Thanks Dr Radu
Glad it was helpful! :-)