Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Qrevo Curv 2 Flow è l'ultima novità di casa Roborock per la pulizia di casa: un robot completo, forte di un sistema di lavaggio dei pavimenti basato su rullo che si estende a seguire il profilo delle pareti abbinato ad un potente motore di aspirazione con doppia spazzola laterale
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Abbiamo guidato per diversi giorni la Alpine A290, la prima elettrica del nuovo corso della marca. Non è solo una Renault 5 sotto steroidi, ha una sua identità e vuole farsi guidare
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Abbiamo provato a fondo il nuovo Magic 8 Lite di HONOR, e per farlo siamo volati fino a Marrakech , dove abbiamo testato la resistenza di questo smartphone in ogni condizione possibile ed immaginabile. Il risultato? Uno smartphone praticamente indistruttibile e con un'autonomia davvero ottima. Ma c'è molto altro da sapere su Magic 8 Lite, ve lo raccontiamo in questa recensione completa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 25-05-2007, 19:49   #1
DrZoidberg
Senior Member
 
Iscritto dal: Jan 2006
Messaggi: 326
[C] Curve di Bèzier e B-Spline

Salve...sto facendo un programma in C che disegna una curva di Bèzier e una curva B-Spline! Ho i punti x i quali devono passare queste curve...mi manca solo disegnarle ma nn ho la minima idea di come posso fare!!!
Come funzionano le OpenGL ?? Sono completamente ignorante a riguardo...spero che qualcuno possa aiutarmi!!!

Grazieee
DrZoidberg è offline   Rispondi citando il messaggio o parte di esso
Old 26-05-2007, 15:08   #2
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
premesso che sono completamente ignorante circa il lato matematico delle curve che hai nominato.

se non sei costretto ad usare OpenGL e se sei su Windows puoi provare alcune API della GDI:
http://msdn2.microsoft.com/en-us/library/ms534244.aspx
http://msdn2.microsoft.com/en-us/library/ms534265.aspx
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 26-05-2007, 17:37   #3
okay
Senior Member
 
Iscritto dal: Feb 2002
Messaggi: 906
Quote:
Originariamente inviato da DrZoidberg Guarda i messaggi
Salve...sto facendo un programma in C che disegna una curva di Bèzier e una curva B-Spline! Ho i punti x i quali devono passare queste curve...mi manca solo disegnarle ma nn ho la minima idea di come posso fare!!!
Come funzionano le OpenGL ?? Sono completamente ignorante a riguardo...spero che qualcuno possa aiutarmi!!!

Grazieee
sono interessato al tuo code.

E' uno degli ultimi argomenti che dovrò affrontare tra un pò, sto ultimando l'editor del motore grafico, devo implementare algoritmi per la navmesh... e il tuo code potrebbe essermi utile. Ho terminato l'AI per il personaggio e i nemici tramite spline in 3ds max con algoritmo pathfinder *A.
Quindi sarei interessato alle curve e curioso alle b-spline facendo fare delle curve, ai "nemici" + realistiche tra un waypoint e l'altro.

Se vuoi posso integrarlo, in un attimo in directx, in quanto non uso opengl.

ti interessa?

Ultima modifica di okay : 26-05-2007 alle 17:41.
okay è offline   Rispondi citando il messaggio o parte di esso
Old 27-05-2007, 12:19   #4
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Mi inserisco nel thread per fare una domanda sulle B-Spline:
avrei bisogno di usarle per interpolare dei dati, però dovrei generare delle B-Spline del 13° ordine a partire dai dati di partenza (mi sono perso per strada nei conti già al 5° ordine nel tentativo di tirare fuori la formula).
Che codice usate per creare le B-Spline?
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2007, 11:15   #5
DrZoidberg
Senior Member
 
Iscritto dal: Jan 2006
Messaggi: 326
Quote:
Originariamente inviato da 71104 Guarda i messaggi
premesso che sono completamente ignorante circa il lato matematico delle curve che hai nominato.

se non sei costretto ad usare OpenGL e se sei su Windows puoi provare alcune API della GDI:
http://msdn2.microsoft.com/en-us/library/ms534244.aspx
http://msdn2.microsoft.com/en-us/library/ms534265.aspx

Scusa ma sono davvero ignorante in tema! Come faccio ad utilizzare queste API ?
DrZoidberg è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2007, 12:11   #6
cipi
Senior Member
 
L'Avatar di cipi
 
Iscritto dal: May 2002
Città: udine
Messaggi: 546
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Mi inserisco nel thread per fare una domanda sulle B-Spline:
avrei bisogno di usarle per interpolare dei dati, però dovrei generare delle B-Spline del 13° ordine a partire dai dati di partenza (mi sono perso per strada nei conti già al 5° ordine nel tentativo di tirare fuori la formula).
Che codice usate per creare le B-Spline?
Ciao, spero vi possa aiutare... B-spline che ho implementato per un corso all'univ... E' in matlab. Ciao
Codice:
function [p] = bezier(Data,n_punti)

% BEZIER
% 
%  Plot a Bezier curve and gives the x-y coordinates as output
%  Version Beta 1.0, March 2 2006
%
%     [A] = BEZIER(ControlPoints,CurvePoints)
%    [mx2]          [nx2]            [m]
%  by:
%  Dipartimento di Ingegneria Meccanica
%  Universita' degli Studi di Trieste
%  Mattia Ciprian, Valentino Pediroda


% check input data
[PuntiControllo,dimension] = size(Data);
if dimension~=2,
    error('(BEZIER) Wrong Data Format. It has to be [n x 2]')
end
% inizializzazione
p = [];
t=0;
step = 1/(n_punti-1);
grado = PuntiControllo-1; % grado_curva + 1 <---> n punti di controllo

for t=0:step:1,
    p(end+1,:)=zeros(1,2);
    for j=1:PuntiControllo,
        p(end,1)=p(end,1)+Data(j,1)*(t^(j-1))*((1-t)^(grado+1-j))*nchoosek(grado,j-1);
        p(end,2)=p(end,2)+Data(j,2)*(t^(j-1))*((1-t)^(grado+1-j))*nchoosek(grado,j-1);
    end
end
__________________
a chi non piace il vino... dio neghi anche l'acqua!
DELL Latitude E4300, iPhone 6
cipi è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2007, 12:17   #7
cipi
Senior Member
 
L'Avatar di cipi
 
Iscritto dal: May 2002
Città: udine
Messaggi: 546
Dimenticavo, a chi interessasse qui c'è la teoria:
http://www.univ.trieste.it/~dipenerg...rizzazione.pdf
__________________
a chi non piace il vino... dio neghi anche l'acqua!
DELL Latitude E4300, iPhone 6
cipi è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2007, 20:33   #8
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da cipi Guarda i messaggi
Ciao, spero vi possa aiutare... B-spline che ho implementato per un corso all'univ... E' in matlab. Ciao
Codice:
function [p] = bezier(Data,n_punti)

% BEZIER
% 
%  Plot a Bezier curve and gives the x-y coordinates as output
%  Version Beta 1.0, March 2 2006
%
%     [A] = BEZIER(ControlPoints,CurvePoints)
%    [mx2]          [nx2]            [m]
%  by:
%  Dipartimento di Ingegneria Meccanica
%  Universita' degli Studi di Trieste
%  Mattia Ciprian, Valentino Pediroda


% check input data
[PuntiControllo,dimension] = size(Data);
if dimension~=2,
    error('(BEZIER) Wrong Data Format. It has to be [n x 2]')
end
% inizializzazione
p = [];
t=0;
step = 1/(n_punti-1);
grado = PuntiControllo-1; % grado_curva + 1 <---> n punti di controllo

for t=0:step:1,
    p(end+1,:)=zeros(1,2);
    for j=1:PuntiControllo,
        p(end,1)=p(end,1)+Data(j,1)*(t^(j-1))*((1-t)^(grado+1-j))*nchoosek(grado,j-1);
        p(end,2)=p(end,2)+Data(j,2)*(t^(j-1))*((1-t)^(grado+1-j))*nchoosek(grado,j-1);
    end
end
Però a me servono le BSpline (al momento mi accontenterei delle C1) perchè deve passare per tutti i punti di partenza.
A suo tempo andai a riprendere gli appunti di analisi numerica, ma tirare fuori la formula per il 13° ordine è follia, oltretutto senza usare tool di calcolo esterni
tomminno è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Roborock Qrevo Curv 2 Flow: ora lava con un rullo Roborock Qrevo Curv 2 Flow: ora lava con un rull...
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite Alpine A290 alla prova: un'auto bella che ti fa ...
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile Recensione HONOR Magic 8 Lite: lo smartphone ind...
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
L'intelligenza artificiale ha reso pi&ug...
L'intelligenza artificiale per lo svilup...
Il sistema di verifica dell'identit&agra...
Ora è ufficiale: Samsung sta per ...
Motorola Edge 70 Fusion: ecco le specifi...
8TB a meno di 170€: il richiestissimo Ha...
Il nuovo MacBook 'low cost' arriver&agra...
Pokémon Rosso Fuoco e Verde Fogli...
Risparmiare con le offerte Amazon: weeke...
Gli Xiaomi 17 arrivano a fine febbraio, ...
48.000 Pa a poco più di 100€: la ...
PC più potente, meno spesa: su Amazon to...
Con 2 acquisti si ottiene il 40% di scon...
Blocco VPN in Spagna durante le partite ...
ECOVACS DEEBOT T30C OMNI GEN2 torna a 34...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 22:14.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v