Finished it. Yes! The script for colliding particles can be seen here. More to come about inheritance and polymorphism tomorrow.
Monthly Archives: November 2015
Progress report 2
3D scanning of University book store 2
I revisited the university bookstore last Sunday (9th of November) morning and conducted 3D scanning. Total number of scan is 17 and this was done from 7:50 to 11:15 AM.
Problems
Section 3 was mostly covered however I could not capture the large part of section 2(Art supplies, pen and notebook etc.) The overall store doesn’t look so bad without these school supplies area in Scene though. Since Duanne won’t be able to make a time until Thanksgiving, I might visit the store again early December in case needed.
As the number of data set increases, the computer often freeze and get really slow making it unable to do additional editing. Markus recommended me to use another computer in the Lab.
The merchandises were changed a lot. As the store has changed the location of shelves and items, many items are overlapping creating messy look. It seems like it will take quite a lot of time deleting overlapping item and reorganizing the store manually.
Literature Review
1. Location of Items in the store
“Consumer Fit Search, Retailer Shelf Layout, and Channel Interaction”
Gu, Z., & Liu, Y. (2013), Marketing Science, 32(4), 652-668.
This is recently published study on Marketing Science and I found out that this study actually examined what I wanted to explore. This study explored the strategic implication of retailer shelf layout decision. That retailers are more likely to benefit from displaying competing products (e.g. coach and Michal Kors) in distance locations. While displaying competing product in the same location allow consumer to inspect various products all at once, in distance location consumer are induced to inspect one product first and then decide whether to incur the travel to inspect another one.
2. Product design on Choice
“The Impact of Product Design on Choice: A Dual-Process Explanation”
CLAUDIA TOWNSEND and SANJAY SOOD
UCLA Marketing Ph. D dissertation, Accepted to Journal of Consumer Science
Although this study is not quite relevant to my study, I found it fascinating since there are limited number of marketing or retailing studies that explored impact of design on choice. This study divided product attribute into functional attributes and design (aesthetic) attribute and conducted 4 studies examining differences between these two attributes. The study results imply that consumers may not be fully aware of the effect of aesthetics on choice although design hugely influences their choice. Respondents are sensitive to variations in the price premium for function attributes, with design response to price premium variations is negligible across large ranges in values.
Plan for Next Week
-Working on 3D scanned data-clean up overlapping merchandise
-Develop questionnaire and detailed plan for study
Week 10 Particle Systems and Beginning of Collisions
Unfortunately, Chapter 4, namely, Particle Systems will require another week to finish. That’s not so bad since after chapter 4, there are only 2 more chapters to finish this semester’s main learning curriculum. There are a few sections of Chapter 4 on inheritance and polymorphism that I did not get to cover because I ran out of time.
The sections I covered of Chapter 4 discussed the idea of not just having one particle class but rather having multiple classes communicating with one another to handle systems of systems of particles. The other topic covered was coding in lifespan for each particle so that the program did not bottleneck from continuing to draw all the particles emitted. The author introduced the arraylist class, though I had already been using it since Week 5 when I decided to jumpstart on composing particle systems. I was introduced to this more convenient form of an array in brief look I had on Chapter 23 of “Learning Processing”. For particle systems, it is extremely convenient since it allows straightforward resizing of the array by adding and removing items. The regular array can also be resized but it is not as easy as just “arrayname.add” or “arrayname.remove”. As my weekly composition, I decided to do one of the exercises that required me to make a moving emitter. The sketch can be seen here.
I spent most of the week trying to tackle the problem of collision, something Prof. Ponto suggested. It actually turns out to be a little bit more complicated than I thought (lol). Prof. Schiffman actually dedicates an entire chapter, the next chapter I am supposed to cover, on the use of an external physics engine built for Java called Box2D for collisions. But he also says it is possible to tackle simple collisions without the need of an additional class library like Box2D. Anyways I feel I am getting close but I still don’t have a working composition for the collisions of multiple particles. But here’s what I got so far.
Okay so the basic pseudo algorithm we are looking to code is as follows:
Now I just need to come up with the actual collision function which checks if two objects are colliding and applies the bounce function to give each a different velocity in different directions. I will complete this by next week and finish Particle Systems.
DS699 – Week of 11-07-2015
Progress report 1
3D scanning of University book store
I scanned the University bookstore(711 State St, Madison, WI 53703) on 25th of November using FARO 3D laser scanner. The total number of scanned files are 15(took 8-10 minutes per each). It took about 4 hours(from 7:00-11:20AM) as a whole. Since the battery was ran out during the scanning job, I had to stop scanning and charge it for about 20-30 minutes. (*Make sure fully charge two batteries next time before starting scanning work).
I roughly divided the store in three sections.
Section 1:Left side of the store-Fashion apparel items/ Section 2:Back side of the store-School supplies and gift shop/ Section 3: Right side of the store-Fashion apparel items and badger items.
Section 1 area are mostly covered except women’s apparel section. Additional scanning job is necessary for the rest of areas.
I planed to revisit the store upcoming Sunday(November 8th) from 7:30 to 11:30. Since this could be last chance of scanning(Duane won’t be able to have time until Christmas), I will try to scan as many as possible probably about 18-20 files (5, 6 scan per hour).
Registering Scanned data
Using software SCENE(specially designed software for FARO focus 3D), I registered scanned data set. Since one data set was ruined due to the low battery during scanning, 14 scanned data out of 15 were used for registering job.
Although overall visualization of the store seems to nice, scanner couldn’t capture the whole appearance of apparel items. As items were displayed so densely, capturing images from whole perspective was challenging. Just in case, I took pictures of individual set of item for the possibility of using PhotoScan. (But I don’t know how to import PhotoScan files into SCENE and combine two different data set or vise versa, I will explore this later)
Plan for next week
November 6th and 7th – Literature review on shopping path studies and develop questionnaire. Idea development for shopping path study.
November 8th – Scan the bookstore
November 10th- Register the scanned data
Week 9 – Oscillation
This week I covered Chapter 3 of “The Nature of Code”. The chapters keep getting more and more in depth and the exercises more complicated. But I was able to finish two of the exercises and create a neat little artistic particle system using a trig function to define a boundary. You can see it here.
In the past we have covered motion and we borrow the same principles of motion simulation to model oscillation in the Processing environment. Before we had the following two key statements to make agents move:
location.add(velocity);
Now for oscillation we use:
angle.add(avelocity);
We know that both sin and cos oscillate between (-1,1). In a past week, I implemented the notion of using trig functions with the frameCount to define the locations of drawn elements. This is essentially what we will do also with an oscillator, whose x and y coordinates will be given by Amplitude * sin( some increasing angle) and Amplitude * cos (some increasing angle). The first exercise asked me to find a way to make a pattern out of an array of oscillators. I used trig functions to make initialize the velocities in a rhythmic pattern:
We also looked at waves. The exercise I did required me to encapsulate a wave into a class and create a pattern:
This week I will be looking at Chapter 4 and hopefully conceive a colliding particle system.
See you soon.