A minimal iOS app that displays 3d graphic art in AR.

Overview

AR Art Attractors

AppIcon

A minimal iOS AR(Augumented Reality) app that displays 3D graphic arts in AR. It uses attractor systems.

An attractor is a set of states toward which a dynamic system tends to evolve, for a wide variety of starting conditions and parameters of the system.

The project includes four attractors and default parameters. Using the UI, users can change the parameters and find chaotic strange solutions. And also, they can modify the number of points ,animation speed, and colors, as they like.

  1. Clifford attractor
  2. de Jong attractor
  3. Hopalong attractor
  4. Lorenz attractor

The project:

  • Xcode 13.4, Swift 5.5 (Swift Concurrency)
  • Target: iOS / iPadOS 15.0 and later, macOS 12.0 and later on Apple Silicon
  • Frameworks: SwiftUI, ARKit, RealityKit2, Metal

It shows:

  • Procedural geometry generation with RealityKit2
  • Custom Material generation with RealityKit2 and Metal
  • Concurrent calculation with SwiftUI and Swift Concurrency

One small triangular pyramid is generated for each point in an equation. The pyramid consists of four vertices and four triangles as the face. For example, when creating 300,000 points, 1200K vertices and 1200K triangles are generated. ARKit and RealityKit display these 3d geometries in the realtime AR scene.

The project is a minimal implementation. Please modify it and make your own AR app!

Image Image Image GIF

The structure:

  • Views: HomeView, FigureView, ARContainerView, etc.
  • ViewModel: FigureSet, Figure
  • AR Scene State Management: ARScene
  • 3D Model Management: ModelManager, AttractorModel
  • Data Model: Attractor, CliffordAttractor, etc.
  • Metal: MetalLibLoader, surfaceShader

Image

References

MIT License

You might also like...
A native iOS UI widget for adding Spokestack to any iOS app.
A native iOS UI widget for adding Spokestack to any iOS app.

A native iOS library for adding Spokestack to any iOS app. Installation Edit Podfile CocoaPods is a dependency manager for Cocoa projects. For usage a

Control Nvidia jetbot which is based on Jetson Nano via iOS app

jetbot-remote-control This is very basic example project which control Nvidia Jetbot remotely via iOS app Based on jetbot of Nvidia, adding sample sou

Turbo-iOS base project that's entirely driven from your backend Rails app.

Turbo-iOS base project that's entirely driven from your backend Rails app.

An iOS app/Safari extension to automagically redirect AMP links to their normal counterpart. Comes with a trusty dog.

Amplosion ⚡️ Amplosion is an iOS 15 and greater app that automagically redirects AMP links to their normal counterpart. AMP links can be super annoyin

Restoration tracking & research app for iOS
Restoration tracking & research app for iOS

Tugz Restoration tracking & research app for iOS For Android check out Tea Time Logger Several discussions on the restoration subreddit the idea of a

Custom MacBook login screen and pam modules using multipeer connectivity and usb hardware checks with iOS app for sign in.

Custom MacBook login screen and pam modules using multipeer connectivity and usb hardware checks with iOS app for sign in.

Mi Card App for Android & IOS in Flutter
Mi Card App for Android & IOS in Flutter

Mi Card Our Goal Now that you've seen how to create a Flutter app entirely from scratch, we're going to go further and learn more about how to design

Magic 8Ball App for Android & IOS in Flutter
Magic 8Ball App for Android & IOS in Flutter

Magic 8 Ball 🎱 Our Goal The objective of this challenge is to solidify what you've learn't in the Dicee tutorial. This app will guide you through the

This iOS App calculates the weight and balance for a P-3 Orion aircraft.

This iOS App calculates the weight and balance for CBP P-3 Orion aircraft.

Owner
Yasuhito Nagatomo
Freelance iOS app developer | AR ML
Yasuhito Nagatomo
LinearMouse - A minimal app to get rid of mouse acceleration on macOS

LinearMouse A minimal app to get rid of mouse acceleration on macOS. Features Reverse the direction of scrolling. Linear scrolling (disable scrolling

Jiahao Lu 1.6k Jan 7, 2023
An Xcode12 project for iOS that asynchronously downloads and displays xkcd comics

AsyncXKCD An Xcode12 project for iOS that asynchronously downloads and displays xkcd comics images and captions. It fills a UITableView as needed to k

Erik M. Buck 0 Nov 27, 2021
Displays your HomeKit temperature sensors in your menu bar

Temperature Glance Displays your HomeKit temperature sensors in your menu bar Screenshot Note This is a very simple app that I made for myself but dec

Fernando Bunn 15 Nov 14, 2022
Loads a list of campaigns from the internet and displays them

Campaign Browser Loads a list of campaigns from the internet and displays them. Dependency Management The project has some dependencies to third-party

null 0 Nov 9, 2021
Google-Blogger-iOS-App - Using Google Blogger API to build an iOS app like Medium

Google Blogger iOS App Using Google Blogger API to build an iOS app like Medium!

Ricky Chuang 9 Dec 13, 2022
Codepath-intro-prework - Hello World iOS App | Prework Project for CodePath Intro to Mobile App Development

Hello World iOS App App Description Prework Project for CodePath Intro to Mobile

null 0 Jan 25, 2022
Kushal Shingote 1 Feb 2, 2022
React Native Todo List example app which uses Redux for managing app state

react-native-redux-todo-list A sample todo list app developed by using React Native and Redux. How to run the app Install react-native If you don't ha

null 43 Oct 11, 2022
iOS's Stocks App clone written in React Native for demo purpose (available both iOS and Android).

FinanceReactNative iOS's Stocks App clone written in React Native for demo purpose (available both iOS and Android). Data is pulled from Yahoo Finance

kf 2k Dec 29, 2022
Project 03 I created for "iOS & Swift - The Complete iOS App Development Bootcamp"

Dicee This is the third project I created for "iOS & Swift - The Complete iOS App Development Bootcamp" Our Goal The objective of this tutorial is to

Lukas Goodfellow 0 Dec 23, 2021