3D триангуляция Делоне: найти тетраэдр, заключающий в себе точку запроса

Вот как мы это сделали. Ниже приведены два класса примеров:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.kafka.annotation.EnableKafka;
@EnableKafka
@Configuration
@EnableConfigurationProperties(KafkaConsumerProperties.class)
public class KafkaContainerConfig {

    @Autowired
    protected KafkaConsumerProperties kafkaConsumerProperties;

    @Bean
    public ConsumerFactory<String, String> consumerFactory() {
        return new DefaultKafkaConsumerFactory<>(kafkaConsumerProperties.getKafkaConsumerConfig());
    }
...

@Configuration
@ConfigurationProperties
public class KafkaConsumerProperties {
    protected Map<String, Object> kafkaConsumerConfig = new HashMap<>();

    @ConfigurationProperties("kafkaConsumerConfig")
    public Map<String, Object> getKafkaConsumerConfig() {
        return (kafkaConsumerConfig);
    }
...

Чтобы предоставить конфигурацию kafkaConsumer из файла свойств, вы можете использовать: mapname [key] = значение

//application.properties
kafkaConsumerConfig[bootstrap.servers]=localhost:9092, localhost:9093, localhost:9094
kafkaConsumerConfig[group.id]=test-consumer-group-local
kafkaConsumerConfig[value.deserializer]=org.apache.kafka.common.serialization.StringDeserializer
kafkaConsumerConfig[key.deserializer=org.apache.kafka.common.serialization.StringDeserializer

Чтобы предоставить kafkaConsumer config из файла yaml, вы можете использовать «[ключ]»: значение В файле application.yml:

kafkaConsumerConfig:
  "[bootstrap.servers]": localhost:9092, localhost:9093, localhost:9094
  "[group.id]": test-consumer-group-local
  "[value.deserializer]": org.apache.kafka.common.serialization.StringDeserializer
  "[key.deserializer]": org.apache.kafka.common.serialization.StringDeserializer
1
задан Kromster 16 January 2019 в 08:16
поделиться

2 ответа

Этот пример показывает, как использовать функцию locate() для трехмерной триангуляции CGAL. Если вам нужно ускорить локацию, а не строительство, вы можете установить параметр LP из Delaunay_triangulation_3 в CGAL::Fast_location.

0
ответ дан sloriot 16 January 2019 в 08:16
поделиться

Подсказка:

In Green & amp; По методу Сибсона для 2D Делоне они осуществляют поиск ближайшего соседа, начиная от центра облака и следуя по краям триангуляции к цели. Для равномерных распределений точек это приводит к стоимости √N операций за поиск.

Я считаю, что этот принцип может быть обобщен на тетраэдризации и будет соответствовать стоимости ³√N. Не так хорошо, как журнал N, но все равно привлекательно. Если точки запроса не являются случайными, но остаются локализованными, запуск с предыдущей точки может еще больше сократить время запроса.

0
ответ дан Yves Daoust 16 January 2019 в 08:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: