Skip to content

Joint Project For 18CSE304J-Building Applications Using Open Source Augmented Reality And Virtual Reality SDKs

License

Notifications You must be signed in to change notification settings

issom-projdev/ARArt

This branch is up to date with prakharsing7/ARArt:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

0e8a470 · May 9, 2023

History

6 Commits
May 9, 2023
May 4, 2023
May 4, 2023
May 4, 2023

Repository files navigation

AR Art

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

About

Joint Project For 18CSE304J-Building Applications Using Open Source Augmented Reality And Virtual Reality SDKs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Swift 97.8%
  • Metal 2.2%