Open Access. Powered by Scholars. Published by Universities.®

Physical Sciences and Mathematics Commons

Open Access. Powered by Scholars. Published by Universities.®

Articles 1 - 25 of 25

Full-Text Articles in Physical Sciences and Mathematics

Optimal Layout For A Component Grid, Michael W. Ebert Dec 2017

Optimal Layout For A Component Grid, Michael W. Ebert

Computer Science and Software Engineering

Several puzzle games include a specific type of optimization problem: given components that produce and consume different resources and a grid of squares, find the optimal way to place the components to maximize output. I developed a method to evaluate potential solutions quickly and automated the solving of the problem using a genetic algorithm.


Noteit Ios App, Waylin W. Wang, Gurjeevan Bains Dec 2017

Noteit Ios App, Waylin W. Wang, Gurjeevan Bains

Computer Science and Software Engineering

Miscommunication is a common struggle that many students face in today’s world, despite the significant technological progress that we have made. With NoteIt, we aimed to solve this issue, by allowing students to join groups based off of the courses that they are enrolled in during the current quarter. Within the app, they can send and receive messages and events from everyone else in the group, or post private reminders to themselves. Communication can range from assignment clarification to exam preparation tips. Overall the development of the application went relatively well, despite some roadblocks along the way. We were satisfied …


A High Quality, Eulerian 3d Fluid Solver In C++, Lejon Anthony Mcgowan Nov 2017

A High Quality, Eulerian 3d Fluid Solver In C++, Lejon Anthony Mcgowan

Computer Science and Software Engineering

Fluids are a part of everyday life, yet are one of the hardest elements to properly render in computer graphics. Water is the most obvious entity when thinking of what a fluid simulation can achieve (and it is indeed the focus of this project), but many other aspects of nature, like fog, clouds, and particle effects. Real-time graphics like video games employ many heuristics to approximate these effects, but large-scale renderers aim to simulate these effects as closely as possible.

In this project, I wish to achieve effects of the latter nature. Using the Eulerian technique of discrete grids, I …


Automatic Music Transcription With Convolutional Neural Networks Using Intuitive Filter Shapes, Jonathan Sleep Oct 2017

Automatic Music Transcription With Convolutional Neural Networks Using Intuitive Filter Shapes, Jonathan Sleep

Master's Theses

This thesis explores the challenge of automatic music transcription with a combination of digital signal processing and machine learning methods. Automatic music transcription is important for musicians who can't do it themselves or find it tedious. We start with an existing model, designed by Sigtia, Benetos and Dixon, and develop it in a number of original ways. We find that by using convolutional neural networks with filter shapes more tailored for spectrogram data, we see better and faster transcription results when evaluating the new model on a dataset of classical piano music. We also find that employing better practices shows …


Intuition: Role, Biases, Cognitive Basis, And A Hypothetical Synergistic Explanation Of Intuitive Brain Operations, Jens G. Pohl Jul 2017

Intuition: Role, Biases, Cognitive Basis, And A Hypothetical Synergistic Explanation Of Intuitive Brain Operations, Jens G. Pohl

Collaborative Agent Design (CAD) Research Center

This paper explores the characteristics of the intuitive responses that are generated by our brain continuously in an automatic and effortless manner. However, while intuition is a very powerful mechanism, it is also subject to many biasing influences. The author discusses the role of intuition, examines representative examples of biasing influences, compares cognitive theories of intuition advanced by Simon (2002), Klein (2003 and 1999), and Kahneman (2011), and then advances a hypothetical explanation of the neurological operations underlying intuition based on Hebbian rules (Hebb 1949) of plasticity in combination with synergetic principles.


Teaching Systems And Robotics In A Four-Week Summer Short Course, Andrew Danowitz, Bridget Benson, Jeremy Edmonds Jun 2017

Teaching Systems And Robotics In A Four-Week Summer Short Course, Andrew Danowitz, Bridget Benson, Jeremy Edmonds

Computer Science and Software Engineering

This paper describes a four-week summer short-course designed to introduce students with limited hands-on technical experience to the low-level details of embedded systems and robotics. Students start the course using a Raspberry Pi 3 to learn the basics of Linux and programming, and end the course by competing in a capture-the-flag type competition with the web-configurable GPS-guided autonomous robots they designed and tested in the course. Throughout the course, students are introduced to programming languages including Python and PHP, advanced programming concepts such as using sockets for inter-process communication, data interchange formats such as JSON, basic API development, system concepts …


Unreal Engine 4 Rpg, Jacob W. Russ, Jeffrey J. Nunez Jun 2017

Unreal Engine 4 Rpg, Jacob W. Russ, Jeffrey J. Nunez

Computer Engineering

Classic RPG videogames have become few and far between in the Western market over the years as modern RPG systems have gained popularity. The purpose of this project is to present a vertical slice of a hybrid RPG game that takes the gameplay mechanics and styles of classic RPG videogames and infuses them with a modern presentation. Through the use of the powerful Unreal Engine 4 graphics engine, this project is able to combine impressive graphical fidelity with modernized systems to fuel a videogame that is undeniably a classic RPG at heart. This is not a full game, but a …


Neural Network Ai For Fightingice, Alan D. Robison Jun 2017

Neural Network Ai For Fightingice, Alan D. Robison

Computer Engineering

Game AI in the fighting game genre, along the lines of Street Fighter, Mortal Kombat and Tekken, is traditionally script-based, with hard-coded reactions to various situations. Though this approach is often easy to understand and tweak, it requires substantial time and understanding of the game to implement in a way that is challenging and satisfying for the player due to the very large possibility space. This paper explores the use of neural networks as an alternative approach by implementing and training a network to select an action to take each frame based on the game state.


Underwater Computer Vision - Fish Recognition, Spencer Chang, Austin Otto Jun 2017

Underwater Computer Vision - Fish Recognition, Spencer Chang, Austin Otto

Computer Engineering

The Underwater Computer Vision – Fish Recognition project includes the design and implementation of a device that can withstand staying underwater for a duration of time, take pictures of underwater creatures, such as fish, and be able to identify certain fish. The system is meant to be cheap to create, yet still able to process the images it takes and identify the objects in the pictures with some accuracy. The device can output its results to another device or an end user.


Message-Layer Encryption In Ricochet, Liam B. Kirsh Jun 2017

Message-Layer Encryption In Ricochet, Liam B. Kirsh

Computer Science and Software Engineering

My intention for this project was to implement encryption and authentication on Ricochet's message layer. This provides two major benefits. The first is a higher level of encryption in the event that a flaw is found in the existing channel-layer encryption, or if increases in computing power make attacks on that encryption feasible. Tor is used by the military, journalists, law enforcement, researchers, and activists, whose communications may be interesting to state-level adversaries and criminal organizations with access to great amount of computing resources. Additionally, message-layer encryption would allow users to specify relay nodes that can temporarily store messages and …


Procedurally Generating Genetic Keys, Adam A. Levasseur Jun 2017

Procedurally Generating Genetic Keys, Adam A. Levasseur

Computer Engineering

This project presents a method for creating multi-part models based on input keys to generate new, variant models via genetic algorithms. By utilizing 3D models as modular parts, this method allows for the generation of a unique, compound model based on one or multiple input keys. This paper explains the process of creating and testing such generation styles using simple geometry to create more complex, compound models.


Automated Grading Of Handwritten Numerical Answers, Mark T. Brown Jun 2017

Automated Grading Of Handwritten Numerical Answers, Mark T. Brown

Computer Engineering

The objective of this project was to automate the process of grading handwritten numerical answers in a classroom setting. The final program accepts a scanned answer sheet completed by the student along with a description of the correct answers and produces a detailed report describing the confidence of correctness for each answer.

Computer vision techniques are used to automatically locate the locations of the answers in the scan. Each digit is then passed through a convolutional neural network to predict what was written by the student. The individual probabilities of each digit produced by the network are aggregated into a …


Performing A Practical Paging Attack On The Lte Network, Nathan H. Yee Jun 2017

Performing A Practical Paging Attack On The Lte Network, Nathan H. Yee

Computer Science and Software Engineering

No abstract provided.


Roborodentia Robot (Duct Tape Craze), Tarrant J. Starck Jun 2017

Roborodentia Robot (Duct Tape Craze), Tarrant J. Starck

Computer Science and Software Engineering

Roborodentia is an annual autonomous robotics competition held at Cal Poly in April. In 2017, Roborodentia was a head-to-head double elimination tournament with the winner being the robot that moves more rings onto the scoring pegs. For this year’s competition, I designed, built, programmed, and tested a robot.


Senior Project: Calendar, Jason L. Chin Jun 2017

Senior Project: Calendar, Jason L. Chin

Computer Science and Software Engineering

This calendar application is meant to help individuals with busy schedules. Those who must balance their time between working on multiple simultaneous projects would categorize key users. In the application, users will be able to participate in multiple projects at any one time. When a user is in a project, they will be able to create tasks, add tasks, be assigned to tasks, and add other users to the project. A key feature in this application is that each user is provided a personal project. In their personal project, any task assigned to the user from any project, will be …


Computer Vision Based Route Mapping, Ryan S. Kehlenbeck, Zachary Cody Jun 2017

Computer Vision Based Route Mapping, Ryan S. Kehlenbeck, Zachary Cody

Computer Science and Software Engineering

The problem our project solves is the integration of edge detection techniques with mapping libraries to display routes based on images. To do this, we used the OpenCV library within an Android application. This application lets a user import an image from their device, and uses edge detection to pull out a path from the image. The application can find the user's location and uses it alongside the path data from the image to create a route using the physical roads near the location. The shape of the route matches the edges from the given image and the user can …


Eulerian On Lagrangian Cloth Simulation, Kyle C. Piddington Jun 2017

Eulerian On Lagrangian Cloth Simulation, Kyle C. Piddington

Master's Theses

This thesis introduces a novel Eulerian-on-Lagrangian (EoL) approach for simulating cloth. This approach allows for the simulation of traditionally difficult cloth scenarios, such as draping and sliding cloth over sharp features like the edge of a table. A traditional Lagrangian approach models a cloth as a series of connected nodes. These nodes are free to move in 3d space, but have difficulty with sliding over hard edges. The cloth cannot always bend smoothly around these edges, as motion can only occur at existing nodes. An EoL approach adds additional flexibility to a Lagrangian approach by constructing special Eulerian on Lagrangian …


Group Work Versus Informal Collaborations: Student Perspectives, Andrew Danowitz Apr 2017

Group Work Versus Informal Collaborations: Student Perspectives, Andrew Danowitz

Computer Science and Software Engineering

A substantial body of research exists showing that, when implemented correctly, the use of group work in a class can improve student learning outcomes. When implemented incorrectly, however, group-based assignments can lead to dysfunction and inter-personal conflicts that can hamper overall student success. This problem can be especially acute in first and second year engineering fundamentals courses where advanced students who learn the concepts faster may end up completing—and reaping the benefits of—a lions-share of the group work. As the course material starts to build on itself, those students who initially underperformed in their group may lack the understanding to …


Probabilistic Roadmaps For Virtual Camera Pathing With Cinematographic Principles, Katherine Davis Apr 2017

Probabilistic Roadmaps For Virtual Camera Pathing With Cinematographic Principles, Katherine Davis

Master's Theses

As technology use increases in the world and inundates everyday life, the visual aspect of technology or computer graphics becomes increasingly important. This thesis presents a system for the automatic generation of virtual camera paths for fly-throughs of a digital scene. The sample scene used in this work is an underwater setting featuring a shipwreck model with other virtual underwater elements such as rocks, bubbles and caustics. The digital shipwreck model was reconstructed from an actual World War II shipwreck, resting off the coast of Malta. Video and sonar scans from an autonomous underwater vehicle were used in a photogrammetry …


Iota Pi Application For Ios, Deborah Newberry Mar 2017

Iota Pi Application For Ios, Deborah Newberry

Computer Science and Software Engineering

Kappa Kappa Psi is a national honorary fraternity for college band members. They meet every Sunday night, and during these meetings they plan events (both internal and external) that aim to meet our goal of making sure that the Cal Poly band programs have their social, financial, material, and educational needs satisfied. This paper details the steps I took to create an application for them to use internally to help ease organizational processes.


Music Times: A Music Learning Game, Emily Woo Mar 2017

Music Times: A Music Learning Game, Emily Woo

Computer Science and Software Engineering

Music Times is a two dimensional educational video game with the purpose of gamifying learning of musical concepts. It has elements of adventure and visual novel games, and incentivizes the player to learn music to explore new levels. It is developed in the Unity game engine, scripted in C#, and targeted for mobile devices. It has six working levels: three lesson levels and three corresponding challenge levels. Each level contains slight differences in visual and aural feel.


Using Intel Realsense Depth Data For Hand Tracking In Unreal Engine 4, Granger Lang Mar 2017

Using Intel Realsense Depth Data For Hand Tracking In Unreal Engine 4, Granger Lang

Liberal Arts and Engineering Studies

This project describes how to build a hand tracking method for VR/AR using the raw data from a depth sensing camera.


Hitchride Ios App, Petar Georgiev Mar 2017

Hitchride Ios App, Petar Georgiev

Computer Science and Software Engineering

HitchRide is a ride-sharing marketplace connecting regular people making similar trips so everyone benefits: the driver, the passenger, society and the environment. HitchRide allows participants to reduce their travel costs, meet new friends and conveniently reach their destination, all in a simple, satisfactory, and environmentally friendly way. We believe that we can make traveling truly enjoyable, one shared car ride at a time and help save the planet while we’re at it!


Gpumap: A Transparently Gpu-Accelerated Map Function, Ivan Pachev Mar 2017

Gpumap: A Transparently Gpu-Accelerated Map Function, Ivan Pachev

Master's Theses

As GPGPU computing becomes more popular, it will be used to tackle a wider range of problems. However, due to the current state of GPGPU programming, programmers are typically required to be familiar with the architecture of the GPU in order to effectively program it. Fortunately, there are software packages that attempt to simplify GPGPU programming in higher-level languages such as Java and Python. However, these software packages do not attempt to abstract the GPU-acceleration process completely. Instead, they require programmers to be somewhat familiar with the traditional GPGPU programming model which involves some understanding of GPU threads and kernels. …


Implementing Semantic Document Search Using A Bounded Random Walk In A Probabilistic Graph, Lubomir Stanchev Jan 2017

Implementing Semantic Document Search Using A Bounded Random Walk In A Probabilistic Graph, Lubomir Stanchev

Computer Science and Software Engineering

Given a set of documents and an input query that is expressed using natural language, the problem of document search is retrieving all relevant documents ordered by the degree of relevance. Semantic document search fetches not only documents that contain words from the input query, but also documents that are semantically relevant. For example, the query "friendly pets" will consider documents that contain the words "dog" and "cat", among others. One way to implement semantic search is to use a probabilistic graph in which the input query is connected to the documents through paths that contain semantically similar words and …