C++
Książki z kategorii C++ przedstawiają szereg zasad programowania obiektowego z użyciem języka C++, poparte interesującymi przykładami i ćwiczeniami.
Poznacie pochodzenie i konstrukcję samego języka oraz jego elementy. Dowiecie się czym są instrukcje warunkowe, jak działają mechanizmy dziedziczenia oraz jak poprawnie zdefiniować obiekty i klasy. Odkryjecie tajniki kluczowych składników standardu ANSI/ISO, przeczytacie jak sprawnie dopasować wyrażenia regularne, a pojęcia jak kontenery, iteratory, wektory czy poliformizm staną się mniej abstrakcyjne.
Zhenyu George Li, Charles Shih-I Yeh, Dr....
Creating responsive, intelligent games takes more than just following engine tutorials. It requires solving real development challenges with practical, efficient code. This book bridges theory and practice with proven algorithms and techniques grounded in real-world production needs, emphasizing clean, portable C++ implementations.Starting with raylib and the custom Knight engine layer, you’ll be introduced to a simple object-oriented scene and game object system. From there, you'll build responsive gameplay systems using essential data structures and algorithms, progressing through 2D rendering, collision detection, effects, and camera control before advancing to 3D graphics environments built using shaders, lighting, quad-tree terrain, and dynamic camera setups.You’ll animate characters using skeletal rigs, interpolation, and inverse kinematics for fluid movement and then develop game AI using FSMs, behavior trees, A* pathfinding, and steering behaviors. The book also covers neural networks, exploring their underlying theories, training processes, and tools. Throughout, the code is written in legacy-compatible C++ to ensure broad support across platforms and compilers.By the end, you’ll have gained the skills to build game systems that not only work but also scale, perform, and adapt like professional-grade code.
Practical Game AI Programming. Unleash the power of Artificial Intelligence to your game
Micael DaGraça
The book starts with the basics examples of AI for different game genres and directly jumps into defining the probabilities and possibilities of the AI character to determine character movement. Next, you’ll learn how AI characters should behave within the environment created.Moving on, you’ll explore how to work with animations. You’ll also plan and create pruning strategies, and create Theta algorithms to find short and realistic looking game paths. Next, you’ll learn how the AI should behave when there is a lot of characters in the same scene.You'll explore which methods and algorithms, such as possibility maps, Forward Chaining Plan, Rete Algorithm, Pruning Strategies, Wall Distances, and Map Preprocess Implementation should be used on different occasions. You’ll discover how to overcome some limitations, and how to deliver a better experience to the player. By the end of the book, you think differently about AI.
Paul Martin Eliasz
In the ever-evolving world of games and virtual production, mastering procedural content generator (PCG) opens the door to endless creative possibilities. This book takes you deeper into the realm of procedurally generated environments and assets by showing you how to use the PCG framework integrated into Unreal Engine 5.4 and helping you build the skills to surpass traditional methods and create cutting-edge projects with unparalleled efficiency.This book guides you through the complete level design and tools production pipeline using open-source software. Whether you’re an aspiring technical artist or level designer in real-time visualization and game production, you’ll benefit from following the step-by-step, beginner-friendly approach to crafting custom levels, from jungles to cities, and incorporating 3D assets from libraries such as Quixel or Sketchfab. Next, you’ll get to grips with data preparation, construct a PCG graph to populate assets in your environment, and apply these methods to optimize your projects. You’ll understand how this process enhances your PCG tools, elevating their capacity to improve the quality of your levels.By the end of this book, you’ll be able to seamlessly integrate different elements in Unreal Engine 5, empowering you to create your own PCG tools and transform your game development experience.
Programowanie dla początkujących w 24 godziny. Wydanie IV
Greg Perry, Dean Miller
Warto nauczyć się programowania! Poza stworzeniem sobie możliwości znalezienia ciekawej i dobrze płatnej pracy czy pasjonującego hobby umiejętność programowania bywa niezwykle przydatna w rozwiązywaniu różnych problemów. Paleta języków programowania i narzędzi programistycznych jest niezwykle szeroka i praktycznie każdy znajdzie coś dla siebie. Zanim to jednak nastąpi, trzeba zdobyć trochę wiedzy i umiejętności. Ale bez obaw! W nauce programowania najtrudniejszy bywa pierwszy krok, jednak ta książka sprawi, że wykonasz go bez trudu i dumnie wkroczysz w świat kodowania! To kolejne wydanie lubianego samouczka, dzięki któremu w ramach 24 godzinnych lekcji przyswoisz solidne podstawy programowania. Zrozumiesz, jak działają programy, i nauczysz się reguł stosowanych przez profesjonalistów przy ich projektowaniu. Dowiesz się, jak wygląda świat programistów i na czym dokładnie polega programowanie w korporacjach. Znajdziesz tutaj także wprowadzenie do kilku najpopularniejszych języków programowania, co pozwoli na ich porównanie i ułatwi wybór języka do dalszej nauki. Każdy z 24 rozdziałów zawiera materiał, który można opanować w ciągu godziny. Naukę ułatwiają instrukcje krok po kroku, quizy, ćwiczenia i praktyczne przykłady. Dzięki tej książce zdobędziesz najlepsze podstawy, aby stać się dobrym programistą. Przygotujesz się też do świadomego kształtowania swojej dalszej ścieżki zawodowej! W książce między innymi: przygotowanie narzędzi do pracy - sprzęt i oprogramowanie podstawowe aspekty programowania i projektowania programów algorytmy, interaktywność, zmienne, funkcje debugowanie kodu programowanie obiektowe i korzystanie z baz danych planowanie kariery programisty Zacznij programować. Najlepiej od razu!
Programowanie funkcyjne w języku C++. Tworzenie lepszych aplikacji
Ivan Čukić
Programowanie jest sztuką, dzięki której możesz stworzyć coś z niczego, przy czym tylko od Ciebie zależy, jak doskonałe będzie to dzieło. Dobrze napisany kod jest wydajny, łatwy w testowaniu, można go używać ponownie i wykazuje mniejszą podatność na błędy. Jednym słowem, taki kod powinien możliwie prosto wyrażać złożoną logikę programu, bezproblemowo obsługiwać błędy i przejrzyście implementować współbieżność. Te wymagania pozwoli Ci spełnić funkcyjny styl programowania. Język C++ umożliwia programowanie funkcyjne dzięki szablonom, wyrażeniom lambda i innym ważnym opcjom. Pomocne też będzie korzystanie z biblioteki STL. Ta książka jest przeznaczona dla profesjonalnych programistów C++, którzy chcą opanować funkcyjny styl programowania i dzięki temu wykorzystać w nowy sposób potężne zalety tego języka. Po interesującym wprowadzeniu do tej metodologii w książce zamieszczono dziesiątki przykładów, schematów i ilustracji wyjaśniających koncepcje programowania funkcyjnego w C++. Pokazano, jak tworzyć bezpieczniejszy kod bez obniżania wydajności pracy programu, jak stosować obiekty funkcyjne i funkcje stosowane, algebraiczne typy danych oraz wiele innych. Nie zabrakło praktycznych przykładów kodu, który stanowi znakomite uzupełnienie prezentowanych treści. W tej książce między innymi: wprowadzenie do programowania funkcyjnego funkcje w C++ i funkcje wyższego rzędu oraz ich rozwijanie wartościowanie leniwe i wykorzystanie go do optymalizacji korzystanie z funktorów i monad funkcyjny sposób testowania i debugowania kodu Programowanie funkcyjne w C++: twórz najlepsze rozwiązania!
Programowanie. Teoria i praktyka w C++. Wydanie IV
Bjarne Stroustrup
Książka twórcy języka C++ Chcesz naprawdę dobrze opanować C++? Ucz się od najlepszego! Bjarne Stroustrup, twórca tego języka, jak nikt inny potrafi wyjaśnić zarówno podstawy, jak i najbardziej zaawansowane metody programowania. To on zaprojektował i zaimplementował C++, a w tej książce dzieli się swoim bogatym doświadczeniem i ekspercką wiedzą. Teraz dostępną także dla Ciebie! Programowanie. Teoria i praktyka w C++ to kompletny przewodnik, który krok po kroku odkrywa tajniki jednego z najważniejszych i najpotężniejszych języków programowania. Najnowsze wydanie zostało zaktualizowane i uwzględnia standardy C++20 i C++23, dzięki czemu będziesz się uczyć na przykładach zgodnych z aktualnym kierunkiem rozwoju języka. Dzięki tej książce dowiesz się, jak pisać kod nie tylko wydajny, ale i elegancki. Poznasz zasady, które z powodzeniem zastosujesz również w innych językach programowania. Autor wprowadzi Cię w świat kluczowych paradygmatów programowania od proceduralnego, przez obiektowe, aż po generyczne i pokaże, jak tworzyć bezpieczne, praktyczne i łatwe w utrzymaniu programy. Oprócz technik programowania wysokopoziomowego opanujesz techniki niższego poziomu, niezbędne do efektywnego korzystania z możliwości sprzętu. Znajdziesz tu zarówno solidne podstawy, jak i bardziej zaawansowane zagadnienia, takie jak: opis pojęć i technik programistycznych instrukcje sterujące, obsługa błędów, funkcje i system typów obsługa danych liczbowych i tekstu praca z graficznym interfejsem użytkownika kontenery i algorytmy w bibliotece STL parametryzacja klas i funkcji Niezależnie od tego, czy dopiero zaczynasz przygodę z C++, czy chcesz rozwinąć swoje umiejętności tu znajdziesz wszystko, czego potrzebujesz, aby pisać doskonały kod. Chłoń wiedzę od samego twórcy języka C++!
Programowanie. Teoria i praktyka z wykorzystaniem C++. Wydanie III
Bjarne Stroustrup
Zaczerpnij wiedzę o C++ od samego twórcy języka! Jak zacząć pracę w zintegrowanym środowisku programistycznym? Jak profesjonalnie tworzyć programy użytkowe? Jak korzystać z biblioteki graficznego interfejsu użytkownika? Jeśli zależy Ci na tym, aby zdobyć rzetelną wiedzę i perfekcyjne umiejętności programowania z użyciem języka C++, powinieneś uczyć się od wybitnego eksperta i twórcy tego języka - Bjarne Stroustrupa, który jako pierwszy zaprojektował i zaimplementował C++. Podręcznik, który trzymasz w ręku, daje Ci szansę odkrycia wszelkich tajników tego języka, obszernie opisanego w międzynarodowym standardzie i obsługującego najważniejsze techniki programistyczne. C++ umożliwia pisanie wydajnego i eleganckiego kodu, a większość technik w nim stosowanych można przenieść do innych języków programowania. Książka Programowanie w C++. Teoria i praktyka zawiera szczegółowy opis pojęć i technik programistycznych, a także samego języka C++, oraz przykłady kodu. Znajdziesz tu również omówienia zagadnień zaawansowanych, takich jak przetwarzanie tekstu i testowanie. Z tego podręcznika dowiesz się, na czym polega wywoływanie funkcji przeciążonych i dopasowywanie wyrażeń regularnych. Zobaczysz też, jaki powinien być standard kodowania. Poznasz sposoby projektowania klas graficznych i systemów wbudowanych, tajniki implementacji, wykorzystywania funkcji oraz indywidualizacji operacji wejścia i wyjścia. Korzystając z tego przewodnika, nauczysz się od samego mistrza pisać doskonałe, wydajne i łatwe w utrzymaniu programy. Techniki programistyczne Infrastruktura algorytmiczna Biblioteka standardowa C++ Instrukcje sterujące i obsługa błędów Implementacja i wykorzystanie funkcji Kontrola typów Interfejsy klas Indywidualizacja operacji wejścia i wyjścia Projektowanie klas graficznych Wektory i pamięć wolna Kontenery i iteratory Programowanie systemów wbudowanych Makra Wykorzystaj wiedzę Bjarne Stroustrupa i pisz profesjonalne programy w C++!
Programowanie współbieżne. Systemy czasu rzeczywistego
Paweł Majdzik
Współbieżność to szybkość, efektywność i nowoczesność. Czy Ty też chcesz tak programować? Coraz niższe ceny i powszechna dostępność sprzętu komputerowego o architekturze wieloprocesorowej powodują, że umiejętność projektowania i budowania aplikacji przetwarzających informacje współbieżnie staje się wręcz niezbędna każdemu zawodowemu programiście. W większości współczesnych języków programowania bezpośrednio zaimplementowano metody tworzenia zadań wykonywanych równolegle oraz wysokopoziomowe mechanizmy komunikacji i synchronizacji procesów. Tworzenie efektywnych aplikacji współbieżnych wciąż jednak wymaga dużej, specjalistycznej wiedzy dotyczącej systemów operacyjnych oraz programowania nisko- i wysokopoziomowego, o czym przekonało się wielu studentów kierunków informatycznych i profesjonalnych programistów. Na szczęście teraz wszyscy mogą sięgnąć po książkę "Programowanie współbieżne. Systemy czasu rzeczywistego". Pomoże ona uniknąć wielu typowych błędów związanych z tworzeniem aplikacji współbieżnych i pokaże, jak rozwiązywać problemy specyficzne dla tej dziedziny. Lektura ułatwi też zdobycie praktycznej umiejętności projektowania architektury niezawodnego współbieżnego oprogramowania, a także przybliży wiedzę na temat mechanizmów i metod wykorzystywanych przy tworzeniu systemów równoległych czasu rzeczywistego. Przedstawienie podstawowych pojęć dotyczących programowania współbieżnego Opis metod weryfikacji poprawności programów współbieżnych Definicje i własności mechanizmów synchronizacji oraz komunikacji Przykłady rozwiązań problemów programowania współbieżnego Opis mechanizmów wspierających programowanie systemów czasu rzeczywistego Implementacja metod szeregowania zadań w systemach czasu rzeczywistego Opis metod i mechanizmów języka Ada 2005 umożliwiających implementację programów współbieżnych i systemów czasu rzeczywistego Przyszłość informatyki to przetwarzanie współbieżne. Stać Cię na pozostanie w tyle? Paweł Majdzik - od 1998 roku pracuje jako adiunkt w Instytucie Sterowania i Systemów Informatycznych Uniwersytetu Zielonogórskiego. Jest autorem bądź współautorem ponad trzydziestu opracowań naukowych - książek, artykułów, referatów wydanych w kraju i za granicą, a dotyczących informatyki, w szczególności związanych z analitycznymi metodami modelowania i projektowania systemów współbieżnych.
Python, C++, JavaScript. Zadania z programowania
Marek Luliński, Gniewomir Sarbicki
Zadania z programowania? Zbiór programów do napisania! Pascal, C++, JavaScript i Python — oto zbiór języków, które przećwiczysz dzięki zadaniom w tej książce. Każdy z nich ma nieco inne zastosowania, wszystkie zaś są lub będą w najbliższym czasie wykorzystywane na lekcjach informatyki i na egzaminach, a ich zastosowanie w obliczu realnych problemów może wydatnie uprościć Ci życie. Jak najłatwiej i najszybciej nauczyć się programować w tych językach? Oczywiście dzięki ćwiczeniom! Z tą książką napiszesz konkretne programy rozwiązujące zadania numeryczne, logiczne i matematyczne — w każdym z powyższych języków. Z praktycznym zestawem zawartych tu zadań spróbujesz znaleźć permutacje zbioru, zaszyfrować tekst szyfrem Cezara, zbudować trójkąt Pascala i wskazać punkty kratowe wewnątrz koła o promieniu r. Napiszesz według własnego pomysłu programy odpowiadające na postawione w zadaniach pytania. Jeśli jesteś uczniem, będziesz mógł w ten sposób ćwiczyć nie tylko umiejętności programistyczne, lecz także matematyczne. Jeśli jesteś nauczycielem, znajdziesz tu wiele inspiracji dla swoich uczniów. Gotowy pogram będziesz mógł później porównać z rozwiązaniami proponowanymi przez autorów. Dogadaj się z komputerem — w każdym z czterech języków! --- UWAGA: Skala trudności zadań odpowiada poziomowi szkoły średniej.
QGIS Quick Start Guide. A beginner's guide to getting started with QGIS 3.4
Andrew Cutts
QGIS is a user friendly, open source geographic information system (GIS). The popularity of open source GIS and QGIS, in particular, has been growing rapidly over the last few years. This book is designed to help beginners learn about all the tools required to use QGIS 3.4.This book will provide you with clear, step-by-step instructions to help you apply your GIS knowledge to QGIS. You begin with an overview of QGIS 3.4 and its installation. You will learn how to load existing spatial data and create vector data from scratch. You will then be creating styles and labels for maps. The final two chapters demonstrate the Processing toolbox and include a brief investigation on how to extend QGIS. Throughout this book, we will be using the GeoPackage format, and we will also discuss how QGIS can support many different types of data.Finally, you will learn where to get help and how to become engaged with the GIS community.
Zhuo Qingliang
OpenCV and Qt have proven to be a winning combination for developing cross-platform computer vision applications. By leveraging their power, you can create robust applications with both an intuitive graphical user interface (GUI) and high-performance capabilities. This book will help you learn through a variety of real-world projects on image processing, face and text recognition, object detection, and high-performance computing. You’ll be able to progressively build on your skills by working on projects of increasing complexity.You’ll begin by creating an image viewer application, building a user interface from scratch by adding menus, performing actions based on key-presses, and applying other functions. As you progress, the book will guide you through using OpenCV image processing and modification functions to edit an image with filters and transformation features. In addition to this, you’ll explore the complex motion analysis and facial landmark detection algorithms, which you can use to build security and face detection applications. Finally, you’ll learn to use pretrained deep learning models in OpenCV and GPUs to filter images quickly. By the end of this book, you will have learned how to effectively develop full-fledged computer vision applications with OpenCV and Qt.
Lee Zhi Eng
With the growing need to develop GUIs for multiple targets and multiple screens, improving the visual quality of your application becomes important so that it stands out from your competitors. With its cross-platform ability and the latest UI paradigms, Qt makes it possible to build intuitive, interactive, and user-friendly user interfaces for your applications.Qt5 C++ GUI Programming Cookbook, Second Edition teaches you how to develop functional and appealing user interfaces using the latest version of QT5 and C++. This book will help you learn a variety of topics such as GUI customization and animation, graphics rendering, implementing Google Maps, and more. You will also be taken through advanced concepts like asynchronous programming, event handling using signals and slots, network programming, various aspects of optimizing your application. By the end of the book, you will be confident to design and customize GUI applications that meet your clients' expectations and have an understanding of best practice solutions for common problems.
Srinjoy Ganguly, Thomas Cambier
Quantum computing is a growing field, with many research projects focusing on programming quantum computers in the most efficient way possible. One of the biggest challenges faced with existing languages is that they work on low-level circuit model details and are not able to represent quantum programs accurately. Developed by researchers at ETH Zurich after analyzing languages including Q# and Qiskit, Silq is a high-level programming language that can be viewed as the C++ of quantum computers! Quantum Computing with Silq Programming helps you explore Silq and its intuitive and simple syntax to enable you to describe complex tasks with less code. This book will help you get to grips with the constructs of the Silq and show you how to write quantum programs with it. You’ll learn how to use Silq to program quantum algorithms to solve existing and complex tasks. Using quantum algorithms, you’ll also gain practical experience in useful applications such as quantum error correction, cryptography, and quantum machine learning. Finally, you’ll discover how to optimize the programming of quantum computers with the simple Silq.By the end of this Silq book, you’ll have mastered the features of Silq and be able to build efficient quantum applications independently.
Robot Operating System Cookbook. Over 70 recipes to help you master advanced ROS concepts
Kumar Bipin
This book will leverage the power of ROS with an introduction to its core and advanced concepts through exciting recipes. You will get acquainted with the use of different synchronous and asynchronous communication methods, including messages, services, and actions. You will learn how to use the various debugging and visualization tools used in development and how to interface sensors and actuators with the ROS framework.Firstly, you will get to grips with ROS simulation frameworks, such as Gazebo and RotorS for modeling and simulating any physical robot and virtual environment. You will also cover mobile robotics, micro-aerial vehicles, and robotic arms, which are the leading branches of robotic applications. Robot Operating System Cookbook will also guide you in the development of an autonomous navigation framework for both mobile robots and micro-aerial vehicles.Finally, you will explore ROS-Industrial, an open source project that extends the advanced capabilities of ROS software to manufacturing industries.
Ramkumar Gandhinathan, Lentin Joseph
Nowadays, heavy industrial robots placed in workcells are being replaced by new age robots called cobots, which don't need workcells. They are used in manufacturing, retail, banks, energy, and healthcare, among other domains. One of the major reasons for this rapid growth in the robotics market is the introduction of an open source robotics framework called the Robot Operating System (ROS).This book covers projects in the latest ROS distribution, ROS Melodic Morenia with Ubuntu Bionic (18.04). Starting with the fundamentals, this updated edition of ROS Robotics Projects introduces you to ROS-2 and helps you understand how it is different from ROS-1. You'll be able to model and build an industrial mobile manipulator in ROS and simulate it in Gazebo 9. You'll then gain insights into handling complex robot applications using state machines and working with multiple robots at a time. This ROS book also introduces you to new and popular hardware such as Nvidia's Jetson Nano, Asus Tinker Board, and Beaglebone Black, and allows you to explore interfacing with ROS. You'll learn as you build interesting ROS projects such as self-driving cars, making use of deep learning, reinforcement learning, and other key AI concepts.By the end of the book, you'll have gained the confidence to build interesting and intricate projects with ROS.
Ivo Balbaert
Rust is the new, open source, fast, and safe systems programming language for the 21st century, developed at Mozilla Research, and with a steadily growing community. It was created to solve the dilemma between high-level, slow code with minimal control over the system, and low-level, fast code with maximum system control. It is no longer necessary to learn C/C++ to develop resource intensive and low-level systems applications. This book will give you a head start to solve systems programming and application tasks with Rust.We start off with an argumentation of Rust's unique place in today's landscape of programming languages. You'll install Rust and learn how to work with its package manager Cargo. The various concepts are introduced step by step: variables, types, functions, and control structures to lay the groundwork. Then we explore more structured data such as strings, arrays, and enums, and you’ll see how pattern matching works.Throughout all this, we stress the unique ways of reasoning that the Rust compiler uses to produce safe code. Next we look at Rust's specific way of error handling, and the overall importance of traits in Rust code. The pillar of memory safety is treated in depth as we explore the various pointer kinds. Next, you’ll see how macros can simplify code generation, and how to compose bigger projects with modules and crates. Finally, you’ll discover how we can write safe concurrent code in Rust and interface with C programs, get a view of the Rust ecosystem, and explore the use of the standard library.