Disegnare un cerchio più grande possibile all'interno di un poligono - JSXGRAPH

1

Riesco a creare un cerchio all'interno di un triangolo con questo codice, ma il cerchio all'interno di altri poligoni non è la dimensione massima:

var p1 = board.create("point", [0.0, 2.0]);
var p2 = board.create("point", [2.0, 1.0]);

//var pol = board.create("regularpolygon", [p1, p2, 3]);
var pol = board.create("regularpolygon", [p1, p2, 4]);
//var pol = board.create("regularpolygon", [p1, p2, 5]);

board.create("incircle", pol.vertices);

Qual è il modo più semplice per disegnare un cerchio massimo all'interno di quadrato e pentagono?

Che ne dici del più piccolo cerchio attorno al poligono?

    
posta MarkokraM 26.09.2013 - 09:03
fonte

2 risposte

8

Questo è il motivo per cui il corso di geometria al liceo ti ha fatto passare tutto quel tempo a disegnare cose.

Assumendo un poligono regolare (tutti i lati della stessa lunghezza, tutti gli "angoli" dello stesso angolo), è immediatamente ovvio che i centri del cerchio più grande inscritto e il cerchio circoscritto più piccolo sono identici e sono dati dalla media aritmetica vettoriale di i vertici del poligono.

Il più piccolo cerchio inscritto tocca il poligono nel punto medio di ciascun bordo. Il raggio è quindi dato dalla distanza dal centro al punto medio di qualsiasi bordo del poligono.

Il più piccolo cerchio circoscritto tocca il poligono in ogni vertice. Il raggio è la distanza dal centro a qualsiasi vertice del poligono.

    
risposta data 26.09.2013 - 11:41
fonte
0
// two points for the side of the polygon
var p1 = board.create("point", [0.0, 0.0], point_props);
var p2 = board.create("point", [4.0, 0.0], point_props);

// square polygon has 4 regular sides
var pl = board.create("regularpolygon", [p1, p2, 4]);

// center point of the polygon
var cp = board.create("circumcenter", pl.vertices);

// for incircle get middle point of the side
var mp = board.create("midpoint", [p1, p2]);
board.create("circle", [cp, mp]);

// for outcircle use either p1 or p2
board.create("circle", [cp, p1]);
    
risposta data 26.09.2013 - 14:29
fonte

Leggi altre domande sui tag