Radu Mariescu-Istodor
Radu Mariescu-Istodor
  • Видео 346
  • Просмотров 1 381 184
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...
Просмотров: 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]

Комментарии

  • @yashdarji9593
    @yashdarji9593 2 часа назад

    You are legend sir

  • @darkblood154
    @darkblood154 13 часов назад

    Thank you ❤❤❤ keep making these videos

    • @Radu
      @Radu 12 часов назад

      I'll try :-)

  • @CodeNascher_
    @CodeNascher_ 14 часов назад

    wouldnt using dat.gui be a better option for the toolbox on the left, or do you want to do without external code?

    • @Radu
      @Radu 12 часов назад

      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.

  • @alihussnain8311
    @alihussnain8311 19 часов назад

    • @Radu
      @Radu 12 часов назад

  • @yusuf.isyaku
    @yusuf.isyaku День назад

    Awesome work. Thank you @Radu

    • @Radu
      @Radu 12 часов назад

      You're welcome! Thanks for watching :-)

  • @Someone___9hcc5ggg
    @Someone___9hcc5ggg День назад

    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

    • @Radu
      @Radu 12 часов назад

      I don't know if I can get anywhere close to gimp in 2024 :-)

  • @chaitanyamittal0208
    @chaitanyamittal0208 2 дня назад

    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

    • @Radu
      @Radu 12 часов назад

      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.

    • @chaitanyamittal0208
      @chaitanyamittal0208 12 часов назад

      @@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

    • @chaitanyamittal0208
      @chaitanyamittal0208 8 часов назад

      ahh got it , i was taking 255 as black instead of white

  • @TonyAnthonyStark
    @TonyAnthonyStark 2 дня назад

    best programming channel in the world , explained it like a charm

    • @Radu
      @Radu 12 часов назад

      Glad it helped :-)

  • @a.j.outlaster1222
    @a.j.outlaster1222 2 дня назад

    Dear Radu: Please don't ever stop the "bad" jokes in the intro. Thank you. -A.J. Outlaster

    • @Radu
      @Radu 12 часов назад

      I'll try... hey! what do you mean by "bad"? :-/

  • @MananPujara666
    @MananPujara666 3 дня назад

    I regret why RUclips did not recommend his videos to me for a useful, amazing, and wonderful channel for making JavaScript funthank you.

    • @Radu
      @Radu 2 дня назад

      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 :-)

  • @AZHARakaGoat
    @AZHARakaGoat 3 дня назад

    ❤🎉

    • @Radu
      @Radu 2 дня назад

      ❤️

  • @akashprajapathi6056
    @akashprajapathi6056 3 дня назад

    I thought 🤔 we can make triangle then stack it to make cude but your approach is unique thank you ❤❤

    • @Radu
      @Radu 2 дня назад

      Interesting. I would be very curious to see your approach :-)

  • @zohaibqurban7386
    @zohaibqurban7386 3 дня назад

    i love you sir

    • @Radu
      @Radu 2 дня назад

      ❤️

  • @chaitanyamittal0208
    @chaitanyamittal0208 3 дня назад

    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

  • @user-kl6xq5we4x
    @user-kl6xq5we4x 4 дня назад

    Love From pakistan.

    • @Radu
      @Radu 2 дня назад

      ❤️

  • @dheerparekh1305
    @dheerparekh1305 4 дня назад

    idk why but the meta tag is not working for me

    • @Radu
      @Radu 4 дня назад

      Could you share your code somehow? I can have a look.

    • @dheerparekh1305
      @dheerparekh1305 4 дня назад

      @@Radu sure... wait a minute

    • @dheerparekh1305
      @dheerparekh1305 4 дня назад

      ​@@Raduit is not allowing Me to paste links 😅

    • @Radu
      @Radu 4 дня назад

      @@dheerparekh1305 I see... I have a discord and other social network links listed on the channel, if you want to use those.

    • @dheerparekh1305
      @dheerparekh1305 4 дня назад

      @@Radu I sent it on your discord server (programming-help) THANKS!!

  • @sayeddileri3461
    @sayeddileri3461 4 дня назад

    Thank youuuuuu!

    • @Radu
      @Radu 4 дня назад

      You're welcome :-)

  • @pizdaxyu
    @pizdaxyu 4 дня назад

    "["#AAA", "#444", "#888"][i / 2 - 1]" that was a nice gem

    • @Radu
      @Radu 4 дня назад

      Glad you liked it :-)

    • @pbenikovszky1
      @pbenikovszky1 2 дня назад

      indeed it was :) I thought he will use an object or something, but this is very clever :)

  • @souerico
    @souerico 4 дня назад

    Great! Please make something with offscreencanvas and web workers with user input! 😁

    • @Radu
      @Radu 4 дня назад

      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.

  • @yusuf.isyaku
    @yusuf.isyaku 4 дня назад

    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.

    • @Radu
      @Radu 4 дня назад

      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! :-)

  • @69zwaan
    @69zwaan 4 дня назад

    (-: Amazing! :-)

    • @Radu
      @Radu 4 дня назад

      Thanks! :-)

  • @2difficult2do
    @2difficult2do 5 дней назад

    Amazing trick ☝️😼👍 Looks nice and cute! Thank you!

    • @Radu
      @Radu 4 дня назад

      You're welcome :-)

  • @fdorsman
    @fdorsman 5 дней назад

    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.

    • @Radu
      @Radu 4 дня назад

      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.

  • @theblueplanet3576
    @theblueplanet3576 5 дней назад

    I had never known about drawing a cube this way in canvas. A little bit of maths and its possible. Amazing

    • @Radu
      @Radu 4 дня назад

      Yeah! There are many ways to do it :-) I just thought to show something more interesting.

  • @AZHARakaGoat
    @AZHARakaGoat 5 дней назад

    Thanks ❤🎉

    • @Radu
      @Radu 4 дня назад

      No problem 😎

    • @Radu
      @Radu 2 дня назад

      I think just update the Vector class to 3D and it should work.

  • @fdorsman
    @fdorsman 5 дней назад

    Thanks for another great approach!

    • @Radu
      @Radu 4 дня назад

      You're welcome!

  • @oladapooluwadurotimi2865
    @oladapooluwadurotimi2865 5 дней назад

    ❤ Master. Your RUclips page is really a discovery.

    • @Radu
      @Radu 4 дня назад

      Hi :-) Thanks! Glad you found it :-D

  • @eren-qu9wm
    @eren-qu9wm 5 дней назад

    bro when you upload Kaboon js tutorial and i need more advance topics in js.

    • @Radu
      @Radu 4 дня назад

      Hi, I assume you mean Kaboom? I don't plan on doing that anytime soon... And what exactly do you mean by advanced topics?

  • @OutlawJoad
    @OutlawJoad 5 дней назад

    Which color scheme do you use in VS Code? The colors are easy on the eyes.

    • @Radu
      @Radu 4 дня назад

      Ice Contrast

  • @dheerparekh1305
    @dheerparekh1305 5 дней назад

    New video!!

    • @Radu
      @Radu 4 дня назад

      Thank you :-)

  • @AZHARakaGoat
    @AZHARakaGoat 5 дней назад

    Thanks ❤🎉

    • @Radu
      @Radu 4 дня назад

      You're welcome :-)

  • @BiP00
    @BiP00 6 дней назад

    You should make a virtual Leonard/gpt dor this kind of lessons hehe

    • @Radu
      @Radu 4 дня назад

      Haha, maybe :-)) I'm not sure which tools I could use for that, though.

  • @peryMimon
    @peryMimon 6 дней назад

    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}); } } ```

  • @thefuntech2810
    @thefuntech2810 7 дней назад

    7.5 hours live stream sir you have so much dedication I really like your video

    • @Radu
      @Radu 4 дня назад

      Thanks :-) and... yeah. It wasn't easy to stay focused for that long. Glad you liked it!

  • @kgene521
    @kgene521 7 дней назад

    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.

    • @Radu
      @Radu 4 дня назад

      I'm really happy to hear you got something out of it! Thanks for watching :-)

  • @firefox_tn1815
    @firefox_tn1815 7 дней назад

    Thanks radu great session

    • @Radu
      @Radu 4 дня назад

      You're welcome! Next one will be on Tuesday.

  • @JanderSilva01
    @JanderSilva01 9 дней назад

    Unique content, thanks Radu.

    • @Radu
      @Radu 4 дня назад

      You're welcome! Thanks for watching :-)

  • @pesterenan
    @pesterenan 9 дней назад

    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

    • @Radu
      @Radu 9 дней назад

      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.

  • @NaniwaRocky
    @NaniwaRocky 10 дней назад

    I swear I am not following the lessons just for the intro pun + song, but it is a factor :D!

    • @Radu
      @Radu 9 дней назад

      :-))) haha

  • @peryMimon
    @peryMimon 10 дней назад

    why not to use arc for make the connection between the segments smooth ? It could be saved a lot of processing

    • @Radu
      @Radu 9 дней назад

      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.

  • @drtobbyas
    @drtobbyas 10 дней назад

    I love the visualization and animations. Do you mind sharing what tools you used in creating the visualization? Great video

    • @Radu
      @Radu 9 дней назад

      Hi, I actually coded all visualisations in JavaScript. I also used ThreeJS.

  • @pragyanchakravarty765
    @pragyanchakravarty765 10 дней назад

    Amazing Tutorial, Thank You Sir.❤

    • @Radu
      @Radu 9 дней назад

      You're welcome!

  • @ChrisLong-x3q
    @ChrisLong-x3q 10 дней назад

    // 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;

    • @Radu
      @Radu 10 дней назад

      Thanks!

  • @junangameplays3271
    @junangameplays3271 10 дней назад

    You are not from this world ahahha

    • @Radu
      @Radu 10 дней назад

      Which world am I from, then? :-)

    • @junangameplays3271
      @junangameplays3271 10 дней назад

      @@Radu tatooine hahah

    • @Radu
      @Radu 4 дня назад

      :-)))

  • @yoJuicy
    @yoJuicy 11 дней назад

    Dude love how deep you get. no surface level click bait BS that just defines features in documentation

    • @Radu
      @Radu 10 дней назад

      Glad to hear :-) I think it's useful content... but quite boring to watch, to be honest (long, unedited streams).

  • @JV_Arg
    @JV_Arg 11 дней назад

    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 💪💪

    • @Radu
      @Radu 10 дней назад

      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 :-)

  • @yusuf.isyaku
    @yusuf.isyaku 11 дней назад

    Thank you @Radu, thank you.

    • @Radu
      @Radu 10 дней назад

      You're welcome :-)

  • @LinhPham-yf9nf
    @LinhPham-yf9nf 11 дней назад

    Thank you very much of your time, your knowledge to share with us. Thanks Dr Radu

    • @Radu
      @Radu 10 дней назад

      Glad it was helpful! :-)