OVH Cloud OVH Cloud

De la ligne droite

30 réponses
Avatar
LE TROLL
Bonjour,

Voici une petite photo qui "démontre" qu'en informatique, à cause des
pixels, une ligne n'est droite que dans trois cas, car on ne peut appliquer
des formules mathématiques (géométriques) sans tenir compte des contrainte
informatiques, surtout quand la théorie géométrique s'avère contraire à la
contrainte informatique.
En effet, sur une feuille, ou ailleurs, en théorie géométrique, si on trace
un segment de droite entre deux point ça donnera une ligne "droite", mais
cette théorie ne peux pas s'appliquer en informatique, sauf dans trois cas.
or quand on est dans un forum de programmation, on ne développe pas des
pseudo-formule mathématique qui déjà sont inutiles du fait qu'il existe des
fonctionnalités prédéfinies pour résoudre le problème, et qu'en plus elles
sont en quasi-totalité contraires aux contraintes informatiques !
Par exemple, si on demande comment faire une boucle, on ne produit pas les
théorie mathématiques sur l'addition et la soustraction, ni le code
assembleur in fine ayant servi à faire la boucle, mais seulement les
directives informatiques permettant de le faire (for, to, next), alors pour
la ligne en pixels ça ne fait pas exception, les pseudo savoirs
anglo-mathématiques ne relèvent pas de la programmation dans un forum en
langue française, sauf s'il n'y avait pas le choix, mais ici il y a
grandement le choix !

Voyez l'exemple :

http://cjoint.com/?bjmyxmk3gQ

Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.

10 réponses

1 2 3
Avatar
LE TROLL
Je ne comprends pas ce que tu veux dire ?
Le but était de démontrer que l'algorithme de VB pour dessiner une ligne,
provoque toujours le même traçage à coordonnées égales, et donc que cette
instruction se suffit.

Que voudrais-tu que le dessin fasse, et pour démontrer quoi ?

Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"at" a écrit dans le message de
news:4b49b9be$0$929$
LE TROLL vient de nous annoncer :
10/01/2010 10h03



je l'ai trouvé ton message sur

http://groups.google.com/group/microsoft.public.fr.vb/browse_thread/thread/ca2fd5c185f88dfe#

Car ton message ne passe pas avec news.orange.fr sans doute parce que tu
as mis des pièces jointes ?

Bon sinon ton programme ne redessine pas une ligne, il repasse par tous
les points possibles de la ligne et recupère la couleur à chaque fois. Ce
qui fait que si je dessine une ligne à l'execution

Line (100, 100)-(700, 400), QBColor(0)

avant qu'une autre ligne ne soit dessinée au hasard par ta formule

Line (x, y)-(x1, y1), QBColor(14)

et que ensuite on efface avec

me.cls

ton

For i = x To x1 ' écriture
For j = y To y1
PSet (i, j), c(i, j)
Next j
Next i

il redessine les deux lignes (!?), dont une est altérée (la 1ere) au cas
ou elle ne s'inscrit pas dans le champ de la deuxième. Donc ce n'est pas
au point :)

D'ailleurs si tu remplaces c(i,j) qui désigne la couleur récupérée par 0
(du noir) ça dessine un beau rectangle plein.

Bien essayé en tout cas.




Avatar
at
Le 10/01/2010, LE TROLL a supposé :
Je ne comprends pas ce que tu veux dire ?
Le but était de démontrer que l'algorithme de VB pour dessiner une ligne,
provoque toujours le même traçage à coordonnées égales, et donc que cette
instruction se suffit.

Que voudrais-tu que le dessin fasse, et pour démontrer quoi ?



Je n'ai pas l'impression que ton programme démontre de quoi est fait
l'algo pour dessiner une ligne. Tu ne fais que passer par tous les
points possibles d'une ligne déjà dessinée et ton programme récupère
chaque couleur de chaque point. La preuve, si je dessine une autre
ligne ton programme me donne aussi les points de cette ligne!

La question au départ de JP:

_________________________________________

supposons deux points sur une picturebox
je dessine une ligne droite entre ces deux points
comment connaitre la position de chaques pixels de cette droite

en faite c'est pour tester la couleur des pixels de cette droite
fictive
___________________________________________

Alors comme toi tu passes par l'ensemble des points possibles, tu ne
peux pas récupérer la couleur des points de la ligne ("droite fictive"
dans la question) et uniquement cette ligne.
Avatar
LE TROLL
Mais, il suffit de faire ce que j'ai fait, mais en traçant sur une forme
invisible, puis en ne restituant en matrice dans une liste, que les pixels
de la couleur connue de la ligne, c'est juste une adaptation.

Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"at" a écrit dans le message de
news:4b49cd73$0$17515$
Le 10/01/2010, LE TROLL a supposé :
Je ne comprends pas ce que tu veux dire ?
Le but était de démontrer que l'algorithme de VB pour dessiner une ligne,
provoque toujours le même traçage à coordonnées égales, et donc que cette
instruction se suffit.

Que voudrais-tu que le dessin fasse, et pour démontrer quoi ?



Je n'ai pas l'impression que ton programme démontre de quoi est fait
l'algo pour dessiner une ligne. Tu ne fais que passer par tous les points
possibles d'une ligne déjà dessinée et ton programme récupère chaque
couleur de chaque point. La preuve, si je dessine une autre ligne ton
programme me donne aussi les points de cette ligne!

La question au départ de JP:

_________________________________________

supposons deux points sur une picturebox
je dessine une ligne droite entre ces deux points
comment connaitre la position de chaques pixels de cette droite

en faite c'est pour tester la couleur des pixels de cette droite fictive
___________________________________________

Alors comme toi tu passes par l'ensemble des points possibles, tu ne peux
pas récupérer la couleur des points de la ligne ("droite fictive" dans la
question) et uniquement cette ligne.




Avatar
at
LE TROLL a utilisé son clavier pour écrire :
Mais, il suffit de faire ce que j'ai fait, mais en traçant sur une forme
invisible, puis en ne restituant en matrice dans une liste, que les pixels de
la couleur connue de la ligne, c'est juste une adaptation.



Donc maintenant il te faut la couleur de pixels de la ligne invisible ?
La demande est de connaître la couleur de pixels existants sur un
tracé.
Avatar
at
at a formulé ce dimanche :
LE TROLL a utilisé son clavier pour écrire :
Mais, il suffit de faire ce que j'ai fait, mais en traçant sur une forme
invisible, puis en ne restituant en matrice dans une liste, que les pixels
de la couleur connue de la ligne, c'est juste une adaptation.






Je rectifie, j'ai pigé ton idée.
Avatar
LE TROLL
Salut At,

Ah, enfin, mieux vaut tard que jamais, non, je plaisante :o)

Mais il faut dire que tu sembles être le seul à avoir bien voulu te
pencher sur ce que j'écrivais, les autres il se sont dit, ah le Troll =
zéro, l'autre machin qui vient une fois tous les six mois étaler sa
pseudo-science ne peut qu'avoir raison !
C'est ça qui m'a agacé, je pensais avoir donné la solution VB, et l'autre
arrive avec une formule incongrue ici, et ma réponse disparaît, s'il y a
formule, ça ne peut qu'être la bonne solution, navrant !

En effet, si tu as les coordonnées et si tu refais le tracé, tu disposes
ensuite de la matrice du tracé (pixel + couleur), reportable ailleurs, la
solution la plus vraisemblable est ici, avec les fonctionnalités VB, on n'a
pas à appliquer une formule, à mon sens.
Toutefois j'en conviens, avec VB il faut tracer, avec la formule il n'y a
pas besoin, mais on est en VB, on tente d'abord de résoudre avec VB, sinon
on fait de l'Assembleur et des mathématiques, et on dessine ses objets,
etc...
Sinon, dans une phrase, on peut la commencer en français, y mettre un peu
d'anglais au milieu, les adjectifs en latin, et la fin en chinois, après
tout...

Reste à savoir pourquoi il veut la couleur du tracé d'une ligne, dans la
mesure où cette ligne a bien été tracé, on doit donc en remontant à
l'origine, savoir avec quelle couleur ou l'a tracée, même s'il y a plusieurs
couleurs, déjà là c'est ténébreux, car il ne s'agit pas de tenter de
dénicher une ligne dans un dessin, on possède tout, la question est donc :
pourquoi on possède les coordonnées et pas la couleur, va comprendre, un mec
s'est tiré en emportant les données de la couleur, il est recherché ?

Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"at" a écrit dans le message de
news:4b4a1a34$0$927$
at a formulé ce dimanche :
LE TROLL a utilisé son clavier pour écrire :
Mais, il suffit de faire ce que j'ai fait, mais en traçant sur une forme
invisible, puis en ne restituant en matrice dans une liste, que les
pixels de la couleur connue de la ligne, c'est juste une adaptation.






Je rectifie, j'ai pigé ton idée.




Avatar
Driss HANIB
Salut Jean Marc

Allez ne parts pas dans des explications qui le dépasse.
Comme on dit " on ne peux pas faire boire un ane qui n'a pas soif".
Le TROLL détient toujours La Vérité !
Il va falloir appeler Chuk Norris : il ne doit en rester qu'un seul ! o:)

Driss


"Jean-Marc" a écrit dans le message de news:

On 9 jan, 12:38, "LE TROLL" <le wrote:
Bonjour,



Hello :-)

Voici une petite photo qui "démontre" qu'en informatique, à cause des
pixels, une ligne n'est droite que dans trois cas,



=> Super :-) On a tous vraiment appris quelque chose, là, merci à
toi !

car on ne peut appliquer
des formules mathématiques (géométriques) sans tenir compte des contrainte
informatiques,



=> C'est ce que TU crois; la réalité est toute autre. Mais passons.

surtout quand la théorie géométrique s'avère contraire à la
contrainte informatique.



=> Hmmm.. Problèmes de compréhension.

En effet, sur une feuille, ou ailleurs, en théorie géométrique, si on
trace
un segment de droite entre deux point ça donnera une ligne "droite", mais
cette théorie ne peux pas s'appliquer en informatique, sauf dans trois
cas.



=> Non.

or quand on est dans un forum de programmation, on ne développe pas des
pseudo-formule mathématique



=> Elle n'ont rien de "pseudo". Et ce n'est pas des maths, mais de
l'algorithmique.

qui déjà sont inutiles du fait qu'il existe des
fonctionnalités prédéfinies pour résoudre le problème, et qu'en plus elles
sont en quasi-totalité contraires aux contraintes informatiques !



=> Justement non.

Par exemple, si on demande comment faire une boucle, on ne produit pas les
théorie mathématiques sur l'addition et la soustraction, ni le code
assembleur in fine ayant servi à faire la boucle, mais seulement les
directives informatiques permettant de le faire (for, to, next),



=> Oui et non. C'est clair que à un débutant, on pourra simplement
répondre
For .. Next, mais si on veut aller voir un peu plus loin que le bout
de son nez,
il est utile (et dans certains contextes: nécessaire) de savoir
comment la
boucle sera traduite. Cela permet de comprendre en totalité le
problème et
parfois d'écrire un programme bien plus efficace.
J'en avais donné un exemple en expliquant le mécanisme sous jacent à
l'oeuvre
lorsqu'on concatène des chaines en VB avec l'opérateur "&". LA
compréhension
de ce qui se passe "sous le capot" permet de réaliser des
concaténations
de 100 à 1000 fois plus rapidement qu'avec la méthode naïve.

Conclusion(s):
1) Il est SOUVENT BON de chercher à comprendre
2) Il est TOUJOURS MIEUX de Savoir que de ne PAS savoir
3) La connaissance augmente lorsqu'on la partage

alors pour
la ligne en pixels ça ne fait pas exception, les pseudo savoirs
anglo-mathématiques



=> Il n'y a pas de "pseudo" savoir ici: l'algo cité dans le fil
précédent
est un classique pour tout informaticien. Et il n'a rien d'"anglo"...

ne relèvent pas de la programmation dans un forum en
langue française,



=> Ah bon ?? Et pour trier efficacement, tu n'as pas besoin de
connaitre
"quick sort" ? Et pour faire du pattern matching, du peux te passer de
l'algorithme de Boyer-Moore ?

Et le fait que les auteurs des algos en question soient anglophones
n'a
strictement rien à faire ici; un algo est un algo et sa traduction en
pseudo-code est linguistiquement neutre.

sauf s'il n'y avait pas le choix, mais ici il y a
grandement le choix !



=> Je ne vois pas en quoi citer l'algorithme de Bresenham dans un
forum de programmation serait hors-charte! C'est le monde à l'envers
que tu nous décrit la.

Blague à part, si tu n'aimes pas les maths, c'est ton droit le plus
strict et le plus absolu. Mais ce n'est pas une raison pour faire
du dénigrement systématique en usant en plus d'arguments spécieux;
ce n'est pas à ton honneur, désolé :-(

Cordialement,

--
Jean-Marc
Avatar
LE TROLL
Driss, bonjour,

Regarde en haut, du 10 à 10h02, j'ai déposé un code qui résout quasiment
le problème, si tu veux je le fais totalement pour le démontrer ?

Non, je n'ai pas toujours raison, hélas, sauf que nul ne m'a démontré
que j'avais tort ici, sinon, si on me le prouve, je le dis "j'ai tort",
reste à le prouver !

Ce qui est fabuleux, c'est que parce que c'est une formule, et que c'est
un mec qui vient tous les six mois (donc un inutile qui n'aide personne
ici), et qui est tellement démocrate qu'il a une liste noire pour ne pas
lire les gens biens comme moi, que tout le monde se range à la formule, sans
même examiner ce qu'en premier j'avais proposé, et qui a priori fonctionne,
y a de quoi pester !

Si c'est une formule c'est que c'est bon, et moins on la comprend
meilleure elle est : "Parfaitement Madame, évidemment que c'est vrai,
puisque c'est écrit dans le journal"... Je tente de dépasser ce stade... Les
théorèmes, oui... tout corps plongé dans un liquide ressort mouillé, ça
c'est certain.

Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"Driss HANIB" a écrit dans le message de
news:
Salut Jean Marc

Allez ne parts pas dans des explications qui le dépasse.
Comme on dit " on ne peux pas faire boire un ane qui n'a pas soif".
Le TROLL détient toujours La Vérité !
Il va falloir appeler Chuk Norris : il ne doit en rester qu'un seul ! o:)

Driss


"Jean-Marc" a écrit dans le message de news:

On 9 jan, 12:38, "LE TROLL" <le wrote:
Bonjour,



Hello :-)

Voici une petite photo qui "démontre" qu'en informatique, à cause des
pixels, une ligne n'est droite que dans trois cas,



=> Super :-) On a tous vraiment appris quelque chose, là, merci à
toi !

car on ne peut appliquer
des formules mathématiques (géométriques) sans tenir compte des
contrainte
informatiques,



=> C'est ce que TU crois; la réalité est toute autre. Mais passons.

surtout quand la théorie géométrique s'avère contraire à la
contrainte informatique.



=> Hmmm.. Problèmes de compréhension.

En effet, sur une feuille, ou ailleurs, en théorie géométrique, si on
trace
un segment de droite entre deux point ça donnera une ligne "droite", mais
cette théorie ne peux pas s'appliquer en informatique, sauf dans trois
cas.



=> Non.

or quand on est dans un forum de programmation, on ne développe pas des
pseudo-formule mathématique



=> Elle n'ont rien de "pseudo". Et ce n'est pas des maths, mais de
l'algorithmique.

qui déjà sont inutiles du fait qu'il existe des
fonctionnalités prédéfinies pour résoudre le problème, et qu'en plus
elles
sont en quasi-totalité contraires aux contraintes informatiques !



=> Justement non.

Par exemple, si on demande comment faire une boucle, on ne produit pas
les
théorie mathématiques sur l'addition et la soustraction, ni le code
assembleur in fine ayant servi à faire la boucle, mais seulement les
directives informatiques permettant de le faire (for, to, next),



=> Oui et non. C'est clair que à un débutant, on pourra simplement
répondre
For .. Next, mais si on veut aller voir un peu plus loin que le bout
de son nez,
il est utile (et dans certains contextes: nécessaire) de savoir
comment la
boucle sera traduite. Cela permet de comprendre en totalité le
problème et
parfois d'écrire un programme bien plus efficace.
J'en avais donné un exemple en expliquant le mécanisme sous jacent à
l'oeuvre
lorsqu'on concatène des chaines en VB avec l'opérateur "&". LA
compréhension
de ce qui se passe "sous le capot" permet de réaliser des
concaténations
de 100 à 1000 fois plus rapidement qu'avec la méthode naïve.

Conclusion(s):
1) Il est SOUVENT BON de chercher à comprendre
2) Il est TOUJOURS MIEUX de Savoir que de ne PAS savoir
3) La connaissance augmente lorsqu'on la partage

alors pour
la ligne en pixels ça ne fait pas exception, les pseudo savoirs
anglo-mathématiques



=> Il n'y a pas de "pseudo" savoir ici: l'algo cité dans le fil
précédent
est un classique pour tout informaticien. Et il n'a rien d'"anglo"...

ne relèvent pas de la programmation dans un forum en
langue française,



=> Ah bon ?? Et pour trier efficacement, tu n'as pas besoin de
connaitre
"quick sort" ? Et pour faire du pattern matching, du peux te passer de
l'algorithme de Boyer-Moore ?

Et le fait que les auteurs des algos en question soient anglophones
n'a
strictement rien à faire ici; un algo est un algo et sa traduction en
pseudo-code est linguistiquement neutre.

sauf s'il n'y avait pas le choix, mais ici il y a
grandement le choix !



=> Je ne vois pas en quoi citer l'algorithme de Bresenham dans un
forum de programmation serait hors-charte! C'est le monde à l'envers
que tu nous décrit la.

Blague à part, si tu n'aimes pas les maths, c'est ton droit le plus
strict et le plus absolu. Mais ce n'est pas une raison pour faire
du dénigrement systématique en usant en plus d'arguments spécieux;
ce n'est pas à ton honneur, désolé :-(

Cordialement,

--
Jean-Marc




Avatar
Jacques93
Bonjour Fred,
Le 10/01/2010 12:14, Fred a écrit :


"Jacques93" a écrit dans le message de groupe de
discussion :

Bonjour Fred, Le Retour ? :-)



Bonjour Jacques,
De passage seulement :-)



Dommage, mais passage remarqué ! Cependant je demande une petite
précision (fondamentale, bien sûr) :

Est ce que Jules-de-chez-Smith-en-face peut être considéré comme un point ?


<http://fr.wikipedia.org/wiki/Liste_des_personnages_de_Gaston#Jules-de-chez-Smith-en-face>

Et, tout aussi important, n'est ce pas dégradant pour Jules ?

--

Cordialement,

Jacques.
Avatar
Fred
"Jacques93" a écrit dans le message de groupe de
discussion :
Bonjour Fred,
Le 10/01/2010 12:14, Fred a écrit :


"Jacques93" a écrit dans le message de groupe de
discussion :

Bonjour Fred, Le Retour ? :-)



Bonjour Jacques,
De passage seulement :-)



Dommage, mais passage remarqué !



C'était une citation de Pierre Desproges, que j'ai honteusement plagié.

Cependant je demande une petite précision (fondamentale, bien sûr) :

Est ce que Jules-de-chez-Smith-en-face peut être considéré comme un
point ?



Oui, si l'on prend suffisamment de distance.

<http://fr.wikipedia.org/wiki/Liste_des_personnages_de_Gaston#Jules-de-chez-Smith-en-face>



Je connais mes classiques !

Et, tout aussi important, n'est ce pas dégradant pour Jules ?



Peut-être, mais à cette distance, peut m'importe qu'il en soit offusqué.


--
Fred

1 2 3