French Petite question sur la conversion d'un code VB6 en Basic4ppc

GallyHC

Member
Bonjour,

- Pouvez vous m'aidez sur la consersion d'un code que je n'arrive pas a adpter.

::: La partie Globale :
Sub Globals
dblPi = 3.14159265358979
Dim tabCos(-360 To 360) As Single
Dim tabSin(-360 To 360) As Single
End Sub

::: La fonction de création :
Sub setInitEngine()
'
For i=-360 To 360 Step 1
tabCos(i) = Sin((i/180) * dblPi)
tabSin(i) = Cos((i/180) * dblPi)
Next i

End Sub

Visiblement tabCos(-360 To 360) cela ne fonctionne pas. Alors comment faire pour obtenir une plage de -360 à 360.


- J'aurais une autre question sur les tableaux.

je declare dans les variable globale ( Dim Type (x,y,z) tabPlots(0) ), je me demande comment dynamiquement augmenter la taille du tableau cela veu dire que tabPlots() augmente en fonction de mes besoins (en fonction du nombre de point dans un fichier).

merci d'avance
GallyHC
 

EdQas

Member
Licensed User
vb6 vers b4ppc

Bonjour,
Toute question est toujours la bienvenue comme les réponses d'ailleurs.
Cependant, la partie française de ce forum est bien calme.
Je vous conseille de rédiger votre question en anglais et de la poster dans le forum général. Réponse assurée !
Par ailleurs, mes connaissances ne me permettent pas de vous aider :sign0013:
Bon courage pour la progr.
Ed
 

colin9876

Active Member
Licensed User
vous ne pouvew pas avoir le numero negatif dans le dim

aussi sin et cos repeter; par example sin (-45) est la meme que sin(-45+360) alors 0-360 est tout que on a bensoin de

dim tabsin(360) as Single
dim tabcos(360) as Single

for i=0 to 359
tabsin(i)=sin(dblPI*i/180)
tabcos(i)=cos(dblPI*i/180)
next

etc

puis si vous cherchez une angle moins de 0, add 360 etc
 
Last edited:

colin9876

Active Member
Licensed User
?

Aussi je suis curious porquoi tu veux store dans un array le sin et cos en advance

c est plus facilile de calculate as required n est pas?


excuse mon francais je ne sais pas les mots STORE et AS REQUIRED, disez moi s il vous plait?
 

GallyHC

Member
Hello,

no problem for your English and my english is bad ;-)

this code is just a precalcule the cos and sin not to overload the processor and win some time machine.

This is to test a small engine 3d
 

klaus

Expert
Licensed User
Je vois que pour la 1ère question il y a déjà pas mal de réponses.
Je m'étais aussi posé la question pourquoi un tableau de -360 à +360 ?
J'ai effectué un petit test, l'appel à une valeur du tableau est environ 3 fois plus rapide que le calcul d'un sinus (compilé).

Concernant la 2ème question, j'ai essayé de répéter l'instruction
Dim Type (x,y,z) tabPlots(0)
une deuxième fois dans une routine. Mais ça ne fonctionne pas.
Une structure ne peut être déclarée qu'une fois dans Global.

Je vous propose de poser la question sur le forum anglais. Erel, le concepteur du logiciel, pourra mieux vous indiquer ce qui est faisable ou non.

Salutations.
 

alea46

Member
Licensed User
petite traduction pour un expert anglophone

pour colin9876:

Store = stocker= mémoriser dans ce cas précis.

As required = comme demander = comme exigé,
 

klaus

Expert
Licensed User
Désolé j'avais mal lu et mal interprété votre message.

Je me souviens avoir utilisé le même principe il y a pas mal d'années quand les ordinateurs étaient nettement plus lents qu'aujoud'hui.

Le seul désavantage est que dans votre cas la résolution n'est 'que' de 1 degré, mais ce n'est qu'une question de taille de la table.

Salutations.
 
Top