Перейти на страницу файла на Викискладе

Файл:Regression circulaire coope arc de cercle.svg

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Исходный файл(SVG-файл, номинально 442 × 363 пкс, размер файла: 20 КБ)

 
W3C-validity not checked.

Краткое описание

Описание
English: Circle fitting, the points describing only an arc. Kåsa and Coope linear algorithm (method of the algebraic distance). The real values are:
  • C(1 ; 1);
  • r = 4.
Created with Scilab, modified with Inkscape.
Français : Régression circulaire sur des points ne décrivant qu'un arc. Algorithme linéaire de Kåsa et Coope (méthode de la distance algébrique). Les valeurs réelles sont :
  • C(1 ; 1) ;
  • r = 4.
Créé avec Scilab, modifié avec Inkscape.
Дата
Источник Собственная работа
Автор Cdang (Christophe Dang Ngoc Chan)

Scilab source

Crée les données et les enregistre dans le fichier arc_cercle_bruite.txt.

// **********
// Initialisation
// **********

clear;
chdir('monchemin/');

// **********
// Constantes
// **********

// paramètres de l'arc de cercle
centre=[1;1];
rayon = 4;
angle = %pi/3:0.1:2*%pi/3;

// paramètres du bruit
var = 0.05;

// **********
// Programme principal
// **********

// génération des données
ligne_rayon_bruite = rayon + var*rand(angle,'norm');
foo = [cos(angle);sin(angle)].* ...
    [ligne_rayon_bruite;ligne_rayon_bruite];
arc_cercle_bruite(1,:) = centre(1) + foo(1,:);
arc_cercle_bruite(2,:) = centre(2) + foo(2,:);

clf
plot(arc_cercle_bruite(1,:), arc_cercle_bruite(2,:), '+')
write('arc_cercle_bruite.txt', arc_cercle_bruite')

Lit les données de arc_cercle_bruite.txt et effectue la régression circulaire.

// **********
// Initialisation
// **********
 
clear;
chdir('monchemin/')
 
// **********
// fonctions
// **********
 
// régression circulaire linéaire
 
function [C, r, R]=regression_circulaire(X, Y)
    // X, Y : points expérimentaux (vecteurs ligne)
    // C : coordonnées du centre du cercle (vecteur)
    // r : rayon du cercle (scalaire)
    A = [X ; Y];
    d = X.^2 + Y.^2;
    // xetoile = 2*xcentre
    // yetoile = 2*ycentre
    // zetoile = r^2 - (xcentre^2 + ycentre^2)
    [xyetoile, zetoile, sigma] = reglin(A, d);
    C = 0.5*xyetoile;
    r = sqrt(zetoile + C(1)^2 + C(2)^2);
    // A'\d' si l'on ne s'intéresse pas à l'écart
    R = sigma;
endfunction
 
// **********
// programme principal
// **********
 
// lecture des données
 
// Xdef, Ydef : vecteurs ligne
donnees = read('arc_cercle_bruite.txt', -1, 2)';
Xdef = donnees(1,:);
Ydef = donnees(2,:);
 
// regression
[centre, rayon, ecart] = regression_circulaire(Xdef, Ydef)
 
// tracé
 
clf;
// points
plot2d(Xdef, Ydef, style = -1) //, frameflag=4)
isoview(-2, 4, 1, 6);
xstring(-1.5, 5.5, 'C('+string(centre(1))+' ; '+string(centre(2))+') ; r = '+string(rayon))
// modèle
plot(centre(1), centre(2), 'r+')
diametre = 2*rayon;
xarc(centre(1) - rayon, centre(2) + rayon,...
    diametre, diametre,...
    0, 360*64)
a = get('hdl'); // ellipse
a.foreground = 5; // couleur
 
 
print(%io(2), centre)
print(%io(2), rayon)
print(%io(2), ecart)

Лицензирование

Я, владелец авторских прав на это произведение, добровольно публикую его на условиях следующей лицензии:
Creative Commons CC-Zero Этот файл доступен на условиях Creative Commons CC0 1.0 Универсальной передачи в общественное достояние (Universal Public Domain Dedication).
Лица, связанные с работой над этим произведением, решили передать данное произведение в общественное достояние, отказавшись от всех прав на произведение по всему миру в рамках закона об авторских правах (а также связанных и смежных прав), в той степени, которую допускает закон. Вы можете копировать, изменять, распространять, исполнять данное произведение в любых целях, в том числе в коммерческих, без получения на это разрешения автора.

Краткие подписи

Добавьте однострочное описание того, что собой представляет этот файл

Элементы, изображённые на этом файле

изображённый объект

У этого свойства есть некоторое значение без элемента в

История файла

Нажмите на дату/время, чтобы посмотреть файл, который был загружен в тот момент.

Дата/времяМиниатюраРазмерыУчастникПримечание
текущий15:51, 7 декабря 2012Миниатюра для версии от 15:51, 7 декабря 2012442 × 363 (20 КБ)Cdang{{Information |Description ={{en|1=Circle fitting, the points describing only a bow. Coope linear algorithm. The real values are: * C(1 ; 1); * ''r'' = 4. Created with Scilab, modified with Inkscape.}} {{fr|1=Régression circulaire sur des points d ...

Следующая страница использует этот файл:

Глобальное использование файла

Данный файл используется в следующих вики:

Метаданные