This repository contains program source code and data to reproduce the experiments in Sections 5.2 and 5.3 of the paper entitled "An interactive sketch-based CAD interface realizing geometrical and topological editing across multiple objects based on fuzzy logic."

Overview

Program source code and data

This repository contains program source code and data to reproduce the experiments in Sections 5.2 and 5.3 of the paper entitled "An interactive sketch-based CAD interface realizing geometrical and topological editing across multiple objects based on fuzzy logic." By executing commands with JDK 16 on Windows, macOS, or Linux, the experiments are reproduced step by step.

Contents

  • Kotlin source code of the implementation of the entire proposed process, including FSC generator, FSC blending, FSC fragmentation, FSC identifier, and IFGS
    • src/
      • main/kotlin/jumpaku/curves/experiment/DefaultModules.kt : FSC identifier
    • jumpaku-commons/src/
    • jumpaku-commons-test/src/
    • jumpaku-curves-core/src/
    • jumpaku-curves-core-test/src/
    • jumpaku-curves-fsc/src/
      • main/kotlin/jumpaku/curves/fsc/generate/Generator.kt : FSC generator
      • main/kotlin/jumpaku/curves/fsc/merge/Merger.kt : FSC blending
      • main/kotlin/jumpaku/curves/fsc/fragment/Fragmenter.kt : FSC fragmentation
      • main/kotlin/jumpaku/curves/fsc/experimental/snap/point/IFGS.kt : IFGS
    • jumpaku-curves-fsc-test/src/
    • jumpaku-curves-graphics/src/
  • Drawn stroke data files and parameter configuration files for the experiments
    • data/
  • Gradle project configuration files for executing commands
    • build.gradle
    • settings.gradle
    • gradle/
    • gradle.properties
    • gradlew
    • gradlew.bat
  • README file
    • README.md

Execution commands

In the directory where this README file is located, the following commands reproduce an experiment specified by <data name>. On each event of clicking the "Next" button in an opened window, the experiment is reproduced step by step.

  • Windows
gradlew.bat run --args="--data=<data name>"
  • macOS or Linux
./gradlew run --args="--data=<data name>"

<data name> can be set to one of the following strings:

  • Fig24A
  • Fig24B
  • Fig24C
  • Fig24D
  • Fig24E
  • Fig24F
  • Fig24G
  • Fig24H
  • Fig24I
  • Fig26
  • Fig29
  • Fig32

Examples of execution commands

  • Windows
java --version
# => openjdk 16.0.2 2021-07-20
# => OpenJDK Runtime Environment (build 16.0.2+7-67)
# => OpenJDK 64-Bit Server VM (build 16.0.2+7-67, mixed mode, sharing)
gradlew.bat run --args="--data=Fig32"
  • macOS
java --version
# => openjdk 16 2021-03-16
# => OpenJDK Runtime Environment (build 16+36-2231)
# => OpenJDK 64-Bit Server VM (build 16+36-2231, mixed mode, sharing)
./gradlew run --args="--data=Fig32"
  • Linux
java --version
# => openjdk 16.0.1 2021-04-20
# => OpenJDK Runtime Environment (build 16.0.1+9-Ubuntu-120.04)
# => OpenJDK 64-Bit Server VM (build 16.0.1+9-Ubuntu-120.04, mixed mode, sharing)
./gradlew run --args="--data=Fig32"

Drawn stroke data file format

A drawn stroke data file for each experiment contains a JSON array each element of which has a string named action and an object named drawingStroke.

  • action is "Edit" or "Pick", where "Edit" is for sketching and "Pick" for tapping.
  • drawingStroke has an array named paramPoints each element of which has an object named point and a number named param.
    • point has four numbers named x, y, z, and r.
      • x is an x-coordinate in pixel.
      • y is a y-coordinate in pixel.
      • z is always 0.0.
      • r is always 0.0.
    • param is a timestamp in second.

Parameter configuration file format

A parameter configuration file for each experiment contains a JSON object which has four numbers named width, height, baseGridSpacing, and baseGridFuzziness.

  • width is a width of a viewport in pixel.
  • height is a height of a viewport in pixel.
  • baseGridSpacing is a base grid spacing in pixel, which is used by IFGS.
  • baseGridFuzziness is a base grid fuzziness in pixel, which is used by IFGS.
You might also like...
Repository with source code from http://rosettacode.org/wiki/Category:Kotlin

Rosetta Code Kotlin This is a repository with the Kotlin source code from RosettaCode wiki. The main motivation for extracting all the code into a rep

This repo contains my solutions to some data structures and algorithms problems on leetcode.

DSA Playground This repository contains solutions to dsa problems in kotlin. NOTE: This file will get long, please consider using CtrlF DSA With Kun

 A program written entirely in Kotlin using the principles of Clean Architecture according to the MVVM pattern
A program written entirely in Kotlin using the principles of Clean Architecture according to the MVVM pattern

A program written entirely in Kotlin using the principles of Clean Architecture according to the MVVM pattern. An application that shows a list of ani

The first project for Udacity's Android Nanodegree through Egypt FWD program

The Shoe Store This project will consist of five screens. You don't have to create a shoe store, you can use any other item as long as you create the

This repository is a simple humidity and temperature dashboard to present data from sensors on your phone
This repository is a simple humidity and temperature dashboard to present data from sensors on your phone

ChilliBook This repository is a simple humidity and temperature dashboard to present data from sensors on your phone. It uses Bluetooth LE and an ESP3

It is a project that contains lessons and examples about Kotlin programming language. 🇰
It is a project that contains lessons and examples about Kotlin programming language. 🇰

Kotlin Tutorials What is Kotlin? I added the platforms it supports and great resources. You can access the article from the link below: https://medium

The app contains an order flow for cupcakes with options for quantity, flavor, and pickup date

Cupcake app This app contains an order flow for cupcakes with options for quantity, flavor, and pickup date. The order details get displayed on an ord

A simple android application for IQ tests, contains 40 questions and issues.
A simple android application for IQ tests, contains 40 questions and issues.

IQ-Android A simple android application for IQ tests, contains 40 questions and issues. Compatible with API Level 14 and higher Support only arabic la

📌This repo contains the kotlin implementation of TensorflowLite Example Android Apps🚀
📌This repo contains the kotlin implementation of TensorflowLite Example Android Apps🚀

TensorflowLite Examples Kotlin This repo contains the kotlin implementation of TensorflowLite Example Apps here, which are mostly implemented in java

Owner
Author of "An interactive sketch-based CAD interface realizing geometrical and topological editing across multiple objects based on fuzzy logic"
Author of
KoltinPulsar - A collection of experiments using Kotlin with Apache Pulsar

Some Experiments of using Kotlin and Apache Pulsar This is a collection of exper

Wayne Ellis 0 Jan 11, 2022
This folder contains the source code for the Words app codelab.

Words App This folder contains the source code for the Words app codelab. Introduction Words app allows you to select a letter and use Intents to navi

Ibrahim Alfaifi 0 Nov 8, 2021
This folder contains the source code for the Words app codelab.

Choose the letter, choose the word from a list then press it to google search for it. Ps. Learnt from Android-Basics-Kotlin powered by Google.

null 0 Nov 14, 2021
This folder contains the source code for the Words app codelab.

Words App This folder contains the source code for the Words app codelab. Introduction Words app allows you to select a letter and use Intents to navi

Bruna Medeiros dos Santos 0 Nov 25, 2021
This folder contains the source code for the Bus Scheduler app codelab

Bus Scheduler App This folder contains the source code for the Bus Scheduler app codelab. Introduction The Bus Scheduler app displays a list of bus st

null 0 Dec 9, 2021
This folder contains the source code for the Words app codelab

Words App This folder contains the source code for the Words app codelab. Introd

Исмоил 0 Jan 9, 2022
Kotlin microservices with REST, and gRPC using BFF pattern. This repository contains backend services. Everything is dockerized and ready to "Go" actually "Kotlin" :-)

Microservices Kotlin gRPC Deployed in EC2, Check it out! This repo contains microservices written in Kotlin with BFF pattern for performing CRUD opera

Oguzhan 18 Apr 21, 2022
This repository contains RabbitMQ Protobuf starters with its usage samples for spring-rabbit and spring-cloud-starter-stream-rabbit modules

This repository contains RabbitMQ Protobuf starters with its usage samples for spring-rabbit and spring-cloud-starter-stream-rabbit modules

Maksim Kostromin 2 Nov 29, 2021
This repository contains the Android Frontend part of our project

Android_Frontend This repository contains the Android Frontend part of our project. In this part of the project many extra features could be added. Bu

null 0 Jan 11, 2022
This repository contains event driven redis app uses redis streams

Spring Boot Redis Streams This repository contains event driven redis app uses redis streams Run redis in docker docker run --rm --name redis -itp6379

Maksim Kostromin 1 Dec 1, 2021