Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/qc20/emojiheatmap
EmojiHeatmap is a creative visualization tool that dynamically generates a heatmap using a variety of emojis based on user interactions. It transforms mouse movements into colorful patterns using Perlin noise, resulting in an evolving, playful landscape of emotive symbols.
https://github.com/qc20/emojiheatmap
algorithmic-art creative-coding data-visualization digital-art emoji font-art heatmap interaction-design interactive-art interactive-graphics interactive-visualizations javascript mouse-interaction p5js perlin-noise ux-design web-animation web-art web-art-is-great-art web-fonts
Last synced: 21 days ago
JSON representation
EmojiHeatmap is a creative visualization tool that dynamically generates a heatmap using a variety of emojis based on user interactions. It transforms mouse movements into colorful patterns using Perlin noise, resulting in an evolving, playful landscape of emotive symbols.
- Host: GitHub
- URL: https://github.com/qc20/emojiheatmap
- Owner: QC20
- Created: 2024-08-01T09:05:41.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-08-01T09:48:42.000Z (6 months ago)
- Last Synced: 2024-11-08T12:09:13.283Z (2 months ago)
- Topics: algorithmic-art, creative-coding, data-visualization, digital-art, emoji, font-art, heatmap, interaction-design, interactive-art, interactive-graphics, interactive-visualizations, javascript, mouse-interaction, p5js, perlin-noise, ux-design, web-animation, web-art, web-art-is-great-art, web-fonts
- Language: JavaScript
- Homepage: https://qc20.github.io/EmojiHeatmap/
- Size: 99.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# EmojiHeatmap 🌈✨
**EmojiHeatmap** is a creative visualization tool that dynamically generates a heatmap using a variety of emojis based on user interactions. It transforms mouse movements into colorful patterns using Perlin noise, resulting in an evolving, playful landscape of emotive symbols.
## Interaction and Dynamic UX
EmojiHeatmap provides an engaging interaction model where users can explore different color-themed emoji landscapes simply by moving their cursor. The visuals respond to mouse drag actions, creating a seamless blend between user input and system-generated output. This makes the experience highly interactive, aligning with principles from UX, IxD, and HCI.
### How It Works
- **Perlin Noise:** The script leverages Perlin noise to create smooth transitions between different emoji categories, offering a natural flow to the movement and color transitions.
- **Emoji Categories:** Emojis are grouped into categories based on color, ensuring a consistent and visually appealing distribution of symbols.
- **Mouse Interaction:** User input is captured through mouse dragging, which shifts the Perlin noise field, altering the landscape in real-time.### Customization
The code is designed for easy customization, allowing designers and developers to tweak various aspects of the visualization:
- **Emoji Sets:** Modify the `EMOJI_CATEGORIES` to include your own set of emojis, grouped by any criteria you prefer (e.g., mood, theme, etc.).
- **Color Ranges:** Adjust the noise value ranges in the `getEmojiFromNoiseValue` function to change how different emojis appear based on the noise map.
- **Interaction Sensitivity:** The `mouseSensitivity` variable can be altered to make the interaction more or less responsive to user inputs.### Implications for Design
EmojiHeatmap opens up avenues for experimenting with visual feedback in interactive environments. It showcases how digital spaces can be made more expressive and engaging by incorporating playful elements like emojis. This tool could be particularly useful in UX design for creating moodboards, interactive backgrounds, or as a concept for dynamic data visualization.
---
Experiment with the code and see how altering different parameters can change the visual outcome. This tool is built to inspire exploration and creativity in designing interactive experiences.