{"title":"Jamis Buck","description":null,"products":[{"product_id":"mazes-for-programmers-book-jamis-buck-9781680500554","title":"Mazes for Programmers","description":"\u003cp\u003eUnlock the secrets to creating random mazes  Whether you're a game developer, an algorithm connoisseur, or simply in search of a new puzzle, you're about to level up. Learn algorithms to randomly generate mazes in a variety of shapes, sizes, and dimensions. Bend them into Moebius strips, fold them into cubes, and wrap them around spheres. Stretch them into other dimensions, squeeze them into arbitrary outlines, and tile them in a dizzying variety of ways. From twelve little algorithms, you'll discover a vast reservoir of ideas and inspiration.\u003cbr\u003e\u003cbr\u003eFrom video games to movies, mazes are ubiquitous. Explore a dozen algorithms for generating these puzzles randomly, from Binary Tree to Eller's, each copiously illustrated and accompanied by working implementations in Ruby. You'll learn their pros and cons, and how to choose the right one for the job.\u003cbr\u003e\u003cbr\u003eYou'll start by learning six maze algorithms and transition from making mazes on paper to writing programs that generate and draw them. You'll be introduced to Dijkstra's algorithm and see how it can help solve, analyze, and visualize mazes. Part 2 shows you how to constrain your mazes to different shapes and outlines, such as text, circles, hex and triangle grids, and more. You'll learn techniques for culling dead-ends, and for making your passages weave over and under each other. Part 3 looks at six more algorithms, taking it all to the next level. You'll learn how to build your mazes in multiple dimensions, and even on curved surfaces.\u003cbr\u003e\u003cbr\u003eThrough it all, you'll discover yourself brimming with \u003ci\u003eideas\u003c\/i\u003e, the best medicine for programmer's block, burn-out, and the grayest of days. By the time you're done, you'll be energized and full of maze-related possibilities \u003cbr\u003e\u003cbr\u003e\u003cb\u003eWhat You Need: \u003c\/b\u003e\u003cbr\u003e\u003cbr\u003eThe example code requires version 2 of the Ruby programming language. Some examples depend on the ChunkyPNG library to generate PNG images, and one chapter uses POV-Ray version 3.7 to render 3D graphics.\u003c\/p\u003e","brand":"WoB","offers":[{"title":"GB \/ VERY_GOOD \/ INTERNAL","offer_id":49507288449297,"sku":"GOR009578588","price":0.0,"currency_code":"GBP","in_stock":false},{"title":"GB \/ NEW \/ GARDNERS","offer_id":49734537216273,"sku":"NGR9781680500554","price":0.0,"currency_code":"GBP","in_stock":true},{"title":"US \/ GOOD \/ SBYB","offer_id":50478283358481,"sku":"CIN1680500554G","price":0.0,"currency_code":"GBP","in_stock":false},{"title":"GB \/ LIKE_NEW \/ INTERNAL","offer_id":50788388372753,"sku":"GOR012324331","price":0.0,"currency_code":"GBP","in_stock":false},{"title":"US \/ NEW \/ INGRAM","offer_id":51045882822929,"sku":"NIN9781680500554","price":0.0,"currency_code":"GBP","in_stock":true},{"title":"GB \/ NEW \/ INGRAM","offer_id":52146085888273,"sku":"NLS9781680500554","price":0.0,"currency_code":"GBP","in_stock":true},{"title":"US \/ VERY_GOOD \/ SBYB","offer_id":52934735593745,"sku":"CIN1680500554VG","price":0.0,"currency_code":"GBP","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0784\/4072\/6801\/files\/1680500554.jpg?v=1750960689"},{"product_id":"ray-tracer-challenge-book-jamis-buck-9781680502718","title":"The Ray Tracer Challenge","description":"\u003cp\u003eBrace yourself for a fun challenge: build a photorealistic 3D renderer from scratch  It's easier than you think. In just a couple of weeks, build a ray-tracer that renders beautiful scenes with shadows, reflections, brilliant refraction effects, and subjects composed of various graphics primitives: spheres, cubes, cylinders, triangles, and more. With each chapter, implement another piece of the puzzle and move the renderer that much further forward. Do all of this in whichever language and environment you prefer, and do it entirely test-first, so you know it's correct. Recharge yourself with this project's immense potential for personal exploration, experimentation, and discovery.\u003c\/p\u003e \u003cp\u003eThe renderer is a ray tracer, which means it simulates the physics of light by tracing the path of light rays around your scene. Each exciting chapter presents a bite-sized piece of the puzzle, building on earlier chapters and setting the stage for later ones. Requirements are given in plain English, which you translate into tests and code. When the project is complete, look back and realize you've built an entire system test-first \u003c\/p\u003e \u003cp\u003eThere's no research necessary -- all the necessary formulas and algorithms are presented and illustrated right here. Dive into intriguing topics from fundamental concepts such as vectors and matrices; to the algorithms that simulate the intersection of light rays with spheres, planes, cubes, cylinders, and triangles; to geometric patterns such as checkers and rings. Lighting and shading effects, such as shadows and reflections, make your scenes come to life, and constructive solid geometry (CSG) enables you to combine your graphics primitives in simple ways to produce complex shapes.\u003c\/p\u003e \u003cp\u003ePlay and experiment as you discover the fun of writing a ray tracer. Accept the challenge today \u003c\/p\u003e \u003cp\u003e\u003cb\u003eWhat You Need: \u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cbr\u003e\u003cbr\u003eAside from a computer, operating system, and programming environment, you'll need a way to display PPM image files. On Windows, programs like Photoshop will work, or free programs like IrfanView. On Mac, no special software is needed, as Preview can open PPM files.\u003c\/p\u003e","brand":"WoB","offers":[{"title":"GB \/ NEW \/ GARDNERS","offer_id":49733806620945,"sku":"NGR9781680502718","price":0.0,"currency_code":"GBP","in_stock":true},{"title":"GB \/ VERY_GOOD \/ INTERNAL","offer_id":49764142350609,"sku":"GOR012363854","price":0.0,"currency_code":"GBP","in_stock":false},{"title":"GB \/ LIKE_NEW \/ INTERNAL","offer_id":50245710709009,"sku":"GOR013897768","price":0.0,"currency_code":"GBP","in_stock":false},{"title":"US \/ NEW \/ INGRAM","offer_id":51045691326737,"sku":"NIN9781680502718","price":0.0,"currency_code":"GBP","in_stock":true},{"title":"US \/ GOOD \/ SBYB","offer_id":51417639092497,"sku":"CIN1680502719G","price":0.0,"currency_code":"GBP","in_stock":true},{"title":"GB \/ NEW \/ INGRAM","offer_id":52673321730321,"sku":"NLS9781680502718","price":0.0,"currency_code":"GBP","in_stock":true},{"title":"US \/ VERY_GOOD \/ SBYB","offer_id":53651991986449,"sku":"CIN1680502719VG","price":0.0,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0784\/4072\/6801\/files\/1680502719.jpg?v=1751447190"}],"url":"https:\/\/www.worldofbooks.com\/collections\/author-books-by-jamis-buck.oembed","provider":"World of Books ","version":"1.0","type":"link"}